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 androidrientation="vertical" android:background="@drawable/shade_bg" androidaddingLeft="0.0px" androidaddingRight="0.0px" androidaddingBottom="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 androidrientation="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 androidrientation="horizontal" android:id="@id/icons" androidaddingLeft="6.0dip" androidaddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout androidrientation="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" androidrientation="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" androidrientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" androidrientation="horizontal" android:id="@id/signal_battery_cluster" androidaddingLeft="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" androidaddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
<LinearLayout androidrientation="horizontal" android:id="@id/ticker" androidaddingLeft="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" androidaddingTop="2.0dip" androidaddingRight="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" androidaddingLeft="6.0px" androidaddingRight="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: