Skip to content
Snippets Groups Projects
Commit 71952fbe authored by Aleksandras Kostarevas's avatar Aleksandras Kostarevas
Browse files

Update keyboard sizing limits to resolve one-handed keyboard crash

parent edd61798
No related branches found
No related tags found
No related merge requests found
......@@ -202,6 +202,16 @@ class OneHandedKeyboardResizeHelper(
)
)
}
fun limitMinimumWidth() = with(density) {
editedSettings = editedSettings.copy(
oneHandedRectDp = editedSettings.oneHandedRectDp.copy(
right = editedSettings.oneHandedRectDp.right.coerceAtLeast(
editedSettings.oneHandedRectDp.left + minimumKeyboardWidth
)
)
)
}
}
class FloatingKeyboardResizeHelper(
......@@ -368,6 +378,7 @@ class KeyboardResizers(val latinIME: LatinIME) {
helper.editBottomPaddingAndHeightAddition()
helper.moveSideToSide()
helper.limitToCorrectSide()
helper.limitMinimumWidth()
result = result && helper.result
......
......@@ -366,6 +366,7 @@ class KeyboardSizingCalculator(val context: Context, val uixManager: UixManager)
singleRowHeight = singularRowHeight.roundToInt(),
padding = padding,
splitLayoutWidth = (displayMetrics.widthPixels * savedSettings.splitWidthFraction).toInt()
.coerceIn(dp(48), displayMetrics.widthPixels * 9 / 10)
)
savedSettings.currentMode == KeyboardMode.OneHanded ->
......@@ -374,7 +375,8 @@ class KeyboardSizingCalculator(val context: Context, val uixManager: UixManager)
height = recommendedHeight.roundToInt(),
singleRowHeight = singularRowHeight.roundToInt(),
padding = padding,
layoutWidth = dp(savedSettings.oneHandedRectDp.width).coerceAtMost(displayMetrics.widthPixels * 9 / 10),
layoutWidth = dp(savedSettings.oneHandedRectDp.width)
.coerceIn(dp(48), displayMetrics.widthPixels * 9 / 10),
direction = savedSettings.oneHandedDirection
)
......@@ -386,8 +388,8 @@ class KeyboardSizingCalculator(val context: Context, val uixManager: UixManager)
dp(savedSettings.floatingBottomOriginDp.first),
dp(savedSettings.floatingBottomOriginDp.second)
),
width = dp(savedSettings.floatingWidthDp),
height = recommendedHeightFloat.toInt(),
width = dp(savedSettings.floatingWidthDp).coerceIn(dp(48), displayMetrics.widthPixels),
height = recommendedHeightFloat.toInt().coerceIn(dp(88), displayMetrics.heightPixels),
singleRowHeight = singularRowHeightFloat.roundToInt(),
padding = padding
)
......@@ -395,7 +397,7 @@ class KeyboardSizingCalculator(val context: Context, val uixManager: UixManager)
else ->
RegularKeyboardSize(
width = width,
width = width.coerceIn(dp(48), displayMetrics.widthPixels),
height = recommendedHeight.roundToInt(),
singleRowHeight = singularRowHeight.roundToInt(),
padding = padding,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment