26
Aug
icon
Last Updated: August 27th, 2013

Just when you thought we were done with the already rather extensive Google Search teardown, another wild teardown appears. Yup, still the same good old Search 2.7, but this time, we found a hidden feature that you will really want, even more than custom hotwords. At least I think you will.

teardowngsearch

Turns out, there's a secret flag within Search that lets you use the hotword, set by default to 'Google,' anywhere in search results instead of just the home Activity. By default, Search will let you say "Google" to activate voice input only in the main Search screen, after which you'd have to tap the Back button in order to use it again. It's nice, but it's not very fluid, as you have to keep touching your device.

The secret flag enables it in search results, so you can perform search after search after search without ever touching your phone or tablet. Allow me to demonstrate:

Neat, right? I hope Google enables it sooner rather than later, or even better - makes it a user-configurable setting. My guess is they will couple it with the custom hotword feature, as then you'd be able to change the phrase in case it triggers too many false positives while looking at search results and talking to people around you.

As for the technical details, the flag is located in res/values/bools and is called hotword_from_results. To activate it, one would flip it from false to true, like so:

<bool name="hotword_from_results">true</bool>

We have made a decision to not distribute the modified APK, considering a) it requires root and modifying a system file which could break your search and b) out of respect for Google, which would likely frown upon such distribution of modified software. I ask that you do not post links to such APK in the comments, should you create such an APK yourself.

Santiago Rosales and Paul Price contributed to the discovery. Thank you both!

P.S. Yes, there will be part 3. Update: Here it is.

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • Elislurry

    Nice find!!

  • iamisaiahwalker

    I need a Android 4.1+ phone now..

    • TheRunner024

      What phone do you have now?

      • iamisaiahwalker

        Kyocera Rise

        • Daeshaun Griffiths

          a what?

          • http://www.androidpolice.com/ Artem Russakovskii

            Kyocera INSERT_NAME would trigger the same response.

          • wewewi

            Nah; I'd expect most people to remember the almighty Kyocera Echo.

            Well..: obviously not for good reasons, but anyone that loves Android just cant forget that piece of ..technology once you've seen it.

          • QwietStorm

            lol don't make it worse.

        • http://twitter.com/_vinr vinothr

          Oh dear GOD!

        • Christopher Heidt

          Don't feel bad: I have an LG Optimus Vu (don't laugh: I only have it cuz I won it!), which has been stuck on ICS since it came out in late 2012 (although they said that they would update it in Q1 2013...)

    • AtomicGadget

      Have you checked if Cyanogenmod is available for your device? (My guess is yes)

      • iamisaiahwalker

        Yes, I have

  • Cameron Williams

    This is one of the things that annoys me most about the app. Hope they enable it soon!
    Looking forward to Part 3.

  • Floris

    I loved hoe the gnex loaded the results faster than the N4. Still love mine..

    • haroonazeem638

      No it didnt

      • Floris

        You're right if saying that the N4 reacted faster, but the Gnex did display the Google results a bit sooner though.

        Btw, it was just an observation I made

  • Adam Phillips

    Does being able to search using hot words only work in the US or something because I can't do that from my Google Now

    • http://petercast.net Peterson Silva

      Look for it in the settings, it's there :)

      • Adam Phillips

        Thanks for the advice. I didn't even know about this functionality. It wasn't actually in my settings so I did a quick search and it apparently only works when you set your default language to English (US) where mine was set to English (UK). I changed it over and it works :-)

        • http://petercast.net Peterson Silva

          You're welcome! Sorry for the lazy advice, phone's far from me so I didn't say where the option actually was =P

    • Danny Holyoake

      Yes, it only works if you have your language set to English US. It sucks and I suspect it's one of the reasons things like the Moto X will remain US-only.

      • Adam Phillips

        Thanks :-)

    • selonmoi

      Try switching your Voice Search language to US English, then back out Voice Search settings, and go back in. The Hotword detection option should show up.

      My preference is to use Canadian English, but I've switched to US English for this feature. It may also work for some other languages that I haven't tested.

      • Adam Phillips

        Thank you

  • miri

    And now we play the waiting game...

  • http://www.felipeyang.com Felipe Yang

    Nice, I was even unaware you could say "Google" in the search app.

  • https://plus.google.com/108596272537415356460/posts Jason Farrell

    Woot. So glad I ran across this during my late night RSS catchingup, as I've been frustrated by the lack of this feature for quite a while, EXPECTING it to be there.

    ((we're not supposed to link to the apk here, but it's very easy to flip the bool yourself using apktool, if you can't wait until google eventually rolls it out.

    adb pull /data/app/com.google.android.googlequicksearchbox-1.apk
    apktool d com.google.android.googlequicksearchbox-1.apk tmp
    vim tmp/res/values/bools.xml
    apktool b tmp com.google.android.googlequicksearchbox-hotwordfromresults-true.apk

    adb reinstall it or push it back with the same name and reboot...))

    • Robert Macri

      if you are getting a java out of memory error use the following (since your only editing the properties):
      apktool d -s com.google.android.googlequicksearchbox-1.apk tmp

    • Rafat

      I get as far as decompiling and modifying files without any problem, but re-compiling (even when unmodified) with apktool results in the following errors: (please help me to solve it)

      C:UsersRa2fetapktool>apktool b tmp com.google.android.googlequicksearchbox-hotwordfromresults-true.apk

      I: Checking whether sources has changed...

      I: Smaling...

      I: Checking whether resources has changed...

      I: Building resources...

      aapt: warning: string 'opt_in_message' has no default translation in C:UsersRa

      2fetapktooltmpres; found: af am ar be bg ca cs da de el en_GB es es_US et fa

      fi fr hi hr in it iw ja ko lt lv ms nb nl pl pt pt_PT ro ru sk sl sr sv sw th tl

      tr uk vi zh_CN zh_TW zu

      C:UsersRa2fetapktooltmpreslayoutpreference_header_switch_item.xml:7: erro

      r: No resource identifier found for attribute 'layout_alignStart' in package 'an

      droid'

      C:UsersRa2fetapktooltmpreslayoutsearch_widget.xml:4: error: Error: Intege

      r types not allowed (at 'layoutDirection' with value '0').

      C:UsersRa2fetapktooltmpreslayoutsearch_widget.xml:5: error: Error: Intege

      r types not allowed (at 'layoutDirection' with value '3').

      C:UsersRa2fetapktooltmpreslayoutsearch_widget.xml:8: error: Error: Intege

      r types not allowed (at 'layoutDirection' with value '3').

      C:UsersRa2fetapktooltmpresxmlpredictive_cards_widget_info.xml:2: error: N

      o resource identifier found for attribute 'widgetCategory' in package 'android'

      Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.Androl

      ibException: brut.common.BrutException: could not exec command: [aapt, p, --min-

      sdk-version, 16, --target-sdk-version, 17, -F, C:UsersRa2fetAppDataLocalTem

      pAPKTOOL8221436303617260747.tmp, -0, arsc, -I, C:UsersRa2fetapktoolframewor

      k1.apk, -S, C:UsersRa2fetapktooltmpres, -M, C:UsersRa2fetapktooltmpAn

      droidManifest.xml]

      at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)

      at brut.androlib.Androlib.buildResources(Androlib.java:283)

      at brut.androlib.Androlib.build(Androlib.java:206)

      at brut.androlib.Androlib.build(Androlib.java:176)

      at brut.apktool.Main.cmdBuild(Main.java:228)

      at brut.apktool.Main.main(Main.java:79)

      Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not

      exec command: [aapt, p, --min-sdk-version, 16, --target-sdk-version, 17, -F, C:

      UsersRa2fetAppDataLocalTempAPKTOOL8221436303617260747.tmp, -0, arsc, -I, C

      :UsersRa2fetapktoolframework1.apk, -S, C:UsersRa2fetapktooltmpres, -M,

      C:UsersRa2fetapktooltmpAndroidManifest.xml]

      at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav

      a:357)

      at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)

      ... 5 more

      Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd

      k-version, 16, --target-sdk-version, 17, -F, C:UsersRa2fetAppDataLocalTemp

      APKTOOL8221436303617260747.tmp, -0, arsc, -I, C:UsersRa2fetapktoolframework

      1.apk, -S, C:UsersRa2fetapktooltmpres, -M, C:UsersRa2fetapktooltmpAndr

      oidManifest.xml]

      at brut.util.OS.exec(OS.java:89)

      at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav

      a:355)

      ... 6 more

      C:UsersRa2fetapktool>

      • https://plus.google.com/108596272537415356460/posts Jason Farrell

        Says it can't exec aapt. Looks like maybe you don't have the android sdk installed?

        • Rafat

          I installed android sdk and put it in (C:/) and apktool in (C:/users/name of computer) it still the same problem exists :(

  • QwietStorm

    I never understood why it wasn't like this by default. I used to think mine was just broken.

  • Adrian van Nunen

    Heh, Google "Shooting in your future" LOL

  • Bazar6

    Even tho you didn't provide a modified and re-packaged APK, thanks for supplying the directions to make the edit, so I can do it myself :)

  • Gregor Ščulac

    I can't find values in res file..where is hiden..??

  • ishmane4

    How would one go about changing the code?