Turn Android’s status bar opaque

Some custom Android ROMs include MODs that change the translucency of the status bar. In case you want to remove this customization and return the status bar to be completely opaque (0% translucency), you can follow these instructions that I compiled from the following resources: [MOD][ICS – LP*/CM9] Translucent status bar

Extract

First, extract the SystemUI APK file from the Android device, including required dependencies, and decompile it:

mkdir ~/works
cd ~/works
git clone https://github.com/mateor/auto-patcher.git
export PATH=$PATH:~/works/auto-patcher/patch_tools:~/works/auto-patcher/patch_tools/linux
cd ~/works/auto-patcher/patch_tools/
mkdir ~/works/auto-patcher/patch_tools/signtools
mkdir ~/works/auto-patcher/patch_tools/signed
adb pull /system/app/SystemUI.apk SystemUI.apk
adb pull /system/framework/framework-res.apk framework-res.apk
adb pull /system/framework/twframework-res.apk twframework-res.apk
java -jar apktool.jar if framework-res.apk
java -jar apktool.jar if twframework-res.apk
java -jar apktool.jar d -f SystemUI.apk

Patch

These are the differences between the original SystemUI APK file that is using transparency for the status bar, and a patches SystemUI that has an opaque status bar:

diff -ur SystemUI/res/layout/super_status_bar.xml SystemUI.new/res/layout/super_status_bar.xml
--- SystemUI/res/layout/super_status_bar.xml    2013-06-04 18:02:35.280902774 +0200
+++ SystemUI.new/res/layout/super_status_bar.xml        2013-06-04 17:48:40.430939995 +0200
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<com.android.systemui.statusbar.phone.StatusBarWindowView android:background="@*android:color/transparent" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
+<com.android.systemui.statusbar.phone.StatusBarWindowView android:background="#FF000000" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
     <include android:layout_width="fill_parent" android:layout_height="@*android:dimen/status_bar_height" layout="@layout/tw_status_bar" />
     <include android:layout_width="fill_parent" android:layout_height="0.0dip" layout="@layout/status_bar_expanded" />
-</com.android.systemui.statusbar.phone.StatusBarWindowView>
\ No newline at end of file
+</com.android.systemui.statusbar.phone.StatusBarWindowView>
diff -ur SystemUI/res/values/drawables.xml SystemUI.new/res/values/drawables.xml
--- SystemUI/res/values/drawables.xml   2013-06-04 18:02:37.173902690 +0200
+++ SystemUI.new/res/values/drawables.xml       2013-06-04 17:57:44.172915753 +0200
@@ -52,7 +52,7 @@
     <item type="drawable" name="APKTOOL_DUMMY_020d">false</item>
     <item type="drawable" name="notification_number_text_color">#ffffffff</item>
     <item type="drawable" name="ticker_background_color">#ff1d1d1d</item>
-    <item type="drawable" name="status_bar_background">#00000000</item>
+    <item type="drawable" name="status_bar_background">#ff000000</item>
     <item type="drawable" name="tw_status_bar_quicksetting_button_background">#ff000000</item>
     <item type="drawable" name="status_bar_recents_app_thumbnail_background">#88000000</item>
     <item type="drawable" name="status_bar_notification_row_background_color">#ff090909</item>

Rebuild

Build and sign the patched SystemUI application:

java -jar apktool.jar b -f SystemUI signtools/SystemUI.apk
java -Xmx64m -jar signapk.jar updatecert.pem updatekey.pk8 signtools/SystemUI.apk signed/SystemUI.apk

You can push this APK back to your /system/app directory and then reboot:

adb push signed/SystemUI.apk /system/app
adb reboot
Advertisements

One thought on “Turn Android’s status bar opaque

  1. magnificent submit, very informative. I ponder
    why the other specialists of this sector don’t realize
    this. You should continue your writing. I am confident,
    you’ve a great readers’ base already!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s