ICS: Hide soft key buttons for amazing full screen!


Disclaimer: This post is very old, and may not work anymore. Please use only as reference! Thank you!

When I was using my Nexus One, I thought hiding the notification bar was already very minimalistic for the home screen. With the new ICS, there is now another bar at the bottom - soft key buttons on the screen, instead of capacitative on the phone. I wouldn't have thought that these can be hidden too! Hiding the buttons made my phone even more minimalistic, as you can tell from the screenshots.

If you're using a Galaxy Nexus, or a phone with ICS that uses soft key buttons, you can too hide them! It does take a little time to do so, but the results are amazing.
You might also be wondering, "If you're hiding the soft key buttons, then how do you use the "home" key or "back" key, or any other keys that are usually soft keys?" Well, I'm glad you wondered that! In order to replace the soft keys, an application is needed. In this case, that app is called LMT Launcher. It allows me to open up the soft keys by swiping from the right side of the screen (or left or both sides of screen on configuration). A pie of soft keys pop up (see screenshot below!) and I can select one of the keys!


Now, onto how I configured my system so that the buttons are hidden. Before I continue, I would suggest to check this thread out, as your ROM may already be configured, so you don't need to do the following steps! Also, this thread may be much clearer than my method below. My method is just more concise.
Before continuing, please make a backup of your phone! This method requires rooting the phone as well. As a warning: I am also not responsible for any damage that may be caused by following this procedure. Let's begin!
  1. Download LMT Launcher and install it. Configure it so that the pie appears when swiping from the right (or left, on configuration). Also, make sure to start LMT Launcher at boot.
  2. We first need to take the "framework-res.apk" file from the Android system, located in "system/framework". Use a file manager that can see system files, such as Root Explorer.
  3. We need to decode "framework-res.apk", using apktool. (apktool d framework-res.apk)
  4. Navigate the decoded apk to "framework-res/res/values/bools.xml" and change the "true" value to "false": <bool name="config_showNavigationBar">false</bool>
  5. We now need to encode this apk back to its apk form (using apktool: apktool b framework-res/)
  6. Using WinRAR (or 7Zip), take the "resources.arsc" from the new framework-res.apk and move it into the old framework-res.apk, replacing the "resources.arsc". Use compression method "store".
  7. We're done! Replace this framework-res.apk on your Android phone, and the phone should restart.
Troubleshooting: the current apktool (version 1.4.3) has trouble decoding ICS files. Notably, you may get errors when building the the apk file, as the apktool has a bug when encoding "%d" values. Check this thread for a workaround! Unfortunately, it only works on Windows machines. :(

You should see that the bottom soft keys are gone! You should also be able to use LMT Launcher as well.

If you're curious, this is what I am using on my phone:
  • Cyanogenmod 9 (build 20120318)
  • Nova Launcher Prime
    • Swipe down =  notifications
    • Swipe up = app drawer
    • Hide labels
    • Hide divider between dock and home
    • Hide notification bar
Since CM9 doesn't include many features yet, this might do the trick.

Enjoy! :)