add haptic feedback and enable search options

This commit is contained in:
Kieran W 2024-03-22 13:46:10 +00:00
parent cc1535edcd
commit b5bfd08ffb
30 changed files with 113 additions and 39 deletions

View File

@ -24,13 +24,14 @@ tasks.register("genDocs") {
dependsOn("dokkaGfm")
doLast {
copy {
from("$ref/index.md")
into(ref)
from("${ref.get()}/index.md")
into(ref.get())
rename { "README.md" }
}
}
}
android {
compileSdk = 34
buildToolsVersion = "34.0.0"

View File

@ -50,6 +50,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
private var restoreOnClose = false
private var vertical = false
private var scroll = false
private var vibrate = false
private var iconsPerX = 0
private var iconSize = 0
@ -108,6 +109,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
this.restoreOnClose = this.sharedPreferences.getBoolean("restoreOnClose", false)
this.vertical = this.sharedPreferences.getBoolean("vertical", false)
this.scroll = this.sharedPreferences.getBoolean("scroll", false)
this.vibrate = this.sharedPreferences.getBoolean("vibrate", true)
this.iconsPerX = this.sharedPreferences.getInt("iconsPerX", 3)
this.totalIconPadding =
@ -247,7 +249,12 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
stickers = loadedPacks[packName]?.stickerList ?: return
}
val recyclerView = RecyclerView(this)
val adapter = StickerPackAdapter(iconSize, stickers, this, gestureDetector)
val adapter = StickerPackAdapter(
iconSize,
stickers,
this,
gestureDetector,
this.vibrate)
val layoutManager = GridLayoutManager(
this,
iconsPerX,
@ -299,6 +306,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
stickers.take(128).toTypedArray(),
this,
gestureDetector,
this.vibrate,
)
val layoutManager = GridLayoutManager(
baseContext,
@ -351,7 +359,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
val sText = buttonView.findViewById<TextView>(R.id.secondaryText)
sText.text = secondaryChar
button.setOnClickListener {
if (SDK_INT >= Build.VERSION_CODES.O_MR1) {
if (this.vibrate && SDK_INT >= Build.VERSION_CODES.O_MR1) {
it.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_PRESS)
}
tap((it.tag as Array<String>)[0])
@ -416,10 +424,14 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
closeKeyboard()
}
}
val searchButton = addPackButton("__search__")
searchButton.load(getDrawable(R.drawable.search_circle))
searchButton.setOnClickListener {
searchView()
// Search
if (this.sharedPreferences.getBoolean("showSearchButton", true)) {
val searchButton = addPackButton("__search__")
searchButton.load(getDrawable(R.drawable.search_circle))
searchButton.setOnClickListener {
searchView()
}
}
// Recent
val recentPackName = "__recentSticker__"

View File

@ -56,6 +56,8 @@ class MainActivity : AppCompatActivity() {
seekBar(findViewById(R.id.iconsPerXSb), findViewById(R.id.iconsPerXLbl), "iconsPerX", 3)
seekBar(findViewById(R.id.iconSizeSb), findViewById(R.id.iconSizeLbl), "iconSize", 80, 20)
toggle(findViewById(R.id.showBackButton), "showBackButton", true) {}
toggle(findViewById(R.id.showSearchButton), "showSearchButton", true) {}
toggle(findViewById(R.id.vibrate), "vibrate", true) {}
toggle(findViewById(R.id.vertical), "vertical") { isChecked: Boolean ->
findViewById<SeekBar>(R.id.iconSizeSb).isEnabled = !isChecked
}

View File

@ -1,6 +1,8 @@
package com.fredhappyface.ewesticker.adapter
import android.os.Build
import android.view.GestureDetector
import android.view.HapticFeedbackConstants
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
@ -15,6 +17,7 @@ class StickerPackAdapter(
private val stickers: Array<File>,
private val listener: StickerClickListener,
private val gestureDetector: GestureDetector,
private val vibrate: Boolean,
) :
RecyclerView.Adapter<StickerPackViewHolder>() {
@ -33,6 +36,9 @@ class StickerPackAdapter(
holder.stickerThumbnail.tag = stickerFile
holder.stickerThumbnail.setOnClickListener {
val file = it.tag as File
if (vibrate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
it.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_PRESS)
}
listener.onStickerClicked(file)
}
holder.stickerThumbnail.setOnLongClickListener {

View File

@ -175,6 +175,34 @@
android:text="@string/options_show_back_button" />
</LinearLayout>
<LinearLayout
style="@style/widthMatchHeightWrap"
android:orientation="horizontal">
<CheckBox
android:id="@+id/showSearchButton"
style="@style/checkbox" />
<TextView
style="@style/body_text"
android:paddingBottom="@dimen/content_margin"
android:text="@string/options_show_search_button" />
</LinearLayout>
<LinearLayout
style="@style/widthMatchHeightWrap"
android:orientation="horizontal">
<CheckBox
android:id="@+id/vibrate"
style="@style/checkbox" />
<TextView
style="@style/body_text"
android:paddingBottom="@dimen/content_margin"
android:text="@string/options_vibrate" />
</LinearLayout>
<LinearLayout
style="@style/widthMatchHeightWrap"
android:orientation="horizontal">

View File

@ -20,6 +20,8 @@
<!-- الخيارات -->
<string name="options_heading">الخيارات</string>
<string name="options_show_back_button">إظهار زر الرجوع في شريط التنقل</string>
<string name="options_show_search_button">تمكين البحث</string>
<string name="options_vibrate">تغذية هزازة عند الضغط على المفتاح</string>
<string name="options_vertical">استخدام تخطيط عمودي</string>
<string name="options_restore_on_close">استعادة لوحة المفاتيح السابقة عند إغلاق لوحة المفاتيح</string>
<string name="options_scroll">تمكين التمرير بين الحزم (عرضيًا لاتجاه التمرير)</string>

View File

@ -20,6 +20,8 @@
<!-- বিকল্পসমূহ -->
<string name="options_heading">বিকল্পসমূহ</string>
<string name="options_show_back_button">ন্যাভবারে ব্যাক বাটন দেখান</string>
<string name="options_show_search_button">অনুসন্ধান সক্ষম করুন</string>
<string name="options_vibrate">কী-প্রেসে হ্যাপটিক প্রতিক্রিয়া</string>
<string name="options_vertical">ভার্টিক্যাল লেআউট ব্যবহার করুন</string>
<string name="options_restore_on_close">কীবোর্ড বন্ধ হলে পূর্বের কীবোর্ড পুনরুদ্ধার করুন</string>
<string name="options_scroll">প্যাক মধ্যে স্বাইপ সক্রিয় করুন (স্ক্রল দিকে লম্ব)</string>

View File

@ -20,6 +20,8 @@
<!-- Optionen -->
<string name="options_heading">Optionen</string>
<string name="options_show_back_button">Zurück-Button in der Navigationsleiste anzeigen</string>
<string name="options_show_search_button">Suche aktivieren</string>
<string name="options_vibrate">Haptisches Feedback bei Tastendruck</string>
<string name="options_vertical">Vertikales Layout verwenden</string>
<string name="options_restore_on_close">Vorherige Tastatur wiederherstellen, wenn Tastatur geschlossen wird</string>
<string name="options_scroll">Wischen zwischen Packs aktivieren (senkrecht zur Scrollrichtung)</string>

View File

@ -20,6 +20,8 @@
<!-- Options -->
<string name="options_heading">Opciones</string>
<string name="options_show_back_button">Mostrar botón atrás en navbar</string>
<string name="options_show_search_button">Habilitar búsqueda</string>
<string name="options_vibrate">Comentarios hápticos al presionar teclas</string>
<string name="options_vertical">Usar layout vertical</string>
<string name="options_restore_on_close">Restaurar el teclado anterior al cerrar el teclado</string>
<string name="options_scroll">Habilitar el deslizamiento entre paquetes (perpendicular a la dirección de desplazamiento)</string>

View File

@ -19,6 +19,8 @@
<string name="update_sticker_pack_info_total_lbl">- Total:</string>
<string name="options_heading">Options</string>
<string name="options_show_back_button">Afficher le bouton dans la barre de navigation</string>
<string name="options_show_search_button">Activer la recherche</string>
<string name="options_vibrate">Retour haptique lors de lappui sur une touche</string>
<string name="options_vertical">Utiliser la mise en page verticale</string>
<string name="options_restore_on_close">Restaurer le clavier précédent en fermant le clavier</string>
<string name="options_scroll">Permet de glisser entre les paquets (perpendiculaire à la direction de défilement)</string>

View File

@ -19,6 +19,8 @@
<!-- Options -->
<string name="options_heading">विकल्प</string>
<string name="options_show_back_button">नैविगेशन बार में बैक बटन दिखाएं</string>
<string name="options_show_search_button">खोज सक्षम करें</string>
<string name="options_vibrate">कुंजी-दबाने पर हैप्टिक प्रतिक्रिया</string>
<string name="options_vertical">उद्देश्य खगोल उपयोग करें</string>
<string name="options_restore_on_close">कीबोर्ड बंद होने पर पिछली स्थिति को पुनर्स्थापित करें</string>
<string name="options_scroll">पैक के बीच स्वाइप को सक्षम करें (स्क्रॉल दिशा के पर्पेंडिक्युलर)</string>

View File

@ -20,7 +20,9 @@
<!-- Opsi -->
<string name="options_heading">Opsi</string>
<string name="options_show_back_button">Tampilkan tombol kembali di navbar</string>
<string name="options_vertical">Gunakan tata letak vertikal</string>
<string name="options_show_search_button">Aktifkan pencarian</string>
<string name="options_vibrate">Umpan balik haptik saat menekan tombol</string>
<string name="options_vertical">Gunakan tata letak vertikal</string>
<string name="options_restore_on_close">Pulihkan keyboard sebelumnya saat menutup keyboard</string>
<string name="options_scroll">Aktifkan swipe antara paket stiker (tegak lurus terhadap arah gulir)</string>
<string name="options_icons_per_x_lbl">"Jumlah Baris: "</string>

View File

@ -19,6 +19,8 @@
<!-- オプション -->
<string name="options_heading">オプション</string>
<string name="options_show_back_button">ナビゲーションバーに戻るボタンを表示</string>
<string name="options_show_search_button">検索を有効にする</string>
<string name="options_vibrate">キー操作時の触覚フィードバック</string>
<string name="options_vertical">垂直レイアウトを使用</string>
<string name="options_restore_on_close">キーボードを閉じた際に前回のキーボードを復元</string>
<string name="options_scroll">パック間をスワイプで切り替えるを有効にする(スクロール方向に対して垂直)</string>

View File

@ -20,6 +20,8 @@
<!-- 옵션 -->
<string name="options_heading">옵션</string>
<string name="options_show_back_button">네비게이션 바에 뒤로 가기 버튼 표시</string>
<string name="options_show_search_button">검색 활성화</string>
<string name="options_vibrate">키를 누를 때 햅틱 피드백</string>
<string name="options_vertical">수직 레이아웃 사용</string>
<string name="options_restore_on_close">키보드 닫을 때 이전 키보드 복원</string>
<string name="options_scroll">팩 간 스와이프 활성화 (스크롤 방향과 수직)</string>

View File

@ -19,6 +19,8 @@
<!-- Opções -->
<string name="options_heading">Opções</string>
<string name="options_show_back_button">Mostrar botão de voltar na barra de navegação</string>
<string name="options_show_search_button">Ativar busca</string>
<string name="options_vibrate">Feedback háptico ao pressionar teclas</string>
<string name="options_vertical">Usar layout vertical</string>
<string name="options_restore_on_close">Restaurar teclado anterior ao fechar o teclado</string>
<string name="options_scroll">Habilitar deslize entre pacotes (perpendicular à direção de rolagem)</string>

View File

@ -19,6 +19,8 @@
<!-- Опции -->
<string name="options_heading">Опции</string>
<string name="options_show_back_button">Показать кнопку назад в навигационной панели</string>
<string name="options_show_search_button">Ativar busca</string>
<string name="options_vibrate">Feedback háptico ao pressionar teclas</string>
<string name="options_vertical">Использовать вертикальное расположение</string>
<string name="options_restore_on_close">Восстановить предыдущую клавиатуру при закрытии</string>
<string name="options_scroll">Включить переключение между пакетами (перпендикулярно направлению прокрутки)</string>

View File

@ -20,6 +20,8 @@
<!-- اختیارات -->
<string name="options_heading">اختیارات</string>
<string name="options_show_back_button">نیویگیشن بار میں پیچھے جائیں کا بٹن دکھائیں</string>
<string name="options_show_search_button">تلاش کو فعال کریں</string>
<string name="options_vibrate">کی پریس پر ہیپٹک فیڈ بیک</string>
<string name="options_vertical">عمودی لے آؤٹ استعمال کریں</string>
<string name="options_restore_on_close">کی بورڈ بند ہونے پر پچھلا کی بورڈ بحال کریں</string>
<string name="options_scroll">پیک کے درمیان میں چھلانے کی اجازت دیں (سکرول کی سمت کے عمودی)</string>

View File

@ -20,6 +20,8 @@
<!-- 选项 -->
<string name="options_heading">选项</string>
<string name="options_show_back_button">在导航栏中显示返回按钮</string>
<string name="options_show_search_button">启用搜索</string>
<string name="options_vibrate">按键时触觉反馈</string>
<string name="options_vertical">使用垂直布局</string>
<string name="options_restore_on_close">在键盘关闭时还原上一个键盘</string>
<string name="options_scroll">启用在贴纸包之间滑动(垂直于滚动方向)</string>

View File

@ -20,6 +20,8 @@
<!-- 選項 -->
<string name="options_heading">選項</string>
<string name="options_show_back_button">在導航欄中顯示返回按鈕</string>
<string name="options_show_search_button">啟用搜尋</string>
<string name="options_vibrate">按鍵時觸覺回饋</string>
<string name="options_vertical">使用垂直佈局</string>
<string name="options_restore_on_close">在鍵盤關閉時還原先前的鍵盤</string>
<string name="options_scroll">啟用在貼圖包之間滑動(垂直於滾動方向)</string>

View File

@ -20,6 +20,8 @@
<!-- Options -->
<string name="options_heading">Options</string>
<string name="options_show_back_button">Show back button in navbar</string>
<string name="options_show_search_button">Enable search</string>
<string name="options_vibrate">Haptic feedback on key-press</string>
<string name="options_vertical">Use vertical layout</string>
<string name="options_restore_on_close">Restore previous keyboard on keyboard close</string>
<string name="options_scroll">Enable swipe between packs (perpendicular to scroll direction)</string>

View File

@ -2,7 +2,7 @@
plugins {
id("com.android.application") version "8.3.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("org.jetbrains.dokka") version "1.8.20"
id("org.jetbrains.dokka") version "1.9.20"
id("org.jlleitschuh.gradle.ktlint") version "11.6.0"
}

View File

@ -3,4 +3,4 @@
# StickerPackAdapter
[androidJvm]\
constructor(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html))
constructor(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html), vibrate: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))

View File

@ -3,13 +3,13 @@
# StickerPackAdapter
[androidJvm]\
class [StickerPackAdapter](index.md)(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html)) : [RecyclerView.Adapter](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter.html)&lt;[StickerPackViewHolder](../../com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/index.md)&gt;
class [StickerPackAdapter](index.md)(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html), vibrate: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [RecyclerView.Adapter](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter.html)&lt;[StickerPackViewHolder](../../com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/index.md)&gt;
## Constructors
| | |
|---|---|
| [StickerPackAdapter](-sticker-pack-adapter.md) | [androidJvm]<br>constructor(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html)) |
| [StickerPackAdapter](-sticker-pack-adapter.md) | [androidJvm]<br>constructor(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html), vibrate: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) |
## Functions

View File

@ -6,4 +6,4 @@
| Name | Summary |
|---|---|
| [StickerPackAdapter](-sticker-pack-adapter/index.md) | [androidJvm]<br>class [StickerPackAdapter](-sticker-pack-adapter/index.md)(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html)) : [RecyclerView.Adapter](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter.html)&lt;[StickerPackViewHolder](../com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/index.md)&gt; |
| [StickerPackAdapter](-sticker-pack-adapter/index.md) | [androidJvm]<br>class [StickerPackAdapter](-sticker-pack-adapter/index.md)(iconSize: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), stickers: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)&lt;[File](https://developer.android.com/reference/kotlin/java/io/File.html)&gt;, listener: [StickerClickListener](../com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md), gestureDetector: [GestureDetector](https://developer.android.com/reference/kotlin/android/view/GestureDetector.html), vibrate: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)) : [RecyclerView.Adapter](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter.html)&lt;[StickerPackViewHolder](../com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/index.md)&gt; |

View File

@ -1,6 +0,0 @@
//[app](../../../index.md)/[com.fredhappyface.ewesticker.utilities](../index.md)/[SharedPrefHelper](index.md)/[getStickerPacksFromPref](get-sticker-packs-from-pref.md)
# getStickerPacksFromPref
[androidJvm]\
fun [getStickerPacksFromPref](get-sticker-packs-from-pref.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;[StickerPack](../../com.fredhappyface.ewesticker.model/-sticker-pack/index.md)&gt;

View File

@ -1,12 +0,0 @@
//[app](../../../index.md)/[com.fredhappyface.ewesticker.utilities](../index.md)/[SharedPrefHelper](index.md)
# SharedPrefHelper
[androidJvm]\
object [SharedPrefHelper](index.md)
## Functions
| Name | Summary |
|---|---|
| [getStickerPacksFromPref](get-sticker-packs-from-pref.md) | [androidJvm]<br>fun [getStickerPacksFromPref](get-sticker-packs-from-pref.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;[StickerPack](../../com.fredhappyface.ewesticker.model/-sticker-pack/index.md)&gt; |

View File

@ -7,7 +7,6 @@
| Name | Summary |
|---|---|
| [Cache](-cache/index.md) | [androidJvm]<br>class [Cache](-cache/index.md)(capacity: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 30)<br>Basically this behaved like an ordered set with some maximum capacity. When this capacity is exceeded an element is removed from the start |
| [SharedPrefHelper](-shared-pref-helper/index.md) | [androidJvm]<br>object [SharedPrefHelper](-shared-pref-helper/index.md) |
| [StickerClickListener](-sticker-click-listener/index.md) | [androidJvm]<br>interface [StickerClickListener](-sticker-click-listener/index.md) |
| [StickerSender](-sticker-sender/index.md) | [androidJvm]<br>class [StickerSender](-sticker-sender/index.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), toaster: [Toaster](-toaster/index.md), internalDir: [File](https://developer.android.com/reference/kotlin/java/io/File.html), currentInputConnection: [InputConnection](https://developer.android.com/reference/kotlin/android/view/inputmethod/InputConnection.html)?, currentInputEditorInfo: [EditorInfo](https://developer.android.com/reference/kotlin/android/view/inputmethod/EditorInfo.html)?, compatCache: [Cache](-cache/index.md), imageLoader: ImageLoader)<br>The StickerSender Class used to contain all of the methods used for sending a sticker to an InputConnection |
| [Toaster](-toaster/index.md) | [androidJvm]<br>class [Toaster](-toaster/index.md)(context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))<br>The Toaster class provides a simplified interface to android.widget.Toast. Pass in the android.content.Context to the constructor and call the 'toast' function (others as below) toaster.state keeps track of an error state or similar. |

View File

@ -14,4 +14,4 @@
| Name | Summary |
|---|---|
| [trimString](trim-string.md) | [androidJvm]<br>fun [trimString](trim-string.md)(str: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |
| [trimString](trim-string.md) | [androidJvm]<br>fun [trimString](trim-string.md)(str: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)<br>trimString |

View File

@ -3,4 +3,20 @@
# trimString
[androidJvm]\
fun [trimString](trim-string.md)(str: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
fun [trimString](trim-string.md)(str: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)
trimString
for strings longer than 32 chars, trim to 32 chars and add ellipsis ...
#### Return
String
#### Parameters
androidJvm
| | |
|---|---|
| str | : String |

View File

@ -2,7 +2,7 @@ $dokka.format:gfm-v1
$dokka.linkExtension:md
$dokka.location:com.fredhappyface.ewesticker.adapter////PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/index.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter///PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/index.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter/StickerPackAdapter/#kotlin.Int#kotlin.Array[java.io.File]#com.fredhappyface.ewesticker.utilities.StickerClickListener#android.view.GestureDetector/PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/-sticker-pack-adapter.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter/StickerPackAdapter/#kotlin.Int#kotlin.Array[java.io.File]#com.fredhappyface.ewesticker.utilities.StickerClickListener#android.view.GestureDetector#kotlin.Boolean/PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/-sticker-pack-adapter.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter/getItemCount/#/PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/get-item-count.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter/onBindViewHolder/#com.fredhappyface.ewesticker.view.StickerPackViewHolder#kotlin.Int/PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/on-bind-view-holder.md
$dokka.location:com.fredhappyface.ewesticker.adapter/StickerPackAdapter/onCreateViewHolder/#android.view.ViewGroup#kotlin.Int/PointingToDeclaration/app/com.fredhappyface.ewesticker.adapter/-sticker-pack-adapter/on-create-view-holder.md
@ -18,8 +18,6 @@ $dokka.location:com.fredhappyface.ewesticker.utilities/Cache/add/#kotlin.String/
$dokka.location:com.fredhappyface.ewesticker.utilities/Cache/fromSharedPref/#kotlin.String/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-cache/from-shared-pref.md
$dokka.location:com.fredhappyface.ewesticker.utilities/Cache/toFiles/#/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-cache/to-files.md
$dokka.location:com.fredhappyface.ewesticker.utilities/Cache/toSharedPref/#/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-cache/to-shared-pref.md
$dokka.location:com.fredhappyface.ewesticker.utilities/SharedPrefHelper///PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-shared-pref-helper/index.md
$dokka.location:com.fredhappyface.ewesticker.utilities/SharedPrefHelper/getStickerPacksFromPref/#android.content.Context/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-shared-pref-helper/get-sticker-packs-from-pref.md
$dokka.location:com.fredhappyface.ewesticker.utilities/StickerClickListener///PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-sticker-click-listener/index.md
$dokka.location:com.fredhappyface.ewesticker.utilities/StickerClickListener/onStickerClicked/#java.io.File/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-sticker-click-listener/on-sticker-clicked.md
$dokka.location:com.fredhappyface.ewesticker.utilities/StickerClickListener/onStickerLongClicked/#java.io.File/PointingToDeclaration/app/com.fredhappyface.ewesticker.utilities/-sticker-click-listener/on-sticker-long-clicked.md
@ -39,7 +37,7 @@ $dokka.location:com.fredhappyface.ewesticker.view/StickerPackViewHolder///Pointi
$dokka.location:com.fredhappyface.ewesticker.view/StickerPackViewHolder/StickerPackViewHolder/#android.view.View/PointingToDeclaration/app/com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/-sticker-pack-view-holder.md
$dokka.location:com.fredhappyface.ewesticker.view/StickerPackViewHolder/stickerThumbnail/#/PointingToDeclaration/app/com.fredhappyface.ewesticker.view/-sticker-pack-view-holder/sticker-thumbnail.md
$dokka.location:com.fredhappyface.ewesticker////PointingToDeclaration/app/com.fredhappyface.ewesticker/index.md
$dokka.location:com.fredhappyface.ewesticker//trimString/#kotlin.String/PointingToDeclaration/app/com.fredhappyface.ewesticker/trim-string.md
$dokka.location:com.fredhappyface.ewesticker//trimString/#kotlin.String?/PointingToDeclaration/app/com.fredhappyface.ewesticker/trim-string.md
$dokka.location:com.fredhappyface.ewesticker/ImageKeyboard///PointingToDeclaration/app/com.fredhappyface.ewesticker/-image-keyboard/index.md
$dokka.location:com.fredhappyface.ewesticker/ImageKeyboard/ImageKeyboard/#/PointingToDeclaration/app/com.fredhappyface.ewesticker/-image-keyboard/-image-keyboard.md
$dokka.location:com.fredhappyface.ewesticker/ImageKeyboard/onCreate/#/PointingToDeclaration/app/com.fredhappyface.ewesticker/-image-keyboard/on-create.md