[Nexus 5X Q&A, Help & Troubleshooting] makogaleos:
How can I get the stock voice dialer on my phone working again (without giving up privacy)?

There used to be a dedicated voice dialer app. I would tell it to dial numbers, or I could tell it to dail contacts, and it worked, but that app seems to be gone. Can this be fixed with stock android, or does it require a third-party app?

If you're interested, here's how I got to this point, and how to recreate this problem:

A few months ago, the voice dialer functionality on my Nexus 5X changed (maybe because of an upgrade, or maybe I accidentally changed some settings). Now, when I hold the action button on either a wired headset or a bluetooth headset, the phone launches the "Google App" instead of the stock voice dialer app and subsequent voice commands are interpreted as a Google web search. For example, saying "Call Jane Doe on mobile" doesn't actually call anybody, rather the app hears me perfectly but launches a search for the string "Call Jane Doe on mobile" instead of actually calling her. I've found a solution to this awkward web search behavior: enable "OK Google Hotword Detection" within the Google App's settings (bad design, really, because the microphone action button already works to initiates voice commands so it's not necessary for the app to listen for the 'OK Google' hotword to then start listening, but let's put that aside for now). So now it's working a bit better, and when I say "Call Jane Doe on mobile", it actually acknowledges that I have issued some kind of phone dial command. And here's where the big problem is: it refuses to place the call. It gives a message over audio saying that the Google needs permission to my contacts, but I've verified that the app already does have the contacts permission enabled. So what's stopping it? Well it turns out, it's not asking for local access to your contacts, rather it's asking for you to send Google your calendar, apps, music, battery life, and sensor readings -- uhhhh no thanks! I'm not "in" with allowing Google to generically "store and use" sensitive information in exchange for looking up a contact and placing a phone call (this is still a phone, right?). To summarize: although the app already has access to both my contacts and to my microphone, it refuses to dial a contact unless I give Google blanket permission to store and use my sensitive data .

So let's give up on that because that's a deal breaker for me. Let's circumvent the contact lookup and go old-school by directly dialing phone numbers! "Call one-two-three-four-five-six-seven-eight-nine-ten", and... it refuses again. It wants asks for permission to access your contacts again. Everything is the same. Why does it need to access my contact list if I'm telling it the exact number to dial? Something is very wrong with my phones voice dialing. I want the old app back and I never want to use the google app for voice dialing, but I couldn't figure out how to do it, so I was left with one option: factory reset! No, i didn't actually factory reset my phone to bring voice dialing back, but I did add a generic android user profile to my phone, and to my dismay, the new generic android user profile works the same as my real profile does now, and not how it used to work a few months ago. Refuses to voice-dial a phone number unless I give away my privacy. Is anyone else having this problem?