Skip to content

Commit 6b07eed

Browse files
committed
Add keyboard height percentage options
1 parent e41c6c0 commit 6b07eed

File tree

4 files changed

+36
-36
lines changed

4 files changed

+36
-36
lines changed

app/src/main/kotlin/com/simplemobiletools/keyboard/activities/SettingsActivity.kt

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ import com.simplemobiletools.keyboard.R
1111
import com.simplemobiletools.keyboard.extensions.config
1212
import com.simplemobiletools.keyboard.extensions.getKeyboardLanguageText
1313
import com.simplemobiletools.keyboard.extensions.getKeyboardLanguages
14-
import com.simplemobiletools.keyboard.helpers.KEYBOARD_HEIGHT_MULTIPLIER_LARGE
15-
import com.simplemobiletools.keyboard.helpers.KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM
16-
import com.simplemobiletools.keyboard.helpers.KEYBOARD_HEIGHT_MULTIPLIER_SMALL
14+
import com.simplemobiletools.keyboard.helpers.*
1715
import kotlinx.android.synthetic.main.activity_settings.*
1816
import java.util.*
1917
import kotlin.system.exitProcess
@@ -130,29 +128,30 @@ class SettingsActivity : SimpleActivity() {
130128
}
131129

132130
private fun setupKeyboardHeightMultiplier() {
133-
settings_keyboard_height_multiplier.text = getKeyboardHeightMultiplierText(config.keyboardHeightMultiplier)
131+
settings_keyboard_height_multiplier.text = getKeyboardHeightPercentageText(config.keyboardHeightPercentage)
134132
settings_keyboard_height_multiplier_holder.setOnClickListener {
135133
val items = arrayListOf(
136-
RadioItem(KEYBOARD_HEIGHT_MULTIPLIER_SMALL, getKeyboardHeightMultiplierText(KEYBOARD_HEIGHT_MULTIPLIER_SMALL)),
137-
RadioItem(KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM, getKeyboardHeightMultiplierText(KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM)),
138-
RadioItem(KEYBOARD_HEIGHT_MULTIPLIER_LARGE, getKeyboardHeightMultiplierText(KEYBOARD_HEIGHT_MULTIPLIER_LARGE)),
134+
RadioItem(KEYBOARD_HEIGHT_50_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_50_PERCENT)),
135+
RadioItem(KEYBOARD_HEIGHT_60_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_60_PERCENT)),
136+
RadioItem(KEYBOARD_HEIGHT_75_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_75_PERCENT)),
137+
RadioItem(KEYBOARD_HEIGHT_90_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_90_PERCENT)),
138+
RadioItem(KEYBOARD_HEIGHT_100_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_100_PERCENT)),
139+
RadioItem(KEYBOARD_HEIGHT_125_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_125_PERCENT)),
140+
RadioItem(KEYBOARD_HEIGHT_150_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_150_PERCENT)),
141+
RadioItem(KEYBOARD_HEIGHT_175_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_175_PERCENT)),
142+
RadioItem(KEYBOARD_HEIGHT_200_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_200_PERCENT)),
143+
RadioItem(KEYBOARD_HEIGHT_250_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_250_PERCENT)),
144+
RadioItem(KEYBOARD_HEIGHT_300_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_300_PERCENT))
139145
)
140146

141-
RadioGroupDialog(this@SettingsActivity, items, config.keyboardHeightMultiplier) {
142-
config.keyboardHeightMultiplier = it as Int
143-
settings_keyboard_height_multiplier.text = getKeyboardHeightMultiplierText(config.keyboardHeightMultiplier)
147+
RadioGroupDialog(this@SettingsActivity, items, config.keyboardHeightPercentage) {
148+
config.keyboardHeightPercentage = it as Int
149+
settings_keyboard_height_multiplier.text = getKeyboardHeightPercentageText(config.keyboardHeightPercentage)
144150
}
145151
}
146152
}
147153

148-
private fun getKeyboardHeightMultiplierText(multiplier: Int): String {
149-
return when (multiplier) {
150-
KEYBOARD_HEIGHT_MULTIPLIER_SMALL -> getString(R.string.small)
151-
KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM -> getString(R.string.medium)
152-
KEYBOARD_HEIGHT_MULTIPLIER_LARGE -> getString(R.string.large)
153-
else -> getString(R.string.small)
154-
}
155-
}
154+
private fun getKeyboardHeightPercentageText(keyboardHeightPercentage: Int): String = "$keyboardHeightPercentage%"
156155

157156
private fun setupShowClipboardContent() {
158157
settings_show_clipboard_content.isChecked = config.showClipboardContent

app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Config.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ class Config(context: Context) : BaseConfig(context) {
3535
get() = prefs.getInt(KEYBOARD_LANGUAGE, getDefaultLanguage())
3636
set(keyboardLanguage) = prefs.edit().putInt(KEYBOARD_LANGUAGE, keyboardLanguage).apply()
3737

38-
var keyboardHeightMultiplier: Int
39-
get() = prefs.getInt(HEIGHT_MULTIPLIER, 1)
40-
set(keyboardHeightMultiplier) = prefs.edit().putInt(HEIGHT_MULTIPLIER, keyboardHeightMultiplier).apply()
38+
var keyboardHeightPercentage: Int
39+
get() = prefs.getInt(HEIGHT_PERCENTAGE, 100)
40+
set(keyboardHeightMultiplier) = prefs.edit().putInt(HEIGHT_PERCENTAGE, keyboardHeightMultiplier).apply()
4141

4242
var showClipboardContent: Boolean
4343
get() = prefs.getBoolean(SHOW_CLIPBOARD_CONTENT, true)

app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/Constants.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const val SHOW_KEY_BORDERS = "show_key_borders"
1717
const val SENTENCES_CAPITALIZATION = "sentences_capitalization"
1818
const val LAST_EXPORTED_CLIPS_FOLDER = "last_exported_clips_folder"
1919
const val KEYBOARD_LANGUAGE = "keyboard_language"
20-
const val HEIGHT_MULTIPLIER = "height_multiplier"
20+
const val HEIGHT_PERCENTAGE = "height_percentage"
2121
const val SHOW_CLIPBOARD_CONTENT = "show_clipboard_content"
2222
const val SHOW_NUMBERS_ROW = "show_numbers_row"
2323

@@ -45,10 +45,18 @@ const val LANGUAGE_DANISH = 16
4545
const val LANGUAGE_FRENCH_BEPO = 17
4646
const val LANGUAGE_VIETNAMESE_TELEX = 18
4747

48-
// keyboard height multiplier options
49-
const val KEYBOARD_HEIGHT_MULTIPLIER_SMALL = 1
50-
const val KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM = 2
51-
const val KEYBOARD_HEIGHT_MULTIPLIER_LARGE = 3
48+
// keyboard height percentage options
49+
const val KEYBOARD_HEIGHT_50_PERCENT = 50
50+
const val KEYBOARD_HEIGHT_60_PERCENT = 60
51+
const val KEYBOARD_HEIGHT_75_PERCENT = 75
52+
const val KEYBOARD_HEIGHT_90_PERCENT = 90
53+
const val KEYBOARD_HEIGHT_100_PERCENT = 100
54+
const val KEYBOARD_HEIGHT_125_PERCENT = 125
55+
const val KEYBOARD_HEIGHT_150_PERCENT = 150
56+
const val KEYBOARD_HEIGHT_175_PERCENT = 175
57+
const val KEYBOARD_HEIGHT_200_PERCENT = 200
58+
const val KEYBOARD_HEIGHT_250_PERCENT = 250
59+
const val KEYBOARD_HEIGHT_300_PERCENT = 300
5260

5361
const val EMOJI_SPEC_FILE_PATH = "media/emoji_spec.txt"
5462
const val LANGUAGE_VN_TELEX = "language/extension.json"

app/src/main/kotlin/com/simplemobiletools/keyboard/helpers/MyKeyboard.kt

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ class MyKeyboard {
273273
mDefaultHorizontalGap = 0
274274
mDefaultWidth = mDisplayWidth / 10
275275
mDefaultHeight = mDefaultWidth
276-
mKeyboardHeightMultiplier = getKeyboardHeightMultiplier(context.config.keyboardHeightMultiplier)
276+
mKeyboardHeightMultiplier = getKeyboardHeightMultiplier(context.config.keyboardHeightPercentage)
277277
mKeys = ArrayList()
278278
mEnterKeyType = enterKeyType
279279
loadKeyboard(context, context.resources.getXml(xmlLayoutResId))
@@ -296,7 +296,7 @@ class MyKeyboard {
296296
row.defaultHeight = mDefaultHeight
297297
row.defaultWidth = keyWidth
298298
row.defaultHorizontalGap = mDefaultHorizontalGap
299-
mKeyboardHeightMultiplier = getKeyboardHeightMultiplier(context.config.keyboardHeightMultiplier)
299+
mKeyboardHeightMultiplier = getKeyboardHeightMultiplier(context.config.keyboardHeightPercentage)
300300

301301
characters.forEachIndexed { index, character ->
302302
val key = Key(row)
@@ -425,12 +425,5 @@ class MyKeyboard {
425425
a.recycle()
426426
}
427427

428-
private fun getKeyboardHeightMultiplier(multiplierType: Int): Float {
429-
return when (multiplierType) {
430-
KEYBOARD_HEIGHT_MULTIPLIER_SMALL -> 1.0F
431-
KEYBOARD_HEIGHT_MULTIPLIER_MEDIUM -> 1.2F
432-
KEYBOARD_HEIGHT_MULTIPLIER_LARGE -> 1.4F
433-
else -> 1.0F
434-
}
435-
}
428+
private fun getKeyboardHeightMultiplier(percentage: Int): Float = percentage / 100.0F
436429
}

0 commit comments

Comments
 (0)