[Android Software/Hacking General [Developers Only]] M_J_Nazari:
Hi

i have a problem with StatusBarService.smali

the phone is SGS1, JW5 firmware , when i change the values, the apktool reports the error.

the original smali file is attached.

the original method is here.

.method makeNotificationView(Lcom/android/internal/statusbar/StatusBarNotification;Landroid/view/ViewGroup;)[Landroid/view/View;
.locals 13
.parameter
.parameter

.prologue
const/4 v12, 0x1

const/4 v11, 0x0

const/4 v10, 0x0

.line 601
iget-object v2, p1, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

.line 602
iget-object v8, v2, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;

.line 603
if-nez v8, :cond_0

move-object v1, v10

.line 638
:goto_0
return-object v1

.line 608
:cond_0
const-string v1, "layout_inflater"

invoke-virtual {p0, v1}, Lcom/android/systemui/statusbar/StatusBarService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

move-result-object v1

check-cast v1, Landroid/view/LayoutInflater;

.line 609
const v3, 0x7f030007

invoke-virtual {v1, v3, p2, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v9

.line 612
const v1, 0x7f090027

invoke-virtual {v9, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

move-result-object v1

move-object v0, v1

check-cast v0, Landroid/view/ViewGroup;

move-object v7, v0

.line 613
const/high16 v1, 0x6

invoke-virtual {v7, v1}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V

.line 614
iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarService;->mFocusChangeListener:Landroid/view/View$OnFocusChangeListener;

invoke-virtual {v7, v1}, Landroid/view/ViewGroup;->setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V

.line 615
iget-object v3, v2, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;

.line 616
if-eqz v3, :cond_1

.line 617
new-instance v1, Lcom/android/systemui/statusbar/StatusBarService$Launcher;

iget-object v4, p1, Lcom/android/internal/statusbar/StatusBarNotification;->pkg:Ljava/lang/String;

iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarNotification;->tag:Ljava/lang/String;

iget v6, p1, Lcom/android/internal/statusbar/StatusBarNotification;->id:I

move-object v2, p0

invoke-direct/range {v1 .. v6}, Lcom/android/systemui/statusbar/StatusBarService$Launcher;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;I)V

invoke-virtual {v7, v1}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V

.line 624
:cond_1
:try_start_0
invoke-virtual {v8, p0, v7}, Landroid/widget/RemoteViews;->apply(Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;
:try_end_0
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0

move-result-object v1

move-object v2, v1

move-object v1, v10

.line 629
:goto_1
if-nez v2, :cond_2

.line 630
new-instance v2, Ljava/lang/StringBuilder;

invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

iget-object v3, p1, Lcom/android/internal/statusbar/StatusBarNotification;->pkg:Ljava/lang/String;

invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v2

const-string v3, "/0x"

invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v2

iget v3, p1, Lcom/android/internal/statusbar/StatusBarNotification;->id:I

invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;

move-result-object v3

invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v2

invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v2

.line 631
const-string v3, "StatusBarService"

new-instance v4, Ljava/lang/StringBuilder;

invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

const-string v5, "couldn\'t inflate view for notification "

invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v4

invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v2

invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v2

invoke-static {v3, v2, v1}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

move-object v1, v10

.line 632
goto :goto_0

.line 626
:catch_0
move-exception v1

move-object v2, v10

.line 627
goto :goto_1

.line 634
:cond_2
invoke-virtual {v7, v2}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V

.line 635
invoke-virtual {v9, v12}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

.line 638
const/4 v1, 0x3

new-array v1, v1, [Landroid/view/View;

aput-object v9, v1, v11

aput-object v7, v1, v12

const/4 v3, 0x2

aput-object v2, v1, v3

goto/16 :goto_0
.end method

Thanks