[TEAM XPOSED][HOW-TO]7/18/12 SystemUI mods and how-tos (new: custom notif background)

Search This thread

johentie

Senior Member
Dec 22, 2011
229
23
Toronto
great work...

2 questions though..

1) how do i get the clock back? i depend on it for time since i like the lock screen to be clear of anything but my wallpaper..
2) i cannot find /res/values/.. to edit the carrier..

i am using ES File Explorer and "viewing" the apk... do i need another app to edit the xml files?

Edit: figured out you have to decompile and recompile the APK : > i'll read into doing that...
can you make a version with the clock working?
 
Last edited:

freeza

Recognized Developer
May 28, 2006
5,348
14,140
Pasadena, CA
www.freeza-inc.com
great work...

2 questions though..

1) how do i get the clock back? i depend on it for time since i like the lock screen to be clear of anything but my wallpaper..
2) i cannot find /res/values/.. to edit the carrier..

i am using ES File Explorer and "viewing" the apk... do i need another app to edit the xml files?

Edit: figured out you have to decompile and recompile the APK : > i'll read into doing that...
can you make a version with the clock working?

Sure :)
 

jgrimberg1979

Senior Member
May 16, 2010
981
211
D.C
I dont know if anyone knows how to do this but the sgs2 had a mod called homeMYhome and what it did was it allowed you to replace the double click home button action(which was vlingo) to any app you wanted. For instance i had mine set to camera so if i hit home twice, the camera popped up. Very useful mod especially if you dont use svoice or vlingo.
 

johentie

Senior Member
Dec 22, 2011
229
23
Toronto
sorry and i am assuming u have to be on a deodexed rom to install your theme??

****.. i like my Rogers Stock Rooted for now, just don't want the Green ; < i hate the AT&T 4G icon..

bah..
 

TokedUp

Recognized Contributor
Dec 27, 2010
3,621
1,317
Hellz Kitchen, NYC
Is there any way to get the volume buttons to skip tracks when the screen is off? Sorry to be ot but figured I'd try since we have no lock screen controls.

What about making the *#0011# WiFi mod stick after reboot?

Heard anything about stopping the screen from turning on by itself after receiving a sms?
 
  • Like
Reactions: LAKERHATER4

KING SKILLZ

Senior Member
Jun 21, 2007
387
67
NYC
Thanks for removing the clock!!! always have the widget on the screen so didn't need two. Any plans to have the Status bar in other colors besides this ICS blue? maybe one with a different color for every icon in the status bar. either way thanks again for this mod.
 

xtrezpasor

Senior Member
Dec 27, 2010
675
149
Is there any way to get the volume buttons to skip tracks when the screen is off? Sorry to be ot but figured I'd try since we have no lock screen controls.

What about making the *#0011# WiFi mod stick after reboot?

Heard anything about stopping the screen from turning on by itself after receiving a sms?

What is the *#0011# mod?

Sent from my SPH-L710...if some one helps you press the thanks button
 

thekendog

Senior Member
Jul 25, 2011
324
74
Quick question freeza. What tool do you use to decompile apks that recompiles successfuly as well?

Sent from my SPH-L710 using Tapatalk 2

I would like to know this too. I keep getting a bunch of errors in apktool. I wanted to try and figure out how to add in a small am/pm.
 

thekendog

Senior Member
Jul 25, 2011
324
74
So I got apktool working and all, but the question I have is how do you decompile a systemui.apk from a theme? I keep getting errors when trying to decompile the one from ICS Dominatin. Is it even possible? There are parts of individual mods and themes that I like and I would like to be able to combine them but am not smart enough to start from scratch...hence the wanting to decompile an existing theme systemui.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 52
    HOW-TO

    7/18/12: Custom notification pulldown background:

    First, we're going to use a file that already exists in SystemUI that isn't being used by the system, so that we don't have to create IDs and anything else too difficult. Create your custom background and save it as a png. Yes, it also supports transparency right off the bat! Once you have your custom background selected, name it "status_bar_expand_default.png" and put it in the drawable-xhdpi folder in /res/drawable-xhdpi/ overwriting the current one.

    Now navigate to /res/layout/tw_status_bar_tracking.xml and open it with editor

    LOOK FOR:
    Code:
        <FrameLayout android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />

    CHANGE
    Code:
    android:background="#ff000000"

    TO:
    Code:
    android:background="@drawable/status_bar_expand_default"

    Save & Close

    Compile, push to /system/app/ and change permissions to 644 and reboot or create flashable zip to flash in recovery.
    quick3.png



    7/17/12: Remove battery full notification:

    Navigate to /com/android/systemui/power/PowerUI$1.smali

    LOOK FOR:
    Code:
        iget v14, v14, Lcom/android/systemui/power/PowerUI;->mBatteryStatus:I
    
        if-ne v13, v14, :cond_1b3
    
        move-object/from16 v0, p0
    
        iget-object v13, v0, Lcom/android/systemui/power/PowerUI$1;->this$0:Lcom/android/systemui/power/PowerUI;
    
        invoke-virtual {v13}, Lcom/android/systemui/power/PowerUI;->notifyFullBatteryNotification()V
    
        :cond_da
        :goto_da
        const/4 v13, 0x4

    REMOVE:
    Code:
        invoke-virtual {v13}, Lcom/android/systemui/power/PowerUI;->notifyFullBatteryNotification()V

    Save & Close

    Compile, push to /system/app/ and change permissions to 644 and reboot or create flashable zip to flash in recovery.


    How to decompile troublesome ICS apks on the GS3:

    Start off by downloading the package I put together with APKTOOL v1.4.2 and v1.4.4: here

    You also need to have Java installed, and WinRAR or a comparable archive manager installed.

    Extract it and navigate there with a command prompt

    Grab your framework-res.apk and SystemUI.apk from your ROM or ADB on your phone and place them in the same directory as your apktools

    Open SystemUI with WinRAR or your archive manager and extract the META-INF folder and AndroidManifest.xml file and put them somewhere easy to find.

    In command prompt type this command "apktool if framework-res.apk" and if done correct, you will have installed a dependency for whatever you're about to decompile.

    The trick is to decompile with 1.4.2 which is named apktool142.jar, so rename that to apktool.jar

    Now you're ready to decompile SystemUI. Type this command "apktool d SystemUI.apk" and if done correctly it will start the decompiling process and eventually finish with a new folder "SystemUI" being created.

    Now you can make all of your edits.

    The next trick is to recompile with 1.4.4 which is named apktool144.jar, but first rename your current apktool.jar back to apktool142.jar then rename apktool144.jar to apktool.jar.

    Once done, recompile your SystemUI file by typing "apktool b SystemUI"

    Once done, copy the folder and file from earlier "META-INF" and "AndroidManifest.xml" then open the "SystemUI" folder then open "build" then "apk" and paste them here, which will overwrite the current AndroidManifest.xml and create the META-INF folder in there.

    Now type "apktool b SystemUI" again and this time it will build much faster than before. Once done your file is ready to be tested!

    Open the "SystemUI" folder, go into "dist" and voila, your file is there, signed, and ready to be pushed back to your phone.

    Go ahead and push it back with ADB, or with Root Explorer, OR create yourself a flashable zip. Whatever works for you.

    Enjoy.


    How to remove Quick settings toggle text or hide Quick Settinsg toggle:

    I have seen inquiries about how to mod the quick toggle area to remove it. It's a fairly easy modification to make. Especially if you already know how to decompile and recompile SystemUI.apk

    For the sake of making this HOW-TO short and to the point, I'm going to assume you already know how to successfully decompile and recompile SystemUI.apk. If you don't, I will be posting up another HOW-TO with all the necessary tools. :)

    Let me first start out by apologizing because this is kind of sloppy. It may require less steps but once I got it, I didn't bother going back to figure out if it did require less steps or not.

    Start off by decompiling SystemUI.apk

    Next, navigate to /res/layout/tw_quick_setting_button.xml

    Open it with your favorite editor

    LOOK FOR:
    Code:
    <LinearLayout android:orientation="vertical" android:focusable="false" android:layout_width="fill_parent" android:layout_height="@dimen/quick_setting_button_height">

    CHANGE:
    Code:
    android:layout_height="@dimen/quick_setting_button_height"

    For complete removal of quick toggle settings:

    TO:
    Code:
    android:layout_height="0.0dip"

    For text removal like my mod:

    TO
    Code:
    android:layout_height="50.0dip"

    LOOK FOR:
    Code:
    <TextView android:textSize="@dimen/quick_setting_button_text_size" android:textColor="#ff9eb2c3" android:gravity="center" android:id="@id/btn_text" android:layout_width="fill_parent" android:layout_height="@dimen/quick_setting_button_text_height" android:includeFontPadding="false" android:shadowColor="#ff000000" android:shadowDx="1.0" android:shadowDy="1.0" android:shadowRadius="2.0" />

    CHANGE:
    Code:
    android:textSize="@dimen/quick_setting_button_text_size"

    For complete or text removal:

    TO:
    Code:
    android:textSize="0.0dip"

    Save & close

    Navigate to /res/layout/tw_status_bar_expanded.xml and open with editor

    LOOK FOR:
    Code:
    <com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />

    CHANGE:
    Code:
    android:layout_height="wrap_content"

    For complete removal:

    TO:
    Code:
    android:layout_height="0.0dip"

    For text removal like my mod:

    TO:
    Code:
    android:layout_height="50.0dip"

    If you want to remove the carrier ID (Sprint):

    LOOK FOR and REMOVE:
    Code:
    <com.android.systemui.statusbar.phone.CarrierLabel android:textSize="@dimen/status_bar_expanded_plmn_text_size" android:textColor="#ffd7d7d7" android:ellipsize="marquee" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/date" android:layout_alignParentLeft="true" android:layout_centerVertical="true" />

    Save & close

    These next parts probably aren't needed but I did them anyway. If you want to try compiling and using your SystemUI.apk, go for it and report back. If you want to follow exactly what I did, keep reading..

    Navigate to /res/layout/tw_status_bar_toggle_slider.xml and open with editor

    LOOK FOR:
    Code:
    <TextView android:textSize="15.0dip" android:textColor="#ffd7d7d7" android:id="@id/label" android:layout_width="46.0dip" android:layout_height="wrap_content" android:layout_marginRight="4.0dip" android:singleLine="false" android:layout_alignParentRight="true" android:layout_centerVertical="true" />

    CHANGE:
    Code:
    android:textSize="15.0dip"

    For complete or text removal

    TO:
    Code:
    android:textSize="0.0dip"

    Save & Close

    Navigate to /res/values/dimens.xml and open with editor

    LOOK FOR:
    Code:
        <dimen name="quick_setting_button_text_height">30.0dip</dimen>
        <dimen name="quick_setting_button_text_size">13.0dip</dimen>

    For complete or text removal:

    CHANGE TO:
    Code:
        <dimen name="quick_setting_button_text_height">0.0dip</dimen>
        <dimen name="quick_setting_button_text_size">0.0dip</dimen>

    Save & Close

    Finally, navigate to /res/values/strings.xml and open with editor

    LOOK FOR:
    Code:
        <string name="status_bar_settings_wifi_button">Wi-Fi</string>
        <string name="status_bar_settings_airplane">Airplane mode</string>
        <string name="status_bar_settings_auto_rotation">Auto-rotate screen</string>
        <string name="status_bar_settings_mute_label">MUTE</string>

    For complete or text removal:

    CHANGE TO:
    Code:
        <string name="status_bar_settings_wifi_button"></string>
        <string name="status_bar_settings_airplane"></string>
        <string name="status_bar_settings_auto_rotation"></string>
        <string name="status_bar_settings_mute_label"></string>

    LOOK FOR:
    Code:
        <string name="quickpanel_wifi_text">Wi-Fi</string>
        <string name="quickpanel_bluetooth_text">Bluetooth</string>
        <string name="quickpanel_gps_text">GPS</string>
        <string name="quickpanel_silent_mode_text">"Silent
    mode"</string>
        <string name="quickpanel_silent_mode_sound">Sound</string>
        <string name="quickpanel_silent_mode_vibrate">Vibrate</string>
        <string name="quickpanel_silent_mode_mute">Mute</string>
        <string name="quickpanel_rotation_text">"Screen
    rotation"</string>
        <string name="quickpanel_mobile_data_text">"Mobile
    data"</string>
        <string name="quickpanel_notification_text">Notification</string>
        <string name="quickpanel_airplane_mode_text">"Flight
    mode"</string>
        <string name="quickpanel_sync_text">Sync</string>
        <string name="quickpanel_wifi_display_text">"AllShare
    Cast"</string>
        <string name="quickpanel_power_saving_text">"Power
    saving"</string>
        <string name="quickpanel_driving_mode_text">"Driving
    mode"</string>
        <string name="quickpanel_error_text">Error</string>
        <string name="quickpanel_ctwap_text">CTWAP</string>
        <string name="quickpanel_ctnet_text">CTNET</string>

    For complete or text removal:

    CHANGE TO:
    Code:
        <string name="quickpanel_wifi_text"></string>
        <string name="quickpanel_bluetooth_text"></string>
        <string name="quickpanel_gps_text"></string>
        <string name="quickpanel_silent_mode_text"></string>
        <string name="quickpanel_silent_mode_sound"></string>
        <string name="quickpanel_silent_mode_vibrate"></string>
        <string name="quickpanel_silent_mode_mute"></string>
        <string name="quickpanel_rotation_text"></string>
        <string name="quickpanel_mobile_data_text"></string>
        <string name="quickpanel_notification_text"></string>
        <string name="quickpanel_airplane_mode_text"></string>
        <string name="quickpanel_sync_text"></string>
        <string name="quickpanel_wifi_display_text"></string>
        <string name="quickpanel_power_saving_text"></string>
        <string name="quickpanel_driving_mode_text"></string>
        <string name="quickpanel_error_text"></string>
        <string name="quickpanel_ctwap_text"></string>
        <string name="quickpanel_ctnet_text"></string>

    LOOK FOR:
    Code:
        <string name="quickpanel_data_roaming_text">"Data
    roaming"</string>

    For complete or text removal:

    CHANGE TO:
    Code:
        <string name="quickpanel_data_roaming_text"></string>

    Save & Close

    Compile, push to /system/app/ and change permissions to 644 and reboot or create flashable zip to flash in recovery.

    Now, a lot of these could have simply been removed from the XML, but I decided to mod their values to preserve structure in case I want to put things back the way they were. If you want to experiment with removing the entire "LOOK FOR:" line, please report back the results.

    Enjoy. :)


    How to change carrier label:


    Navigate to /res/values/strings.xml and open with editor

    LOOK FOR:
    Code:
        <string name="done">Done</string>
        <string name="edit">Edit</string>

    AKA at the bottom of the file.

    ADD AFTER:
    Code:
    <string name="custom_carrier">INSERT_CUSTOM_CARRIER_LABEL_HERE</string>

    Add what you want where it says "INSERT_CUSTOM_CARRIER_LABEL_HERE"

    Save & Close.

    Navigate to /res/layout/tw_status_bar_expanded.xml and open with editor

    If you haven't removed the carrier label already:

    LOOK FOR:
    Code:
    <com.android.systemui.statusbar.phone.CarrierLabel android:textSize="@dimen/status_bar_expanded_plmn_text_size" android:textColor="#ffd7d7d7" android:ellipsize="marquee" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/date" android:layout_alignParentLeft="true" android:layout_centerVertical="true" />

    REPLACE WITH:
    Code:
            <TextView android:textSize="@dimen/status_bar_expanded_plmn_text_size" android:textColor="#ffd7d7d7" android:ellipsize="marquee" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/date" android:layout_alignParentLeft="true" android:text="@string/custom_carrier" android:layout_centerVertical="true" />

    If you have removed the carrier label:

    LOOK FOR:
    Code:
            <com.android.systemui.statusbar.policy.DateView android:textSize="@dimen/status_bar_expanded_date_text_size" android:textColor="#ff1589d7" android:id="@id/date" android:paddingRight="12.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/settings_launch_button" android:layout_centerVertical="true" />

    ADD AFTER:
    Code:
            <TextView android:textSize="@dimen/status_bar_expanded_plmn_text_size" android:textColor="#ffd7d7d7" android:ellipsize="marquee" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/date" android:layout_alignParentLeft="true" android:text="@string/custom_carrier" android:layout_centerVertical="true" />

    Save & Close

    Compile, push to /system/app/ and change permissions to 644 and reboot or create flashable zip to flash in recovery.

    quick2.png

    45
    This thread will be about various SystemUI modifications and how to achieve them. The first post will be full of screenshots and my personal mods and the second post will be the how-tos.

    First of all, here is my modified SystemUI in its current form. It has been modded to do the following:

    Blue ICS icons
    Blue style quick toggle icons
    Blue notification shade bottom from ICS
    Remove clock
    Remove carrier ID
    Remove quick toggle text

    Upcoming mods to it will be:
    Battery precentages
    Charging battery animations
    1x display

    quick.png
    5
    Has anybody figured out how to do a custom background pulldown? I tried it the way I used to do on my Epic Touch but it doesn't work. Thanks in advance if anyone knows.

    Give me a sec :)

    EDIT: Got it. Someone wanna give me a background to test it out on?

    EDIT2: Never mind guys. I got it. Posting instructions now. Check the second post to get 'em.

    quick3.png
    3
    How to remove the 100% battery charged notification coming up
    2
    Oh...just saw this....would love the zip. I'll give it a test on my battery. Gonna try veritcal and horizontal....see which one looks better.

    Here's the one I made, also going back to stock as well. (NOTE: Verizon S3)
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone