Skip to content

Commit f7d0a9b

Browse files
committed
refactor: remove in-app haptic feedback throttling
It doesn't seem necessary.
1 parent 001b3a9 commit f7d0a9b

1 file changed

Lines changed: 62 additions & 14 deletions

File tree

app/src/main/kotlin/org/fossify/keyboard/views/MyKeyboardView.kt

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,30 @@ import android.content.ClipData
77
import android.content.ClipboardManager
88
import android.content.Context
99
import 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
1114
import 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
1322
import android.os.Build
1423
import android.os.Handler
1524
import android.os.Looper
1625
import android.os.Message
17-
import android.os.SystemClock
1826
import android.util.AttributeSet
1927
import 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
2134
import android.view.animation.AccelerateInterpolator
2235
import android.view.inputmethod.EditorInfo
2336
import android.widget.ImageButton
@@ -28,11 +41,29 @@ import android.widget.inline.InlineContentView
2841
import androidx.annotation.RequiresApi
2942
import androidx.core.animation.doOnEnd
3043
import 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
3247
import androidx.emoji2.text.EmojiCompat
3348
import androidx.emoji2.text.EmojiCompat.EMOJI_SUPPORTED
3449
import 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
3667
import org.fossify.commons.helpers.ensureBackgroundThread
3768
import org.fossify.commons.helpers.isOreoMr1Plus
3869
import org.fossify.commons.helpers.isPiePlus
@@ -46,21 +77,43 @@ import org.fossify.keyboard.databinding.KeyboardKeyPreviewBinding
4677
import org.fossify.keyboard.databinding.KeyboardPopupKeyboardBinding
4778
import org.fossify.keyboard.databinding.KeyboardViewKeyboardBinding
4879
import 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
5197
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_DELETE
5298
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_EMOJI
5399
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_ENTER
54100
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_MODE_CHANGE
55101
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SHIFT
56102
import org.fossify.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE
57103
import 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
58110
import org.fossify.keyboard.interfaces.OnKeyboardActionListener
59111
import org.fossify.keyboard.interfaces.RefreshClipsListener
60112
import org.fossify.keyboard.models.Clip
61113
import org.fossify.keyboard.models.ClipsSectionLabel
62114
import org.fossify.keyboard.models.ListItem
63-
import java.util.*
115+
import java.util.Arrays
116+
import java.util.Locale
64117

65118
@SuppressLint("UseCompatLoadingForDrawables", "ClickableViewAccessibility")
66119
class 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

Comments
 (0)