@@ -3,7 +3,6 @@ package org.fossify.keyboard.extensions
33import android.app.KeyguardManager
44import android.content.ClipboardManager
55import android.content.Context
6- import android.graphics.Color
76import android.inputmethodservice.InputMethodService
87import android.os.IBinder
98import android.os.UserManager
@@ -21,15 +20,12 @@ import androidx.core.content.res.ResourcesCompat
2120import com.google.android.material.dialog.MaterialAlertDialogBuilder
2221import org.fossify.commons.databinding.DialogTitleBinding
2322import org.fossify.commons.extensions.baseConfig
24- import org.fossify.commons.extensions.darkenColor
2523import org.fossify.commons.extensions.getColoredDrawableWithColor
2624import org.fossify.commons.extensions.getProperBackgroundColor
2725import org.fossify.commons.extensions.getProperPrimaryColor
2826import org.fossify.commons.extensions.getProperTextColor
2927import org.fossify.commons.extensions.isBlackAndWhiteTheme
3028import org.fossify.commons.extensions.isDynamicTheme
31- import org.fossify.commons.extensions.isSystemInDarkMode
32- import org.fossify.commons.extensions.lightenColor
3329import org.fossify.commons.extensions.updateTextColors
3430import org.fossify.commons.helpers.isNougatPlus
3531import org.fossify.commons.models.RadioItem
@@ -38,49 +34,6 @@ import org.fossify.keyboard.R
3834import org.fossify.keyboard.databases.ClipsDatabase
3935import org.fossify.keyboard.helpers.Config
4036import org.fossify.keyboard.helpers.INPUT_METHOD_SUBTYPE_VOICE
41- import org.fossify.keyboard.helpers.LANGUAGE_ARABIC
42- import org.fossify.keyboard.helpers.LANGUAGE_BELARUSIAN_CYRL
43- import org.fossify.keyboard.helpers.LANGUAGE_BELARUSIAN_LATN
44- import org.fossify.keyboard.helpers.LANGUAGE_BENGALI
45- import org.fossify.keyboard.helpers.LANGUAGE_BULGARIAN
46- import org.fossify.keyboard.helpers.LANGUAGE_CENTRAL_KURDISH
47- import org.fossify.keyboard.helpers.LANGUAGE_CHUVASH
48- import org.fossify.keyboard.helpers.LANGUAGE_CZECH_QWERTY
49- import org.fossify.keyboard.helpers.LANGUAGE_CZECH_QWERTZ
50- import org.fossify.keyboard.helpers.LANGUAGE_DANISH
51- import org.fossify.keyboard.helpers.LANGUAGE_DUTCH
52- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_ASSET
53- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_COLEMAK
54- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_COLEMAKDH
55- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_DVORAK
56- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_NIRO
57- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_QWERTZ
58- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_SOUL
59- import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_WORKMAN
60- import org.fossify.keyboard.helpers.LANGUAGE_ESPERANTO
61- import org.fossify.keyboard.helpers.LANGUAGE_FRENCH_AZERTY
62- import org.fossify.keyboard.helpers.LANGUAGE_FRENCH_BEPO
63- import org.fossify.keyboard.helpers.LANGUAGE_GERMAN
64- import org.fossify.keyboard.helpers.LANGUAGE_GERMAN_QWERTZ
65- import org.fossify.keyboard.helpers.LANGUAGE_GREEK
66- import org.fossify.keyboard.helpers.LANGUAGE_HEBREW
67- import org.fossify.keyboard.helpers.LANGUAGE_ITALIAN
68- import org.fossify.keyboard.helpers.LANGUAGE_KABYLE_AZERTY
69- import org.fossify.keyboard.helpers.LANGUAGE_LATVIAN
70- import org.fossify.keyboard.helpers.LANGUAGE_LITHUANIAN
71- import org.fossify.keyboard.helpers.LANGUAGE_NORWEGIAN
72- import org.fossify.keyboard.helpers.LANGUAGE_POLISH
73- import org.fossify.keyboard.helpers.LANGUAGE_PORTUGUESE
74- import org.fossify.keyboard.helpers.LANGUAGE_PORTUGUESE_HCESAR
75- import org.fossify.keyboard.helpers.LANGUAGE_ROMANIAN
76- import org.fossify.keyboard.helpers.LANGUAGE_RUSSIAN
77- import org.fossify.keyboard.helpers.LANGUAGE_SLOVENIAN
78- import org.fossify.keyboard.helpers.LANGUAGE_SPANISH
79- import org.fossify.keyboard.helpers.LANGUAGE_SWEDISH
80- import org.fossify.keyboard.helpers.LANGUAGE_TURKISH
81- import org.fossify.keyboard.helpers.LANGUAGE_TURKISH_Q
82- import org.fossify.keyboard.helpers.LANGUAGE_UKRAINIAN
83- import org.fossify.keyboard.helpers.LANGUAGE_VIETNAMESE_TELEX
8437import org.fossify.keyboard.interfaces.ClipsDao
8538
8639val Context .config: Config get() = Config .newInstance(applicationContext.safeStorageContext)
@@ -115,43 +68,6 @@ fun Context.getCurrentClip(): String? {
11568 return clipboardManager.primaryClip?.getItemAt(0 )?.text?.toString()
11669}
11770
118- fun Context.getKeyboardBackgroundColor (): Int {
119- val color = if (isDynamicTheme()) {
120- resources.getColor(R .color.you_keyboard_background_color, theme)
121- } else {
122- getProperBackgroundColor().darkenColor(2 )
123- }
124-
125- // use darker background color when key borders are enabled
126- if (config.showKeyBorders) {
127- val darkerColor = color.darkenColor(2 )
128- return if (darkerColor == Color .WHITE ) {
129- resources.getColor(R .color.md_grey_200, theme)
130- } else {
131- darkerColor
132- }
133- }
134-
135- return color
136- }
137-
138- fun Context.getStrokeColor (): Int {
139- return if (isDynamicTheme()) {
140- if (isSystemInDarkMode()) {
141- resources.getColor(R .color.md_grey_800, theme)
142- } else {
143- resources.getColor(R .color.md_grey_400, theme)
144- }
145- } else {
146- val lighterColor = safeStorageContext.getProperBackgroundColor().lightenColor()
147- if (lighterColor == Color .WHITE || lighterColor == Color .BLACK ) {
148- resources.getColor(R .color.divider_grey, theme)
149- } else {
150- lighterColor
151- }
152- }
153- }
154-
15571fun Context.getKeyboardDialogBuilder () = if (safeStorageContext.isDynamicTheme()) {
15672 MaterialAlertDialogBuilder (this , R .style.MyKeyboard_Alert )
15773} else {
@@ -273,68 +189,6 @@ fun Context.setupKeyboardDialogStuff(
273189 }
274190}
275191
276- fun Context.getSelectedLanguagesSorted (): List <Int > {
277- return config.selectedLanguages
278- .map { it to getKeyboardLanguageText(it) }
279- .sortedBy { it.second }
280- .map { it.first }
281- }
282-
283- fun Context.getKeyboardLanguagesRadioItems (): ArrayList <RadioItem > {
284- return getSelectedLanguagesSorted()
285- .map { RadioItem (it, getKeyboardLanguageText(it)) }
286- .toMutableList() as ArrayList <RadioItem >
287- }
288-
289- fun Context.getKeyboardLanguageText (language : Int ): String {
290- return when (language) {
291- LANGUAGE_ARABIC -> getString(R .string.translation_arabic)
292- LANGUAGE_BELARUSIAN_CYRL -> " ${getString(R .string.translation_belarusian)} (Cyrillic)"
293- LANGUAGE_BELARUSIAN_LATN -> " ${getString(R .string.translation_belarusian)} (Latin)"
294- LANGUAGE_BENGALI -> getString(R .string.translation_bengali)
295- LANGUAGE_BULGARIAN -> getString(R .string.translation_bulgarian)
296- LANGUAGE_CENTRAL_KURDISH -> getString(R .string.translation_central_kurdish)
297- LANGUAGE_CHUVASH -> getString(R .string.translation_chuvash)
298- LANGUAGE_CZECH_QWERTY -> " ${getString(R .string.translation_czech)} (QWERTY)"
299- LANGUAGE_CZECH_QWERTZ -> " ${getString(R .string.translation_czech)} (QWERTZ)"
300- LANGUAGE_DANISH -> getString(R .string.translation_danish)
301- LANGUAGE_DUTCH -> getString(R .string.translation_dutch)
302- LANGUAGE_ENGLISH_ASSET -> " ${getString(R .string.translation_english)} (Asset)"
303- LANGUAGE_ENGLISH_COLEMAK -> " ${getString(R .string.translation_english)} (Colemak)"
304- LANGUAGE_ENGLISH_COLEMAKDH -> " ${getString(R .string.translation_english)} (Colemak-DH)"
305- LANGUAGE_ENGLISH_DVORAK -> " ${getString(R .string.translation_english)} (DVORAK)"
306- LANGUAGE_ENGLISH_NIRO -> " ${getString(R .string.translation_english)} (Niro)"
307- LANGUAGE_ENGLISH_QWERTZ -> " ${getString(R .string.translation_english)} (QWERTZ)"
308- LANGUAGE_ENGLISH_SOUL -> " ${getString(R .string.translation_english)} (Soul)"
309- LANGUAGE_ENGLISH_WORKMAN -> " ${getString(R .string.translation_english)} (Workman)"
310- LANGUAGE_ESPERANTO -> getString(R .string.translation_esperanto)
311- LANGUAGE_FRENCH_AZERTY -> " ${getString(R .string.translation_french)} (AZERTY)"
312- LANGUAGE_FRENCH_BEPO -> " ${getString(R .string.translation_french)} (BEPO)"
313- LANGUAGE_GERMAN -> getString(R .string.translation_german)
314- LANGUAGE_GERMAN_QWERTZ -> " ${getString(R .string.translation_german)} (QWERTZ)"
315- LANGUAGE_GREEK -> getString(R .string.translation_greek)
316- LANGUAGE_HEBREW -> getString(R .string.translation_hebrew)
317- LANGUAGE_ITALIAN -> getString(R .string.translation_italian)
318- LANGUAGE_KABYLE_AZERTY -> " ${getString(R .string.translation_kabyle)} (AZERTY)"
319- LANGUAGE_LATVIAN -> getString(R .string.translation_latvian)
320- LANGUAGE_LITHUANIAN -> getString(R .string.translation_lithuanian)
321- LANGUAGE_NORWEGIAN -> getString(R .string.translation_norwegian)
322- LANGUAGE_POLISH -> getString(R .string.translation_polish)
323- LANGUAGE_PORTUGUESE -> getString(R .string.translation_portuguese)
324- LANGUAGE_PORTUGUESE_HCESAR -> " ${getString(R .string.translation_portuguese)} (HCESAR)"
325- LANGUAGE_ROMANIAN -> getString(R .string.translation_romanian)
326- LANGUAGE_RUSSIAN -> getString(R .string.translation_russian)
327- LANGUAGE_SLOVENIAN -> getString(R .string.translation_slovenian)
328- LANGUAGE_SPANISH -> getString(R .string.translation_spanish)
329- LANGUAGE_SWEDISH -> getString(R .string.translation_swedish)
330- LANGUAGE_TURKISH -> getString(R .string.translation_turkish)
331- LANGUAGE_TURKISH_Q -> " ${getString(R .string.translation_turkish)} (Q)"
332- LANGUAGE_UKRAINIAN -> getString(R .string.translation_ukrainian)
333- LANGUAGE_VIETNAMESE_TELEX -> " ${getString(R .string.translation_vietnamese)} (Telex)"
334- else -> " ${getString(R .string.translation_english)} (QWERTY)"
335- }
336- }
337-
338192fun Context.getVoiceInputMethods (imm : InputMethodManager = inputMethodManager): List <Pair <InputMethodInfo , InputMethodSubtype >> {
339193 return imm.enabledInputMethodList.flatMap { im ->
340194 imm.getEnabledInputMethodSubtypeList(im, true )
0 commit comments