0
0
mirror of https://github.com/florisboard/florisboard.git synced 2024-09-20 03:52:18 +02:00

Quick action container now auto collapses when switching to media context

- MediaInputManager is now a Singleton class too
- TextInputManager now utilises both onCreate() and onCreateInputView()
- Other small fixes in documentation strings
This commit is contained in:
Patrick Goldinger 2020-06-07 22:06:00 +02:00
parent 68185f8e95
commit 995d403cdf
4 changed files with 21 additions and 8 deletions

View File

@ -61,7 +61,7 @@ class FlorisBoard : InputMethodService() {
florisboardInstance = this
textInputManager = TextInputManager.getInstance()
mediaInputManager = MediaInputManager(this)
mediaInputManager = MediaInputManager.getInstance()
}
companion object {

View File

@ -29,10 +29,10 @@ import java.util.*
*
* All events defined in [FlorisBoard.EventListener] will be passed through to this class by the
* core.
*
* @property florisboard Reference to instance of core class [FlorisBoard].
*/
class MediaInputManager(private val florisboard: FlorisBoard) : FlorisBoard.EventListener {
class MediaInputManager private constructor() : FlorisBoard.EventListener {
private val florisboard = FlorisBoard.getInstance()
private var activeTab: Tab? = null
private var mediaViewFlipper: ViewFlipper? = null
@ -41,6 +41,15 @@ class MediaInputManager(private val florisboard: FlorisBoard) : FlorisBoard.Even
var mediaViewGroup: LinearLayout? = null
companion object {
private val instance: MediaInputManager = MediaInputManager()
@Synchronized
fun getInstance(): MediaInputManager {
return instance
}
}
override fun onCreateInputView() {
val rootViewGroup = florisboard.rootViewGroup
mediaViewGroup = rootViewGroup.findViewById(R.id.media_input)

View File

@ -52,8 +52,6 @@ import java.util.*
* TextInputManager also keeps track of the current composing word and syncs this value with the
* Smartbar, which, depending on the mode and variation, may create candidates.
* @see SmartbarManager.generateCandidatesFromComposing for more information.
*
* @property florisboard Reference to instance of core class [FlorisBoard].
*/
class TextInputManager private constructor() : FlorisBoard.EventListener {
@ -95,13 +93,18 @@ class TextInputManager private constructor() : FlorisBoard.EventListener {
}
/**
* Create the UI and initialize all keyboard views with their designated layouts.
* Non-UI-related setup.
*/
override fun onCreateInputView() {
override fun onCreate() {
layoutManager.autoFetchAssociationsFromPrefs()
smartbarManager = SmartbarManager.getInstance()
}
/**
* UI-related setup + initialize all keyboard views with their designated layouts.
*/
override fun onCreateInputView() {
textViewGroup = florisboard.rootViewGroup.findViewById(R.id.text_input)
textViewFlipper = textViewGroup?.findViewById(R.id.text_input_view_flipper)
for (mode in KeyboardMode.values()) {

View File

@ -80,6 +80,7 @@ class SmartbarManager private constructor() : SpellCheckerSession.SpellCheckerSe
private val quickActionOnClickListener = View.OnClickListener { v ->
when (v.id) {
R.id.quick_action_switch_to_media_context -> {
activeContainerId = getPreferredContainerId()
florisboard.setActiveInput(R.id.media_input)
}
R.id.quick_action_open_settings -> florisboard.launchSettings()