@@ -7,17 +7,30 @@ import android.content.ClipData
77import android.content.ClipboardManager
88import android.content.Context
99import android.content.Intent
10- import android.graphics.*
10+ import android.graphics.Bitmap
11+ import android.graphics.Canvas
12+ import android.graphics.Color
13+ import android.graphics.Paint
1114import android.graphics.Paint.Align
12- import android.graphics.drawable.*
15+ import android.graphics.PorterDuff
16+ import android.graphics.Rect
17+ import android.graphics.Typeface
18+ import android.graphics.drawable.ColorDrawable
19+ import android.graphics.drawable.Drawable
20+ import android.graphics.drawable.LayerDrawable
21+ import android.graphics.drawable.RippleDrawable
1322import android.os.Build
1423import android.os.Handler
1524import android.os.Looper
1625import android.os.Message
17- import android.os.SystemClock
1826import android.util.AttributeSet
1927import android.util.TypedValue
20- import android.view.*
28+ import android.view.Gravity
29+ import android.view.HapticFeedbackConstants
30+ import android.view.LayoutInflater
31+ import android.view.MotionEvent
32+ import android.view.View
33+ import android.view.ViewConfiguration
2134import android.view.animation.AccelerateInterpolator
2235import android.view.inputmethod.EditorInfo
2336import android.widget.ImageButton
@@ -28,11 +41,29 @@ import android.widget.inline.InlineContentView
2841import androidx.annotation.RequiresApi
2942import androidx.core.animation.doOnEnd
3043import androidx.core.animation.doOnStart
31- import androidx.core.view.*
44+ import androidx.core.view.ViewCompat
45+ import androidx.core.view.children
46+ import androidx.core.view.updateMarginsRelative
3247import androidx.emoji2.text.EmojiCompat
3348import androidx.emoji2.text.EmojiCompat.EMOJI_SUPPORTED
3449import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup
35- import org.fossify.commons.extensions.*
50+ import org.fossify.commons.extensions.adjustAlpha
51+ import org.fossify.commons.extensions.applyColorFilter
52+ import org.fossify.commons.extensions.beGone
53+ import org.fossify.commons.extensions.beGoneIf
54+ import org.fossify.commons.extensions.beInvisibleIf
55+ import org.fossify.commons.extensions.beVisible
56+ import org.fossify.commons.extensions.beVisibleIf
57+ import org.fossify.commons.extensions.darkenColor
58+ import org.fossify.commons.extensions.getContrastColor
59+ import org.fossify.commons.extensions.getProperBackgroundColor
60+ import org.fossify.commons.extensions.getProperPrimaryColor
61+ import org.fossify.commons.extensions.getProperTextColor
62+ import org.fossify.commons.extensions.isDynamicTheme
63+ import org.fossify.commons.extensions.lightenColor
64+ import org.fossify.commons.extensions.performHapticFeedback
65+ import org.fossify.commons.extensions.removeUnderlines
66+ import org.fossify.commons.extensions.toast
3667import org.fossify.commons.helpers.ensureBackgroundThread
3768import org.fossify.commons.helpers.isOreoMr1Plus
3869import org.fossify.commons.helpers.isPiePlus
@@ -46,21 +77,43 @@ import org.fossify.keyboard.databinding.KeyboardKeyPreviewBinding
4677import org.fossify.keyboard.databinding.KeyboardPopupKeyboardBinding
4778import org.fossify.keyboard.databinding.KeyboardViewKeyboardBinding
4879import org.fossify.keyboard.dialogs.SwitchLanguageDialog
49- import org.fossify.keyboard.extensions.*
50- import org.fossify.keyboard.helpers.*
80+ import org.fossify.keyboard.extensions.clipsDB
81+ import org.fossify.keyboard.extensions.config
82+ import org.fossify.keyboard.extensions.getCurrentClip
83+ import org.fossify.keyboard.extensions.getCurrentVoiceInputMethod
84+ import org.fossify.keyboard.extensions.getKeyboardBackgroundColor
85+ import org.fossify.keyboard.extensions.getStrokeColor
86+ import org.fossify.keyboard.extensions.isDeviceLocked
87+ import org.fossify.keyboard.extensions.onScroll
88+ import org.fossify.keyboard.extensions.safeStorageContext
89+ import org.fossify.keyboard.helpers.AccessHelper
90+ import org.fossify.keyboard.helpers.EMOJI_SPEC_FILE_PATH
91+ import org.fossify.keyboard.helpers.EmojiData
92+ import org.fossify.keyboard.helpers.LANGUAGE_TURKISH_Q
93+ import org.fossify.keyboard.helpers.LANGUAGE_VIETNAMESE_TELEX
94+ import org.fossify.keyboard.helpers.LANGUAGE_VN_TELEX
95+ import org.fossify.keyboard.helpers.MAX_KEYS_PER_MINI_ROW
96+ import org.fossify.keyboard.helpers.MyKeyboard
5197import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_DELETE
5298import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_EMOJI
5399import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_ENTER
54100import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_MODE_CHANGE
55101import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SHIFT
56102import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE
57103import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SYMBOLS_MODE_CHANGE
104+ import org.fossify.keyboard.helpers.RECENTLY_USED_EMOJIS
105+ import org.fossify.keyboard.helpers.ShiftState
106+ import org.fossify.keyboard.helpers.cachedVNTelexData
107+ import org.fossify.keyboard.helpers.getCategoryIconRes
108+ import org.fossify.keyboard.helpers.parseRawEmojiSpecsFile
109+ import org.fossify.keyboard.helpers.parseRawJsonSpecsFile
58110import org.fossify.keyboard.interfaces.OnKeyboardActionListener
59111import org.fossify.keyboard.interfaces.RefreshClipsListener
60112import org.fossify.keyboard.models.Clip
61113import org.fossify.keyboard.models.ClipsSectionLabel
62114import org.fossify.keyboard.models.ListItem
63- import java.util.*
115+ import java.util.Arrays
116+ import java.util.Locale
64117
65118@SuppressLint(" UseCompatLoadingForDrawables" , " ClickableViewAccessibility" )
66119class MyKeyboardView @JvmOverloads constructor(
@@ -145,7 +198,6 @@ class MyKeyboardView @JvmOverloads constructor(
145198 private var mTopSmallNumberMarginHeight = 0f
146199 private val mSpaceMoveThreshold: Int
147200 private var ignoreTouches = false
148- private var lastHandleMoveAt = 0L
149201
150202 private var mKeyBackground: Drawable ? = null
151203 private var mShowKeyBorders: Boolean = false
@@ -188,7 +240,6 @@ class MyKeyboardView @JvmOverloads constructor(
188240 private const val REPEAT_INTERVAL = 50 // ~20 keys per second
189241 private const val REPEAT_START_DELAY = 400
190242 private val LONGPRESS_TIMEOUT = ViewConfiguration .getLongPressTimeout()
191- private const val HANDLE_MOVE_MIN_MS = 35L
192243 }
193244
194245 init {
@@ -497,9 +548,6 @@ class MyKeyboardView @JvmOverloads constructor(
497548
498549 fun performHapticHandleMove () {
499550 if (! context.config.vibrateOnKeypress) return
500- val now = SystemClock .uptimeMillis()
501- if (now - lastHandleMoveAt < HANDLE_MOVE_MIN_MS ) return
502- lastHandleMoveAt = now
503551 if (isOreoMr1Plus()) {
504552 @Suppress(" DEPRECATION" )
505553 performHapticFeedback(
0 commit comments