You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current combo picker (flat list of every service + every service with its supported languages) is hard to use and does not offer enough configurability, e.g. one would like to select multiple instances of Kõnele service and configure them to have different server URLs.
New activitives
Service picker
Similar to the current "Recognition services". Shows the list of available services and allows one of them to be selected. Each service is presented with its icon, name, a short description and a link to its configuration activity.
Current combos (= service instances)
Shows the list of currently active combos, each with its
service icon
short label (~5 chars)
long label
possibly some of the main parameter values (e.g. input language)
enabled/disabled status: combos whose service has been deinstalled are kept in the list, but lack the icon etc. They can be removed from the list but cannot be configured further.
The items can be reordered by drag-and-drop. Each item can be configured (by opening "Combo details"), cloned, enabled/disabled, or removed. Cloning creates a duplicate entry at the bottom of the list.
A global menus:
Add. Calls the Service picker, and the picked service is added to the bottom of the list. The same service can be picked multiple times, because it can be configured to have different parameter value overrides compared to the other instances of the same service.
Load. Loads a json-file with the description of the current selection.
Save. Saves a json-file with the description of the current selection.
There are two separate lists: for the IME and for the search panel. Both lists are pre-populated during the first usage of the app based on the available services (if "Kõnele service" has been installed then Kõnele's own services are ignored) and the default locales. If the services do not programmatically publish their supported languages then the initial list would contain number_of_services times number_of_locales entries (which the user can easily prune).
Combo details
Shows some static info (name) and link (main config activity) of the service, and 3 categories of editable fields representing values to parameters.
GUI parameters: icon, short label, long label. These would have pre-populated values based on the icon and the name of the service and the specified input language.
RecognizerIntent EXTRAs (https://developer.android.com/reference/android/speech/RecognizerIntent), e.g. "android.speech.extra.LANGUAGE". Maybe use reflection to populate the list of available EXTRAs. Some EXTRAS have very specific type of values, e.g. comma-separated list of locales. Ideally the user should be able to select the values from a given list and/or should be supported by input validation.
Service-specific EXTRAs, e.g. "SERVER_URL", "TARGET_LANGUAGE", "GRAMMAR_URL". Ideally, the service should be able to publish, which additional EXTRAs it supports.
Using the combos
The combos are listed in the IME and the search panel as currently (e.g. as buttons with the short label) in the order they appear in the combo list. Clicking on a button makes the corresponding combo the default for the given UI (IME vs panel) and the calling app.
(Work in progress)
Prompt
Implement the following spec in Kotlin using Room, Jetpack Compose and other modern Android libraries.Plan
Replace the UI to the recognition services, which currently consists of 2 activities:
"Recognition services": https://github.com/Kaljurand/K6nele/blob/master/app/src/main/java/ee/ioc/phon/android/speak/activity/RecServiceSelectorActivity.java
"Languages & services": https://github.com/Kaljurand/K6nele/blob/master/app/src/main/java/ee/ioc/phon/android/speak/activity/ComboSelectorActivity.java
Reason
The current combo picker (flat list of every service + every service with its supported languages) is hard to use and does not offer enough configurability, e.g. one would like to select multiple instances of Kõnele service and configure them to have different server URLs.
New activitives
Service picker
Similar to the current "Recognition services". Shows the list of available services and allows one of them to be selected. Each service is presented with its icon, name, a short description and a link to its configuration activity.
Current combos (= service instances)
Shows the list of currently active combos, each with its
The items can be reordered by drag-and-drop. Each item can be configured (by opening "Combo details"), cloned, enabled/disabled, or removed. Cloning creates a duplicate entry at the bottom of the list.
A global menus:
There are two separate lists: for the IME and for the search panel. Both lists are pre-populated during the first usage of the app based on the available services (if "Kõnele service" has been installed then Kõnele's own services are ignored) and the default locales. If the services do not programmatically publish their supported languages then the initial list would contain number_of_services times number_of_locales entries (which the user can easily prune).
Combo details
Shows some static info (name) and link (main config activity) of the service, and 3 categories of editable fields representing values to parameters.
Using the combos
The combos are listed in the IME and the search panel as currently (e.g. as buttons with the short label) in the order they appear in the combo list. Clicking on a button makes the corresponding combo the default for the given UI (IME vs panel) and the calling app.
Related issues
#11, #14, #94
The text was updated successfully, but these errors were encountered: