feat(learn,todo,meditate): dictate through the phone's voice input app (ADR 0038, D18)

On Android the microphone now opens the app handling
RECOGNIZE_SPEECH (FUTO Voice Input, Google's), the default the person
chose in Android, and puts the text it returns where the cursor stood,
as Dictation does; cancelled, nothing. Only where none is installed, or
it can't be opened, does speech_to_text listen in line as before.

halkyon_app: VoiceInputApp (one listen, an answer once closed) on the
channel app.halkyon/voice_input, which DeviceSpeechInput asks first at
every listen, answering SpeechStart.finished so that Dictation doesn't
listen again; speech_to_text isn't touched on that route, so our app
asks for no microphone. SpeechInput.listen and Dictation.start take the
prompt the voice input app shows (the field's hint).

Each app: VoiceInput.kt (queryIntentActivities, startActivityForResult,
the first of EXTRA_RESULTS) attached in MainActivity, which hands it
activity results, and RECOGNIZE_SPEECH among the manifest's queries.
The privacy pages of Learn and Meditate say so.

Our own Whisper and Meditate's dream recordings are dropped (D18).

Whats-New: The microphone now dictates through your phone's voice input app, such as FUTO Voice Input.
Whats-New-De: Das Mikrofon diktiert jetzt über die Spracheingabe-App deines Telefons, etwa FUTO Voice Input.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-07 23:45:20 +01:00
commit c36bd83c6a
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -90,9 +90,11 @@ const List<PrivacyPagePoint> _privacyPagePoints = [
'further, what it looks up there, and the files you attach: never '
'your progress, and a private studyset only once you agreed to send '
'it to that assistant. A question you speak is written by your '
'device’s own speech recognition, which on Android may send the '
'sound to Google or the phone’s maker; it never reaches the '
'instance.',
'device’s own speech recognition: on Android the voice input app '
'installed (FUTO Voice Input, for one), which hands Learn the text '
'alone and decides itself whether the sound leaves the device, or '
'else Android’s recogniser, which may send the sound to Google or '
'the phone’s maker; it never reaches the instance.',
german:
'Deine Unterhaltungen mit Assistenten werden aufbewahrt, um sie '
'zwischen '
@ -104,9 +106,12 @@ const List<PrivacyPagePoint> _privacyPagePoints = [
'suchen lässt, was er dort nachschlägt, und die Dateien, die du '
'anhängst: nie deinen Fortschritt, und ein privates Lernset erst, '
'nachdem du zugestimmt hast, es diesem Assistenten zu senden. Eine '
'Frage, die du sprichst, schreibt die Spracherkennung deines Geräts, '
'die auf Android den Ton an Google oder den Hersteller des Telefons '
'senden kann; die Instanz erreicht er nie.',
'Frage, die du sprichst, schreibt die Spracherkennung deines Geräts: '
'auf Android die installierte Spracheingabe-App (etwa FUTO Voice '
'Input), die Learn nur den Text gibt und selbst entscheidet, ob der '
'Ton das Gerät verlässt, sonst Androids Spracherkennung, die den Ton '
'an Google oder den Hersteller des Telefons senden kann; die Instanz '
'erreicht er nie.',
),
(
english: