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

Search This thread
J

JohnM

Guest
If your just compiling it you should be fine. Usually you have to choose to sign it, it shouldn't be signing on its own. What tools are you using?

Sent from my SPH-L710 using Xparent SkyBlue Tapatalk 2

I was using what was in freeza's zip. I decompiled framework-res successfully with 142, edited on screen nav buttons in /res/values/bool.xml to true, recompiled successfully, and pushed the apk from dist to /framework/ and tried to boot. I got stuck at the boot animation.

I assumed it signs on its own since in freeza's guide, it said the apk would be signed and ready to go at the end.
 

Jimieo

Senior Member
May 24, 2009
347
82
New London, CT
Did you assign the right permissions to the file?

I was using what was in freeza's zip. I decompiled framework-res successfully with 142, edited on screen nav buttons in /res/values/bool.xml to true, recompiled successfully, and pushed the apk from dist to /framework/ and tried to boot. I got stuck at the boot animation.

I assumed it signs on its own since in freeza's guide, it said the apk would be signed and ready to go at the end.
 

Didact74

Senior Member
Sep 2, 2010
609
1,877
Lake Shore, MD
I know this might be painful to read, but:

How would I go about doing that?


Sorry, I'm a noob.

From one Noob to another, this is how I do it.

I just copy the file over to my extSDcard via ES File Explorer. Once on my SD card I long press the file to bring up the menu. One of the options in the menu is permissions. I set them to 755 right there. I know you can do it in ADB but I dont know the commands off the top of my head.
 
J

JohnM

Guest
From one Noob to another, this is how I do it.

I just copy the file over to my extSDcard via ES File Explorer. Once on my SD card I long press the file to bring up the menu. One of the options in the menu is permissions. I set them to 755 right there. I know you can do it in ADB but I dont know the commands off the top of my head.

Thanks, but I just did chmod 755 framework-res.apk and that did the trick.

EDIT: It booted! Thanks everyone for the help
 
Last edited:

Jimieo

Senior Member
May 24, 2009
347
82
New London, CT
Thanks for answering him, I was eating dinner xD

From one Noob to another, this is how I do it.

I just copy the file over to my extSDcard via ES File Explorer. Once on my SD card I long press the file to bring up the menu. One of the options in the menu is permissions. I set them to 755 right there. I know you can do it in ADB but I dont know the commands off the top of my head.


Glad it worked out for you.

Thanks, but I just did chmod 755 framework-res.apk and that did the trick.

EDIT: It booted! Thanks everyone for the help
 

Didact74

Senior Member
Sep 2, 2010
609
1,877
Lake Shore, MD
Okay...so after a bunch of searching and reading I was able to piece together several different codes to do the following:

move clock to center
make clock dissapear when notifications pop up so the notifications do not overlap the clock
remove carrier label

Now I am trying to find out where to change the color of the center clock to white.

I am going to attach the SystemUI.apk and a flashable ZIP that will work with CWM.

As always flash at your own risk after NANDROID.

Thanks go to:
SWIFTKS
PEPI1234
Freeza
Tsudeily
 

Attachments

  • SystemUI.apk
    1 MB · Views: 28
  • centerclock_no_carrier.zip
    946.8 KB · Views: 28

racinwarrior

Senior Member
Aug 12, 2010
1,321
539
Okay...so after a bunch of searching and reading I was able to piece together several different codes to do the following:

move clock to center
make clock dissapear when notifications pop up so the notifications do not overlap the clock
remove carrier label

Now I am trying to find out where to change the color of the center clock to white.

I am going to attach the SystemUI.apk and a flashable ZIP that will work with CWM.

As always flash at your own risk after NANDROID.

Thanks go to:
SWIFTKS
PEPI1234
Freeza
Tsudeily

clock color is in styles.xml. change it to #ff000000
 

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)