[Android Themes] Adi Aisiteru Reborn:
CyanogenMod 10 only !

SystemUI.apk

CyanogenMod 10/JB 4.1.2

- Decompile your CM-10 SystemUI.apk

Download attached file and merge to your decompiled SystemUI.apk

- SystemUI.apk\res\layout\status_bar_expanded_header.xml

change this :

<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" [COLOR="Red"]android:background="@drawable/notification_header_bg"[/COLOR] android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"

to like this :

<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" [COLOR="Red"]android:background="#ff000000"[/COLOR] android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"

- SystemUI.apk\res\layout\status_bar_expanded.xml

add the red line

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
[COLOR="Red"]<com.android.systemui.statusbar.phone.NotificationWallpaper android:id="@id/notification_wallpaper" android:layout_width="fill_parent" android:layout_height="fill_parent" />[/COLOR]
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" />
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
<include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
<com.android.systemui.statusbar.powerwidget.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_widget_height" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network.EmergencyOnly" android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="always">
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
</ScrollView>
</LinearLayout>
<com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height">
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height" android:src="@drawable/status_bar_close" android:scaleType="fitXY" />
</com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>

- SystemUI.apk\res\values\ids.xml

add this line to end of it before </resources>

[COLOR="Red"]<item type="id" name="notification_wallpaper">false</item>[/COLOR]
[COLOR="Blue"]</resources>[/COLOR]

- SystemUI.apk\res\values\public.xml

seacrh for this line

<public type="drawable" name="notification_panel_bg" id="0x7f??????" />

and pay attention to 0x7f??????

- SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali

add the red line

# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
[COLOR="Red"]Lcom/android/systemui/statusbar/phone/PhoneStatusBar$AdiObserver;,[/COLOR]
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$H;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;

new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$29;

invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$29;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStartTracing:Ljava/lang/Runnable;

.line 2759
new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$30;

invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$30;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStopTracing:Ljava/lang/Runnable;

.line 2847
return-void
.end method

[COLOR="Red"].method static synthetic access$98000(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
.locals 0
.parameter "x0"

.prologue
.line 125
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotificationsTransparency()V

return-void
.end method

.method static synthetic access$99000(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
.locals 0
.parameter "x0"

.prologue
.line 125
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotificationWallpaperHelper()V

return-void
.end method[/COLOR]

.method static synthetic access$000(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;I)V
.locals 0
.parameter "x0"
.parameter "x1"

.prologue
.line 116
invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->adjustBrightness(I)V

return-void
.end method

.method private loadNotificationShade()V
.locals 12

.prologue
.line 1009
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

if-nez v10, :cond_0

.line 1044
:goto_0
return-void

.line 1011
:cond_0
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationData:Lcom/android/systemui/statusbar/NotificationData;

invoke-virtual {v10}, Lcom/android/systemui/statusbar/NotificationData;->size()I

move-result v0

.line 1013
.local v0, N:I
new-instance v8, Ljava/util/ArrayList;

invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V

.line 1015
.local v8, toShow:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Landroid/view/View;>;"
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->isDeviceProvisioned()Z

move-result v5

.line 1017
.local v5, provisioned:Z
const/4 v3, 0x0

.local v3, i:I
:goto_1
if-ge v3, v0, :cond_3

.line 1018
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationData:Lcom/android/systemui/statusbar/NotificationData;

sub-int v11, v0, v3

add-int/lit8 v11, v11, -0x1

invoke-virtual {v10, v11}, Lcom/android/systemui/statusbar/NotificationData;->get(I)Lcom/android/systemui/statusbar/NotificationData$Entry;

move-result-object v2

.line 1019
.local v2, ent:Lcom/android/systemui/statusbar/NotificationData$Entry;
if-nez v5, :cond_1

iget-object v10, v2, Lcom/android/systemui/statusbar/NotificationData$Entry;->notification:Lcom/android/internal/statusbar/StatusBarNotification;

invoke-virtual {p0, v10}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->showNotificationEvenIfUnprovisioned(Lcom/android/internal/statusbar/StatusBarNotification;)Z

move-result v10

if-eqz v10, :cond_2

.line 1020
:cond_1
iget-object v10, v2, Lcom/android/systemui/statusbar/NotificationData$Entry;->row:Landroid/view/View;

invoke-virtual {v8, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

.line 1017
:cond_2
add-int/lit8 v3, v3, 0x1

goto :goto_1

.line 1024
.end local v2 #ent:Lcom/android/systemui/statusbar/NotificationData$Entry;
:cond_3
new-instance v7, Ljava/util/ArrayList;

invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V

.line 1025
.local v7, toRemove:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Landroid/view/View;>;"
const/4 v3, 0x0

:goto_2
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

invoke-virtual {v10}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->getChildCount()I

move-result v10

if-ge v3, v10, :cond_5

.line 1026
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

invoke-virtual {v10, v3}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->getChildAt(I)Landroid/view/View;

move-result-object v1

.line 1027
.local v1, child:Landroid/view/View;
invoke-virtual {v8, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z

move-result v10

if-nez v10, :cond_4

.line 1028
invoke-virtual {v7, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

.line 1025
:cond_4
add-int/lit8 v3, v3, 0x1

goto :goto_2

.line 1032
.end local v1 #child:Landroid/view/View;
:cond_5
invoke-virtual {v7}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

move-result-object v4

.local v4, i$:Ljava/util/Iterator;
:goto_3
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z

move-result v10

if-eqz v10, :cond_6

invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;

move-result-object v6

check-cast v6, Landroid/view/View;

.line 1033
.local v6, remove:Landroid/view/View;
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

invoke-virtual {v10, v6}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->removeView(Landroid/view/View;)V

goto :goto_3

.line 1036
.end local v6 #remove:Landroid/view/View;
:cond_6
[COLOR="Red"]invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setNotificationsTransparency()V[/COLOR]

const/4 v3, 0x0

:goto_4
invoke-virtual {v8}, Ljava/util/ArrayList;->size()I

move-result v10

if-ge v3, v10, :cond_8

.line 1037
invoke-virtual {v8, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

move-result-object v9

check-cast v9, Landroid/view/View;

.line 1038
.local v9, v:Landroid/view/View;
invoke-virtual {v9}, Landroid/view/View;->getParent()Landroid/view/ViewParent;

move-result-object v10

if-nez v10, :cond_7

.line 1039
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

invoke-virtual {v10, v9, v3}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->addView(Landroid/view/View;I)V

.line 1036
:cond_7
add-int/lit8 v3, v3, 0x1

goto :goto_4

.line 1043
.end local v9 #v:Landroid/view/View;
:cond_8
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSettingsButton:Landroid/view/View;

invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->isDeviceProvisioned()Z

move-result v11

invoke-virtual {v10, v11}, Landroid/view/View;->setEnabled(Z)V

goto/16 :goto_0
.end method

.method private setIntruderAlertVisibility(Z)V
.locals 0
.parameter "vis"

.prologue
.line 2569
return-void
.end method

[COLOR="Red"].method private setNotificationWallpaperHelper()V
.locals 5

.prologue
.line 2948
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

const-string v1, "notif_wallpaper_alpha"

const/4 v2, 0x0

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F

move-result v0

.line 2949
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v1

const-string v2, "notification_background"

invoke-static {v1, v2}, Landroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;

move-result-object v1

.line 2950
new-instance v2, Ljava/io/File;

const-string v3, "/data/data/com.android.settings/files/notification_wallpaper.jpg"

invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V

.line 2951
iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;

const/4 v4, 0x0

invoke-virtual {v3, v4}, Landroid/view/View;->setBackgroundResource(I)V

.line 2952
invoke-virtual {v2}, Ljava/io/File;->exists()Z

move-result v2

if-nez v2, :cond_1

.line 2953
iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;

const v3, [COLOR="Blue"]0x7f02004d[/COLOR]

invoke-virtual {v2, v3}, Landroid/view/View;->setBackgroundResource(I)V

.line 2954
iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;

invoke-virtual {v2}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

move-result-object v2

.line 2955
if-eqz v1, :cond_0

invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z

move-result v3

if-nez v3, :cond_0

.line 2956
const/4 v3, 0x0

invoke-virtual {v2, v3}, Landroid/graphics/drawable/Drawable;->setColorFilter(Landroid/graphics/ColorFilter;)V

.line 2957
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

move-result v1

sget-object v3, Landroid/graphics/PorterDuff$Mode;->SRC_ATOP:Landroid/graphics/PorterDuff$Mode;

invoke-virtual {v2, v1, v3}, Landroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V

.line 2959
:cond_0
const/high16 v1, 0x3f80

sub-float v0, v1, v0

const/high16 v1, 0x437f

mul-float/2addr v0, v1

float-to-int v0, v0

invoke-virtual {v2, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

.line 2961
:cond_1
return-void
.end method

.method private setNotificationsTransparency()V
.locals 8

.prologue
const/high16 v7, 0x437f

const/high16 v6, 0x3f80

.line 2965
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

const-string v1, "notif_alpha"

const/4 v2, 0x0

invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F

move-result v1

.line 2966
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

if-eqz v0, :cond_2

.line 2967
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationData:Lcom/android/systemui/statusbar/NotificationData;

invoke-virtual {v0}, Lcom/android/systemui/statusbar/NotificationData;->size()I

move-result v2

.line 2968
const/4 v0, 0x0

:goto_0
if-ge v0, v2, :cond_2

.line 2969
iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationData:Lcom/android/systemui/statusbar/NotificationData;

sub-int v4, v2, v0

add-int/lit8 v4, v4, -0x1

invoke-virtual {v3, v4}, Lcom/android/systemui/statusbar/NotificationData;->get(I)Lcom/android/systemui/statusbar/NotificationData$Entry;

move-result-object v3

.line 2970
iget-object v4, v3, Lcom/android/systemui/statusbar/NotificationData$Entry;->expanded:Landroid/view/View;

.line 2971
if-eqz v4, :cond_0

invoke-virtual {v4}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

move-result-object v5

if-eqz v5, :cond_0

invoke-virtual {v4}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

move-result-object v4

sub-float v5, v6, v1

mul-float/2addr v5, v7

float-to-int v5, v5

invoke-virtual {v4, v5}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

.line 2972
:cond_0
invoke-virtual {v3}, Lcom/android/systemui/statusbar/NotificationData$Entry;->getLargeView()Landroid/view/View;

move-result-object v3

.line 2973
if-eqz v3, :cond_1

invoke-virtual {v3}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

move-result-object v4

if-eqz v4, :cond_1

invoke-virtual {v3}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;

move-result-object v3

sub-float v4, v6, v1

mul-float/2addr v4, v7

float-to-int v4, v4

invoke-virtual {v3, v4}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

.line 2968
:cond_1
add-int/lit8 v0, v0, 0x1

goto :goto_0

.line 2976
:cond_2
return-void
.end method[/COLOR]

.method private setPileLayers(I)V
.locals 14
.parameter "layerType"

.prologue
.line 1593
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

invoke-virtual {v9}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->getChildCount()I

move-result v2

.line 1595
.local v2, count:I
packed-switch p1, :pswitch_data_0

change this 0x7f02004d, according to the value you got in your own public.aml

<public type="drawable" name="notification_panel_bg" id="0x7f??????" />

const-string v1, "android.intent.action.CLOSE_SYSTEM_DIALOGS"

invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

.line 655
const-string v1, "android.intent.action.SCREEN_OFF"

invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

.line 656
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

invoke-virtual {v3, v1, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

.line 658
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/android/systemui/statusbar/powerwidget/PowerWidget;

invoke-virtual {v0}, Lcom/android/systemui/statusbar/powerwidget/PowerWidget;->setupWidget()V

[COLOR="Red"]new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$AdiObserver;

new-instance v1, Landroid/os/Handler;

invoke-direct {v1}, Landroid/os/Handler;-><init>()V

invoke-direct {v0, p0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$AdiObserver;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;Landroid/os/Handler;)V

invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$AdiObserver;->observe()V[/COLOR]

.line 660
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;

move-result-object v0

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mVelocityTracker:Landroid/view/VelocityTracker;

.line 662
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

- -SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar$FastColorDrawable.smali

change the red line

# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.locals 2
.parameter "canvas"

.prologue
.line 2856
[COLOR="Red"]iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I[/COLOR]

sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;

invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V

.line 2857
return-void
.end method

to like this

# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.locals 2
.parameter "canvas"

.prologue
.line 2856
[COLOR="Red"]const v0, -0x28000000[/COLOR]

sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;

invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V

.line 2857
return-void
.end method

- Done and recompile your SystemUI.apk, push to system/app