{MOD's}{How to's} Create a custom notification dropdown! Remove status bar clock!

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
0
Wilmington, De.


Create a custom background for your notification dropdown.

Assuming you already know how to decompile, edit and recompile apk's

Let's start by decompiling SystemUI.apk

Once decompiled find the values folder and open it. Now right click on the drawables.xml and open with notepad++ change the values as shown below save and exit.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="drawable" name="notification_tracking_bg">#00000000</item>
<item type="drawable" name="notification_number_text_color">#ffffffff</item>
<item type="drawable" name="notification_item_background_color">#00000000</item>
<item type="drawable" name="notification_item_background_color_pressed">#ff257390</item>
<item type="drawable" name="ticker_background_color">#00000000</item>
<item type="drawable" name="status_bar_recents_background_solid">#80000000</item>
<item type="drawable" name="status_bar_recents_app_thumbnail_background">#80000000</item>
<item type="drawable" name="status_bar_notification_row_background_color">#00000000</item>
<item type="drawable" name="notification_header_bg">#00000000</item>
<item type="drawable" name="recents_callout_line">#99ffffff</item>
<item type="drawable" name="notification_item_background_legacy_color">#00000000</item>
</resources>

***NOTE- The above can be hard coded to your desired color without having to add the custom image I'm about to describe below. You will still need to make the notificaton_tracking_bg.9 transparent so it will not stack with the coded color.


Now you need to make your custom background image. I named mine shade_bg (240x400) make sure the image is rgb or it will not show correctly, you can name what you like,

and add this image to res/drawable-xhdpi. Also while in that folder, find notification_tracking_bg.9, this image needs to be made transparent or your images will stack on top of one another.

The easiest way to do that is to open up Gimp, pull decompiled image into the window, select the rectangle tool and make a box around the image except for the patch lines.Go to edit then cut,

that will remove the background without breaking the patch. Now save the image in place of the old one.

Once thats done, navigate to res/layout folder and open it. Inside find status_bar_tracking.xml, right click and open with notepad++.

Add android:background="drawable/shade_bg" in line 2 as shown below.

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.TrackingView android:eek:rientation="vertical" android:background="@drawable/shade_bg" android:paddingLeft="0.0px" android:paddingRight="0.0px" android:paddingBottom="0.0px" android:focusable="true" android:visibility="gone" android:descendantFocusability="afterDescendants"

Once all this is done you can now recompile your SystemUI.apk sign, zipalign and install. You should now have the background you created as your dropdown.

Enjoy your new dropdown, get creative, and happy modding.


Here's another quick one.

Remove statusbar clock....

Navigate to res/layout and find status_bar.xml, right click and open with

notepad++ then just add the text in the entry you see below highlighted in red. Recompile, sign and zipalign. No more clock!

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:eek:rientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:eek:rientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:eek:rientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/plmnLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/callTime" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:eek:rientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/clock" android:visibility="gone" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
<LinearLayout android:eek:rientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:textSize="16.0sp" android:gravity="left|center" android:id="@id/date" android:background="@drawable/status_bar_background" android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<include android:id="@id/glow" layout="@layout/status_bar_glow" />
</com.android.systemui.statusbar.phone.PhoneStatusBarView>

Thanks to my Bad Seed brothers for all that we accomplish together.
 
Last edited:

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
0
Wilmington, De.
Working magic already, huh? How'd you get notification toggles, or you using an app for that?

Sent from my EVO using xda premium
I have quick settings but that is switchpro widgets from the market. Great app, you can put almost anything you want in there, re color, different backgrounds, even has reboot with recovery built in.
 

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
0
Wilmington, De.
Jeffsance its good to see ya here buddy. Here's to hoping you hook us up with one of your kickass themes bro.

Sent from my EVO using Tapatalk 2
Nice to see you as well. Haven't had a lot of time for themes lately. I'll probably put something out at some point. I'm having fun finding mods for this beast of a phone right now.

Sent from LTEVO!
 

reverepats

Senior Member
Dec 22, 2010
6,552
5,264
0
Boston,MA
Nice to see you as well. Haven't had a lot of time for themes lately. I'll probably put something out at some point. I'm having fun finding mods for this beast of a phone right now.

Sent from LTEVO!
Yep. Understandable. Yeah its nice to be back with Sprint. Not the Network LOL (for noe of course). Nice to see the familiar faces again.

Sent from my EVO using Tapatalk 2
 

tdunham

Recognized Contributor
Jun 21, 2008
13,686
36,462
0
TampaBay
Are you referring to where it says sprint and settings? If so, those are images in res/drawable- xhdpi. Not sure off the top of my head what the names are.
Well sort of Jeff. I take it that the notification bar itself is an image then and the drawables.xml is exactly what it says and (in basic terms) does not control a stationary item like the notification bar?
BTW, I'm kinda jumping ship here, you can tell from my sig that I'm on a totally different phone but the base OS and principles are still the same. Thanks for your time, I've been trying to find an answer for this for a while. We're still waiting for the ICS OTA release here for the Sprint E4GT so there isn't a lot of support for it yet. :rolleyes: