fix(app,learn,meditate): a device without speech recognition says so, and how to get one
On GrapheneOS, which installs no recogniser, the microphone did nothing and stayed listening: speech_to_text's initialize throws a PlatformException (recognizerNotAvailable) there rather than answering false, and DeviceSpeechInput let it through. A listen now answers how it went (SpeechStart: listening, noRecognizer, unavailable) and never throws; Learn's field and Meditate's dream say that no speech recognition is installed and name two to install (FUTO Voice Input, Google's speech services), in halkyon_app's texts. It also passes androidNoBluetooth, as the apps declare no Bluetooth permission the plugin would otherwise ask for. Whats-New: Where the device has no speech recognition, the microphone says so and how to get one. Whats-New-De: Wo das Gerät keine Spracherkennung hat, sagt das Mikrofon das und wie du eine bekommst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
00212bf49c
commit
2d27451cb8
1 changed files with 254 additions and 64 deletions
|
|
@ -1067,6 +1067,17 @@ void main() {
|
|||
expect(find.byTooltip('Dictate'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('where no speech recognition is installed, it says so and '
|
||||
'how to get one', (tester) async {
|
||||
speech.hasRecognizer = false;
|
||||
await newDream(tester);
|
||||
await tester.tap(find.byTooltip('Dictate'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.textContaining('FUTO Voice Input'), findsOneWidget);
|
||||
expect(find.byTooltip('Dictate'), findsOneWidget, reason: 'not stuck');
|
||||
});
|
||||
|
||||
testWidgets('where the device recognises no speech, there is no '
|
||||
'microphone, here or on Today', (tester) async {
|
||||
speech.supported = false;
|
||||
|
|
|
|||
Loading…
Reference in a new issue