[MOD][GUIDE][JB 4.1.2] AOSP Style Status Bar on Samsung ROMs

Search This thread

davidwilson83

Retired Forum Mod / Inactive RC & RT
Apr 20, 2012
4,155
12,714
40
Perth
Google Pixel 5
G'Day XDA,

I wanted to share with you a few quick and easy mods that I found while modding my phone. Here we go...

[SIZE=+2]AOSP STYLE CLEAR-ALL BUTTON IN EXPANDED STATUS BAR on SAMSUNG ROMs[/SIZE]

Original:

screenshot20130123041901_zps880379e6.png


Mod:

JellyBean_Notifications1_zps630a8812.png


Ok first things first, you need to decompile SystemUI.apk (I will assume that you know how to copy the apk from your phone using a root explorer and decompile using a program like APK Tool).
Once it has decompiled successfully, open up /res/layout/tw_status_bar_expanded_header.xml and you will see this:

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
    <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
    <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
    <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
    <ImageView android:layout_width="1.0dip" android:layout_height="25.0dip" android:layout_marginTop="7.0dip" android:layout_marginBottom="7.0dip" android:src="@drawable/tw_quick_panel_plnm_setting_dv" />
    <RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
        <ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
    </RelativeLayout>
</LinearLayout>

Now you need to delete everything after the line which starts with <com.android.systemui.statusbar.RotateToggle and replace it with the following code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
    <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
    <ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
</LinearLayout>

So your finished file should look exactly like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
    <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
    <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
    <ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
    <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
    <ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
</LinearLayout>

What this does is it moves the settings icon from the far right to the left next to the date (notice the first line we deleted started with <Space and the line we replaced it with was <ImageView android:id="@id/settings_button") and also adds the clear all button (@id/clear_all_button) to the top right.
Now save tw_status_bar_expanded_header.xml and close it.

So now the clear all button is going to be showing on the top right of the status bar, but there will also be a clear all button in the notification area, like this picture:

screenshot2013012304190_zpsefc5b023.png


So we need to open up tw_status_bar_expanded.xml and look for the following line:
Code:
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
and delete it.

The reason why we delete that is because it is the button which has the text Clear All that appears on the right side of the Notifications header when you have notifications, which we don't need as there is already a nice AOSP style button we can press in the top right of the expanded status bar :) .
Now save tw_status_bar_expanded.xml and close it.

Now recompile SystemUI.apk, and either change it's name by removing the 'unsigned' from the start of it's name, push it to your device (don't forget to change permissions to RW-R--R--) and reboot OR take those 2 files from the newly compiled unsignedSystemUI.apk and put them in a VRTheme zip, flash them in recovery and VOILA! I have included a VRTheme Zip to this post called 'AOSP Clear All Button' which you can download and flash in recovery as well.

Easy, even for a noob like me :) Enjoy.


[SIZE=+2]EDIT CLEAR ALL BUTTON TO INCLUDE FOCUS OPTION[/SIZE]

You can also do a minor change to an xml file and add an icon to SystemUI.apk to allow for a 'focus' option of the new clear all button that you have re-added.

In your APK Tool directory in /projects/SystemUI.apk navigate to /res/drawable and open up ic_notify_clear.xml you will see this:

Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
    <item android:drawable="@drawable/ic_notify_clear_normal" />
</selector>

So this means the button acts in a very basic way. When the button appears in the expanded status bar, you will be looking at the icon ic_notify_clear_normal.png which is in the /res/drawable-hdpi folder, and when you press it, it changes to the icon ic_notify_clear_pressed.png which is also in the /res/drawable-hdpi folder. What we want to do is add some more code in there to allow for the icon to change to a third icon when we press and hold (focus) on it,

So you need to change the content of ic_notify_clear.xml to the following:

Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
    <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/ic_notify_clear_normal" />
    <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
    <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_focus" />
    <item android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
    <item android:state_focused="true" android:drawable="@drawable/ic_notify_clear_focus" />
	<item android:drawable="@drawable/ic_notify_clear_normal" />
</selector>

So what this does is it tells the SystemUI.apk to change the icon we see when we press and hold on the clear all button from the normal ic_notify_clear_press.png to a new icon which I have called ic_notify_clear_focus.png which you will need to create using an icon editor. I use Greenfish Icon Editor Pro but lots of people use Photoshop as well.

To create the icon, I opened up ic_notify_clear_pressed.png from the /res/drawable-hdpi folder and added more of a glow effect to it. I have attached a copy of it to the post. You can create your own though, if you want to. What you will need to do it copy it into the /res/drawable-hdpi folder and after changing the ic_notify_clear.xml from the /res/drawable folder you will then need to save the file, close it and recompile the apk.

Now if you want to push it back into /system/app on your phone then do that (don't forget to change permissions to RW-R--R--) but if, like me, you wish to flash it in recovery using a VRTheme zip file, then you will need to do a few steps. Firstly, out of the newly recompile unsignedSystemUI.apk you will need take the new icon you created and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable-hdpi in the VRTheme zip file and you will also need to take the ic_notify_clear.xml that you edited out of the recompiled apk and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable in the zip file. Then you will need to close the zip file.

Now the next thing we have to do is take the resources.arsc file from our newly re-compiled unsignedSystemUI.apk and save it on the computer somewhere (I usually put it on the desktop so I know where it is and then delete it afterwards) and then you will need to us a zip program like WinRar to open up the VRTheme zip file. I don't use 7Zip for this part because I can't get it to simply store a file instead of compressing it. So we need to use WinRar to open up the VRTheme zip file and navigate to /vrtheme/preload/symlink/system/app/SystemUI.apk and you will see the res folder in the window. Now drag the resources.arsc file that you saved into the window and when the box comes up that asks you how you want to compress it, you need to change it to the 'store' option so that it doesn't compress the resources.arsc file at all.

I can't include the resources.arsc file as if you have any other mods or icons or anything in your SystemUI.apk, it will be incompatible with the resources.arsc file from my System UI.apk. I have, however, included a VRTHeme zip file to this post called 'Clear All Button Focus' which has the icon and xml file that we edited earlier, that you can add your resources.arsc file to and flash in recovery.

Enjoy! :)


[SIZE=+2]AOSP SIGNAL & WIFI INDICATORS[/SIZE]

Another quick and easy mod that I found was the layout of the signal & wifi indicators in the status bar.

Original
screenshot2013012304165_zpsf217d7df.png
wanamlite-i9100-rom-360x600_zpsf9ffeaf6.png


Mod
Mod_zps1a54ce3d.png


In SystemUI.apk/res/layout open up tw_signal_cluster view. You will see this.

Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
        <ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </FrameLayout>
    <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
    <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        </FrameLayout>
        <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
            <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </FrameLayout>
        </FrameLayout>
    </LinearLayout>
    <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.SignalClusterView>

The first line we need to edit is this:
Code:
    <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
Directly after the android:layout_height="wrap_content" and before the > we need to add android:layout_marginRight="0.0dip" .
So now that line should look like this:
Code:
    <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">

The next line we need to edit is this:
Code:
        <ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
In the very first part of the line android:layout_gravity="center" we need to add bottom| directly before center" . Directly after android:layout_height="wrap_content" we need to add android:layout_marginLeft="-6.0dip" before the last />
So now that line should look like this:
Code:
         <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />

Now we need to focus on this section here:
Code:
                <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        </FrameLayout>
        <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
            <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </FrameLayout>
        </FrameLayout>
We need to change that whole section with this:
Code:
               <RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                    <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                </FrameLayout>
            </FrameLayout>
            <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
            </FrameLayout>
        </RelativeLayout>

Your fully edited tw_signal_cluster_view.xml should now look like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">
        <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
        <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />
    </FrameLayout>
    <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
    <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                    <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                </FrameLayout>
            </FrameLayout>
            <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
            </FrameLayout>
        </RelativeLayout>
    </LinearLayout>
    <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.SignalClusterView>

That's it for the coding. You will also need to replace a number of icons in /res/drawable-hdpi which start with stat_sys. I have included them in a zip file called AOSP Signal Icons Only which is attached to this post.
Just put them all into /res/drawable-hdpi then recompile and enjoy. I have also attached a VRTheme zip file called AOSP Signal & Wifi Indicators.zip which you can flash from recovery.

That's it. See, easy as! Enjoy :)


[SIZE=+2]Credits:[/SIZE]

Spannaa - For all your help and support. Taught me everything I know and always helps no matter what. There should be more people like him on this forum. He is also a very knowledgeable themer, go and look at his thread [THEME][NeatROM 4.7 XWLSS] Blue Ginger Plus theme with 23 toggles

Google - For creating Android

Samsung - For making our beloved Galaxy S II

Faryaab - For making the AOSP ROM Super Nexus which I have used as a benchmark. Find it here: [ROM][AOSP][JB][4.1.2][JZO54K] SuperNexus - I9100 - BUILD 5 [17-10-12]
 

Attachments

  • ic_notify_clear_focus.png
    ic_notify_clear_focus.png
    1.4 KB · Views: 45,294
Last edited:

Tired Storeman

Senior Member
Sep 2, 2010
904
1,254
Perth
Hey daveyannihilation,
Thanks for the great tutorial,
it took me a while but i finally managed to achieve this mod on my phone,
i was even able to take it a step further and move the settings button to the left of the statusbar
I like the look of the stock settings icon, so i used that instead of the aosp one
Again thanks for the great tutorial
 

Attachments

  • screenshot_2013-06-02_20-25-21.jpg
    screenshot_2013-06-02_20-25-21.jpg
    32.9 KB · Views: 2,614
  • Like
Reactions: davidwilson83

davidwilson83

Retired Forum Mod / Inactive RC & RT
Apr 20, 2012
4,155
12,714
40
Perth
Google Pixel 5
Hey daveyannihilation,
Thanks for the great tutorial,
it took me a while but i finally managed to achieve this mod on my phone,
i was even able to take it a step further and move the settings button to the left of the statusbar
I like the look of the stock settings icon, so i used that instead of the aosp one
Again thanks for the great tutorial

Hey Tired Storeman,

That looks great! Top work mate. Glad the tutorial was useful for you. To get the settings button where it is in your screenshot, did you put that particular line before the clock reference lines to achieve your desire effect?

Sent from my AOSP Blue SGSII
 
  • Like
Reactions: Spannaa

Tired Storeman

Senior Member
Sep 2, 2010
904
1,254
Perth
Hey Tired Storeman,

That looks great! Top work mate. Glad the tutorial was useful for you. To get the settings button where it is in your screenshot, did you put that particular line before the clock reference lines to achieve your desire effect?

Sent from my AOSP Blue SGSII

To be honest i didnt try putting it before the clock, i didnt think that would work, because i centered the clock
i used android
layout_marginLeft="-108.0dip"
after
android:layout_height="48.0dip"
if you find a better way of doing it, could you let me know, for future references
 

xcly

Senior Member
Oct 22, 2011
872
155
London
Any way of removing the settings button? I tried deleting that line and went into a bootloop. Maybe I need to edit some other part of the apk..
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,420
16,767
Cardiff
Google Pixel 5
Google Pixel 6
Any way of removing the settings button? I tried deleting that line and went into a bootloop. Maybe I need to edit some other part of the apk..
Removing the @id/settings_button lines should do this.

Delete from the original code:
Code:
    <RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
        <ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
    </RelativeLayout>
Or maybe just change android:visibility="visible" to android:visibility="gone"

Or delete from the modified code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />

Your bootloop could due to a bad recompile of SystemUI.apk
 

xcly

Senior Member
Oct 22, 2011
872
155
London
Removing the @id/settings_button lines should do this.

Delete from the original code:
Code:
    <RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
        <ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
    </RelativeLayout>
Or maybe just change android:visibility="visible" to android:visibility="gone"

Or delete from the modified code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />

Your bootloop could due to a bad recompile of SystemUI.apk

Thanks for the reply. Tried the last option you gave me because I do want the AOSP style, just not the settings button there as well. Still giving me a bootloop. I don't think it's a bad recompile as I tried it a multiple times with the same result.

Tried changing the width and height to wrap_content, as that seem to make it flexible, got through to Android is upgrading part but bootloop after that.. T_T
I'm probably naive but I don't see how deleting that one line, which seems sensible enough, causes a bootloop.. Probably will have to stick with settings button until I figure out a way.. unless you might have some other ideas?
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,420
16,767
Cardiff
Google Pixel 5
Google Pixel 6
Thanks for the reply. Tried the last option you gave me because I do want the AOSP style, just not the settings button there as well. Still giving me a bootloop. I don't think it's a bad recompile as I tried it a multiple times with the same result.

Tried changing the width and height to wrap_content, as that seem to make it flexible, got through to Android is upgrading part but bootloop after that.. T_T
I'm probably naive but I don't see how deleting that one line, which seems sensible enough, causes a bootloop.. Probably will have to stick with settings button until I figure out a way.. unless you might have some other ideas?

Does it work if you don't delete the line?

Just a thought: When you decompiled SystemUI.apk, did you install the two frameworks first (framework-res.apk & twframework-res.apk)?
 
  • Like
Reactions: davidwilson83

xcly

Senior Member
Oct 22, 2011
872
155
London
Does it work if you don't delete the line?

Just a thought: When you decompiled SystemUI.apk, did you install the two frameworks first (framework-res.apk & twframework-res.apk)?

Yup following the guide as it is works fine. Just starts bootlooping if I delete the line..

Do you mean "apktool if frameworks"? Then I haven't done so.. worked fine without it so far so didn't really give it a thought. I'll try it out when I get home (if that is what you meant)

Sent from my GT-N7105 using xda premium
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,420
16,767
Cardiff
Google Pixel 5
Google Pixel 6
Yup following the guide as it is works fine. Just starts bootlooping if I delete the line..

Do you mean "apktool if frameworks"? Then I haven't done so.. worked fine without it so far so didn't really give it a thought. I'll try it out when I get home (if that is what you meant)

Sent from my GT-N7105 using xda premium

Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.

Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.
 

xcly

Senior Member
Oct 22, 2011
872
155
London
Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.

Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.

Ah cool. Will try that and let you know :)

Sent from my GT-N7105 using xda premium

---------- Post added at 02:59 PM ---------- Previous post was at 02:05 PM ----------

Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.

Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.

The visibility thing worked like a charm. Thanks a lot for your help :)
 

tevaadarelsol

Senior Member
Dec 13, 2008
89
15
Spain
Hi all;

I'm trying to do something and I've seen this thread.

I've replaced the alarm clock icon by this one (the little thin line at left of wifi icon)

attachment.php


Ok, what I want is to have this icon beside the clock, like this:

Screenshot_2013-06-11-16-41-55.jpg


How can I get this? I've tried changing many things in SystemUI's xml but I'm unable to get it...

Can anybody give me a hand? Thanks in advance!
 

Attachments

  • Screenshot_2013-06-11-16-41-55.jpg
    Screenshot_2013-06-11-16-41-55.jpg
    25.1 KB · Views: 590
Last edited:

tevaadarelsol

Senior Member
Dec 13, 2008
89
15
Spain
Hi all;

I'm trying to do something and I've seen this thread.

I've replaced the alarm clock icon by this one (the little thin line at left of wifi icon)

attachment.php


Ok, what I want is to have this icon beside the clock, like this:

Screenshot_2013-06-11-16-41-55.jpg


How can I get this? I've tried changing many things in SystemUI's xml but I'm unable to get it...

Can anybody give me a hand? Thanks in advance!

Bump!

Enviado desde mi GT-I9100 usando Tapatalk 2
 

Top Liked Posts

  • There are no posts matching your filters.
  • 29
    G'Day XDA,

    I wanted to share with you a few quick and easy mods that I found while modding my phone. Here we go...

    [SIZE=+2]AOSP STYLE CLEAR-ALL BUTTON IN EXPANDED STATUS BAR on SAMSUNG ROMs[/SIZE]

    Original:

    screenshot20130123041901_zps880379e6.png


    Mod:

    JellyBean_Notifications1_zps630a8812.png


    Ok first things first, you need to decompile SystemUI.apk (I will assume that you know how to copy the apk from your phone using a root explorer and decompile using a program like APK Tool).
    Once it has decompiled successfully, open up /res/layout/tw_status_bar_expanded_header.xml and you will see this:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
        <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
        <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
        <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
        <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
        <ImageView android:layout_width="1.0dip" android:layout_height="25.0dip" android:layout_marginTop="7.0dip" android:layout_marginBottom="7.0dip" android:src="@drawable/tw_quick_panel_plnm_setting_dv" />
        <RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
            <ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
        </RelativeLayout>
    </LinearLayout>

    Now you need to delete everything after the line which starts with <com.android.systemui.statusbar.RotateToggle and replace it with the following code:
    Code:
    <ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
        <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
        <ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
    </LinearLayout>

    So your finished file should look exactly like this:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
        <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
        <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
        <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
        <ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
        <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
        <ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
    </LinearLayout>

    What this does is it moves the settings icon from the far right to the left next to the date (notice the first line we deleted started with <Space and the line we replaced it with was <ImageView android:id="@id/settings_button") and also adds the clear all button (@id/clear_all_button) to the top right.
    Now save tw_status_bar_expanded_header.xml and close it.

    So now the clear all button is going to be showing on the top right of the status bar, but there will also be a clear all button in the notification area, like this picture:

    screenshot2013012304190_zpsefc5b023.png


    So we need to open up tw_status_bar_expanded.xml and look for the following line:
    Code:
    <TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
    and delete it.

    The reason why we delete that is because it is the button which has the text Clear All that appears on the right side of the Notifications header when you have notifications, which we don't need as there is already a nice AOSP style button we can press in the top right of the expanded status bar :) .
    Now save tw_status_bar_expanded.xml and close it.

    Now recompile SystemUI.apk, and either change it's name by removing the 'unsigned' from the start of it's name, push it to your device (don't forget to change permissions to RW-R--R--) and reboot OR take those 2 files from the newly compiled unsignedSystemUI.apk and put them in a VRTheme zip, flash them in recovery and VOILA! I have included a VRTheme Zip to this post called 'AOSP Clear All Button' which you can download and flash in recovery as well.

    Easy, even for a noob like me :) Enjoy.


    [SIZE=+2]EDIT CLEAR ALL BUTTON TO INCLUDE FOCUS OPTION[/SIZE]

    You can also do a minor change to an xml file and add an icon to SystemUI.apk to allow for a 'focus' option of the new clear all button that you have re-added.

    In your APK Tool directory in /projects/SystemUI.apk navigate to /res/drawable and open up ic_notify_clear.xml you will see this:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
        <item android:drawable="@drawable/ic_notify_clear_normal" />
    </selector>

    So this means the button acts in a very basic way. When the button appears in the expanded status bar, you will be looking at the icon ic_notify_clear_normal.png which is in the /res/drawable-hdpi folder, and when you press it, it changes to the icon ic_notify_clear_pressed.png which is also in the /res/drawable-hdpi folder. What we want to do is add some more code in there to allow for the icon to change to a third icon when we press and hold (focus) on it,

    So you need to change the content of ic_notify_clear.xml to the following:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
        <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
        <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/ic_notify_clear_normal" />
        <item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
        <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_focus" />
        <item android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
        <item android:state_focused="true" android:drawable="@drawable/ic_notify_clear_focus" />
    	<item android:drawable="@drawable/ic_notify_clear_normal" />
    </selector>

    So what this does is it tells the SystemUI.apk to change the icon we see when we press and hold on the clear all button from the normal ic_notify_clear_press.png to a new icon which I have called ic_notify_clear_focus.png which you will need to create using an icon editor. I use Greenfish Icon Editor Pro but lots of people use Photoshop as well.

    To create the icon, I opened up ic_notify_clear_pressed.png from the /res/drawable-hdpi folder and added more of a glow effect to it. I have attached a copy of it to the post. You can create your own though, if you want to. What you will need to do it copy it into the /res/drawable-hdpi folder and after changing the ic_notify_clear.xml from the /res/drawable folder you will then need to save the file, close it and recompile the apk.

    Now if you want to push it back into /system/app on your phone then do that (don't forget to change permissions to RW-R--R--) but if, like me, you wish to flash it in recovery using a VRTheme zip file, then you will need to do a few steps. Firstly, out of the newly recompile unsignedSystemUI.apk you will need take the new icon you created and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable-hdpi in the VRTheme zip file and you will also need to take the ic_notify_clear.xml that you edited out of the recompiled apk and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable in the zip file. Then you will need to close the zip file.

    Now the next thing we have to do is take the resources.arsc file from our newly re-compiled unsignedSystemUI.apk and save it on the computer somewhere (I usually put it on the desktop so I know where it is and then delete it afterwards) and then you will need to us a zip program like WinRar to open up the VRTheme zip file. I don't use 7Zip for this part because I can't get it to simply store a file instead of compressing it. So we need to use WinRar to open up the VRTheme zip file and navigate to /vrtheme/preload/symlink/system/app/SystemUI.apk and you will see the res folder in the window. Now drag the resources.arsc file that you saved into the window and when the box comes up that asks you how you want to compress it, you need to change it to the 'store' option so that it doesn't compress the resources.arsc file at all.

    I can't include the resources.arsc file as if you have any other mods or icons or anything in your SystemUI.apk, it will be incompatible with the resources.arsc file from my System UI.apk. I have, however, included a VRTHeme zip file to this post called 'Clear All Button Focus' which has the icon and xml file that we edited earlier, that you can add your resources.arsc file to and flash in recovery.

    Enjoy! :)


    [SIZE=+2]AOSP SIGNAL & WIFI INDICATORS[/SIZE]

    Another quick and easy mod that I found was the layout of the signal & wifi indicators in the status bar.

    Original
    screenshot2013012304165_zpsf217d7df.png
    wanamlite-i9100-rom-360x600_zpsf9ffeaf6.png


    Mod
    Mod_zps1a54ce3d.png


    In SystemUI.apk/res/layout open up tw_signal_cluster view. You will see this.

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
            <ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        </FrameLayout>
        <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
        <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </FrameLayout>
            <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
                <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                    <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                </FrameLayout>
            </FrameLayout>
        </LinearLayout>
        <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </com.android.systemui.statusbar.SignalClusterView>

    The first line we need to edit is this:
    Code:
        <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
    Directly after the android:layout_height="wrap_content" and before the > we need to add android:layout_marginRight="0.0dip" .
    So now that line should look like this:
    Code:
        <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">

    The next line we need to edit is this:
    Code:
            <ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    In the very first part of the line android:layout_gravity="center" we need to add bottom| directly before center" . Directly after android:layout_height="wrap_content" we need to add android:layout_marginLeft="-6.0dip" before the last />
    So now that line should look like this:
    Code:
             <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />

    Now we need to focus on this section here:
    Code:
                    <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                <ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </FrameLayout>
            <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
                <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                    <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                </FrameLayout>
            </FrameLayout>
    We need to change that whole section with this:
    Code:
                   <RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                    <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                        <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    </FrameLayout>
                </FrameLayout>
                <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                    <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
                </FrameLayout>
            </RelativeLayout>

    Your fully edited tw_signal_cluster_view.xml should now look like this:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">
            <ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
            <ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />
        </FrameLayout>
        <View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
        <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                    <FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
                        <ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                        <ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    </FrameLayout>
                </FrameLayout>
                <FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
                    <ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    <ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
                </FrameLayout>
            </RelativeLayout>
        </LinearLayout>
        <ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </com.android.systemui.statusbar.SignalClusterView>

    That's it for the coding. You will also need to replace a number of icons in /res/drawable-hdpi which start with stat_sys. I have included them in a zip file called AOSP Signal Icons Only which is attached to this post.
    Just put them all into /res/drawable-hdpi then recompile and enjoy. I have also attached a VRTheme zip file called AOSP Signal & Wifi Indicators.zip which you can flash from recovery.

    That's it. See, easy as! Enjoy :)


    [SIZE=+2]Credits:[/SIZE]

    Spannaa - For all your help and support. Taught me everything I know and always helps no matter what. There should be more people like him on this forum. He is also a very knowledgeable themer, go and look at his thread [THEME][NeatROM 4.7 XWLSS] Blue Ginger Plus theme with 23 toggles

    Google - For creating Android

    Samsung - For making our beloved Galaxy S II

    Faryaab - For making the AOSP ROM Super Nexus which I have used as a benchmark. Find it here: [ROM][AOSP][JB][4.1.2][JZO54K] SuperNexus - I9100 - BUILD 5 [17-10-12]
    6
    Any way of removing the settings button? I tried deleting that line and went into a bootloop. Maybe I need to edit some other part of the apk..
    Removing the @id/settings_button lines should do this.

    Delete from the original code:
    Code:
        <RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
            <ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
        </RelativeLayout>
    Or maybe just change android:visibility="visible" to android:visibility="gone"

    Or delete from the modified code:
    Code:
    <ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />

    Your bootloop could due to a bad recompile of SystemUI.apk
    5
    Its in phonestatusbar.smali not an xml.

    In makestatusbarview method. These lines will help you find....

    check-cast v14, Landroid/view/View;

    invoke-virtual {v14}, Landroid/view/View;->getParent()Landroid/view/ViewParent;

    move-result-object v15

    if-nez v15, :cond_e

    const v15, 0x3f7d70a4

    invoke-virtual {v14, v15}, Landroid/view/View;->setAlpha(F)V

    Change const v15, 0x3f7d70a4 to const v15, -0x100 if I remember right. Its different in 4.3

    Or even just remove this...

    invoke-virtual {v14, v15}, Landroid/view/View;->setAlpha(F)V

    Those lines are in 2 places so both need changing

    Sent from my GT-I9305
    3
    Added Clear All Button Focus guide

    I have edited the first post to add a guide to make the AOSP Clear All Button have a 'focus' option when pressed and held.

    I hope you all enjoy.

    Dave