[Android Themes] Adi Aisiteru Reborn:
FIRST GUIDE

Step -3

STEP - 3

- Download attached Grid_lidroid_JB.4.2+_SystemUI.apk, exstract it and merge to your decompiled SystemUI.apk

- Recompile your SystemUI.apk

- Decompile the newly Recompiled APK again

Next go to

res/values/public.xml

open it with Notepad++

leave it, but keep it open

- smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali

add the red lines :

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

.field mPixelFormat:I

.field private mPlmnLabel:Landroid/widget/TextView;

.field mPositionTmp:[I

.field mPostCollapseCleanup:Ljava/lang/Runnable;

[COLOR="Red"].field mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;[/COLOR]

.field mPowerWidgetContents:Landroid/view/View;

.field private mPreviousConfigFontScale:F

.field private mPrevioutConfigOrientation:I

.field mQS:Lcom/android/systemui/statusbar/phone/QuickSettings;

return-void
.end method

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

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

return-void
.end method[/COLOR]

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

.prologue
.line 128
iget v0, p0, Lcom/android/systemui/statusbar/BaseStatusBar;->mCurrentUserId:I

return v0
.end method

.method static synthetic access$100(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Z
.locals 1
.parameter "x0"

.prologue
.line 128
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mUserSetup:Z

return v0
.end method

.line 2216
.local v0, a:Landroid/animation/Animator;
:goto_0
invoke-virtual {v0}, Landroid/animation/Animator;->start()V

.line 2218
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setAreThereNotifications()V

.line 2219
return-void

.line 2215
.end local v0 #a:Landroid/animation/Animator;
:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOnAnimation:Landroid/animation/Animator;

goto :goto_0
.end method

[COLOR="Red"].method private setUpPowerWidgetPerRow()V
.locals 7

.prologue
.line 939
const/4 v0, 0x3

.line 940
.local v0, defaultPreferenceValue:I
const/4 v4, -0x1

.line 945
.local v4, value:I
:try_start_0
iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

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

move-result-object v5

const-string v6, "toggles_per_row"

invoke-static {v5, v6, v0}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

move-result v4

.line 954
:goto_0
iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;

.line 955
.local v3, finalPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;
move v2, v4

.line 956
.local v2, finalGridLayout:I
iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

new-instance v6, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$999;

invoke-direct {v6, p0, v3, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$999;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;Lcom/adi/systemui/powerwidget/PowerWidget;I)V

invoke-virtual {v5, v6}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->post(Ljava/lang/Runnable;)Z

.line 966
return-void

.line 947
.end local v2 #finalGridLayout:I
.end local v3 #finalPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;
:catch_0
move-exception v1

.line 949
.local v1, e:Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

goto :goto_0
.end method

.method private setupPowerWidget()V
.locals 2

.prologue
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

const v1, [COLOR="Blue"]0x7f08012a[/COLOR]

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

move-result-object v0

check-cast v0, Lcom/adi/systemui/powerwidget/PowerWidget;

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;

invoke-virtual {v0}, Lcom/adi/systemui/powerwidget/PowerWidget;->updateWidget()V

invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setUpPowerWidgetPerRow()V

return-void
.end method[/COLOR]

.method private showAlwaysAskOrInternetCall(J)V
.locals 3
.parameter "simId"

.prologue
const/4 v2, 0x0

.line 3231
const/4 v0, 0x1

iput-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIconShow:Z

.line 3232
const-wide/16 v0, -0x2

cmp-long v0, p1, v0

if-nez v0, :cond_0

.line 3233
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIcon:Landroid/widget/ImageView;

const v1, 0x7f020137

invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setBackgroundResource(I)V

change this, 0x7f08012a according to the value you got in your own public.xml

<public type="id" name="adi_widget" id="[COLOR="Blue"]0x7f??????[/COLOR]" />

Next, search this method

.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

scroll down in that method and add the red line

move-object/from16 v0, p0

iget-object v1, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

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

.line 772
invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->resetUserSetupObserver()V

[COLOR="Red"] invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V[/COLOR]

.line 774
new-instance v20, Landroid/content/IntentFilter;

invoke-direct/range {v20 .. v20}, Landroid/content/IntentFilter;-><init>()V

.line 775
.local v20, simInfoIntentFilter:Landroid/content/IntentFilter;
const-string v1, "android.intent.action.SIM_SETTING_INFO_CHANGED"

NOTE !! if in your device / os

.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

doesn't have this line

move-object/from16 v0, p0

change this line

invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V

to like this

invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V

Next :

.method public start()V
.locals 2

.prologue
.line 373
iget-object v0, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

const-string v1, "window"

invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

move-result-object v0

check-cast v0, Landroid/view/WindowManager;

invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

move-result-object v0

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

.line 376
const-string v0, "dreams"

invoke-static {v0}, Landroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;

move-result-object v0

invoke-static {v0}, Landroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;

move-result-object v0

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDreamManager:Landroid/service/dreams/IDreamManager;

.line 379
invoke-super {p0}, Lcom/android/systemui/statusbar/BaseStatusBar;->start()V

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

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

iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHandler:Lcom/android/systemui/statusbar/BaseStatusBar$H;

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

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

.line 386
new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;

iget-object v1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;

invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;-><init>(Landroid/content/Context;)V

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mIconPolicy:Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;

.line 387
return-void
.end method