Skip to content

Commit 1316d7f

Browse files
authored
Merge pull request #215 from esensar/feature/126-more-height-options
Add keyboard height percentage options
2 parents e41c6c0 + db731af commit 1316d7f

File tree

4 files changed

+28
-36
lines changed

4 files changed

+28
-36
lines changed

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

Lines changed: 13 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,26 @@ 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_70_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_70_PERCENT)),
135+
RadioItem(KEYBOARD_HEIGHT_80_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_80_PERCENT)),
136+
RadioItem(KEYBOARD_HEIGHT_90_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_90_PERCENT)),
137+
RadioItem(KEYBOARD_HEIGHT_100_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_100_PERCENT)),
138+
RadioItem(KEYBOARD_HEIGHT_120_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_120_PERCENT)),
139+
RadioItem(KEYBOARD_HEIGHT_140_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_140_PERCENT)),
140+
RadioItem(KEYBOARD_HEIGHT_160_PERCENT, getKeyboardHeightPercentageText(KEYBOARD_HEIGHT_160_PERCENT)),
139141
)
140142

141-
RadioGroupDialog(this@SettingsActivity, items, config.keyboardHeightMultiplier) {
142-
config.keyboardHeightMultiplier = it as Int
143-
settings_keyboard_height_multiplier.text = getKeyboardHeightMultiplierText(config.keyboardHeightMultiplier)
143+
RadioGroupDialog(this@SettingsActivity, items, config.keyboardHeightPercentage) {
144+
config.keyboardHeightPercentage = it as Int
145+
settings_keyboard_height_multiplier.text = getKeyboardHeightPercentageText(config.keyboardHeightPercentage)
144146
}
145147
}
146148
}
147149

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-
}
150+
private fun getKeyboardHeightPercentageText(keyboardHeightPercentage: Int): String = "$keyboardHeightPercentage%"
156151

157152
private fun setupShowClipboardContent() {
158153
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: 9 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,14 @@ 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_70_PERCENT = 70
50+
const val KEYBOARD_HEIGHT_80_PERCENT = 80
51+
const val KEYBOARD_HEIGHT_90_PERCENT = 90
52+
const val KEYBOARD_HEIGHT_100_PERCENT = 100
53+
const val KEYBOARD_HEIGHT_120_PERCENT = 120
54+
const val KEYBOARD_HEIGHT_140_PERCENT = 140
55+
const val KEYBOARD_HEIGHT_160_PERCENT = 160
5256

5357
const val EMOJI_SPEC_FILE_PATH = "media/emoji_spec.txt"
5458
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)