Question
How to force Google Voice Recognition working in offline mode even if an internet connection is available?
Background
I know Google Voice Recognition has an offline mode1, using "speech recognition packs" one can download.2 I'm also aware that this offline-mode is limited, compared to what it can do via Internet. Still, being a little paranoid on Google's data collection I rather avoid using its online facilities – and so I currently don't use Google Voice Search at all.
I'd like to give it a try, though – but always switching to airplane mode for that is not practical. My devices are all rooted, and have the XPosed Framework installed. I know about the GoogleOfflineVoice module – but that hasn't been updated since 9/2014 and is reported to be non-operational with the current Google Search app (plus it's unclear if the dev will pick up the work; I've just asked about that, answer was "Honestly no idea" (dev lacking time)).
Other benefits
It's reported that Google Voice Search is much faster in offline mode. So if one doesn't need the "extended capabilities" of its online mode, faster reaction will certainly be welcome – which makes this question interesting not only for "privacy fetishists", "conspiracy theorists" and "paranoid users" :)
Question (refined):
So I'm looking for alternatives: simple settings preferred, adb commands definitely accepted, root-solutions are fine. If it requires an app, that app itself should require none or only minimal permissions itself. I'm also open to speech-recognition suggestions not involving Google Voice Search as long as they work offline and don't invade privacy3.
Note:
I'm mainly interested in giving voice commands and maybe doing some dictation.
Related information
1: see: How to use speech-to-text offline?
2: see Google Voice Search requiring internet access even when offline speech recognition pack is installed
3: Internet permission just to download voice-packs is OK, as I can block it as soon as the download is completed. Manual download (placing the files on the SD card) preferred :)
android.speech.extra.PREFER_OFFLINE
extra to get this behavior. I'm looking into how a user might control it. Blocking the IP range does not seem to be feasible since it overlaps with other Google services like the Play Store.INTERNET
permission of the Voice app (whichever that is). Probably won't work as it will utilize Google Play Services I'm afraid. 2) Using a firewall app to block the specific servers. That would require to know which servers that are. If that triggers something for one of you, a solution on that path would be nice to know as well :)