[Android Software/Hacking General [Developers Only]] bindassdost:
mine unedited function is

.method makeNotificationView(Lcom/android/internal/statusbar/StatusBarNotification;Landroid/view/ViewGroup;)[Landroid/view/View;
.locals 21
.parameter "notification"
.parameter "parent"

.prologue
.line 793
move-object/from16 v0, p1

iget-object v0, v0, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

move-object/from16 v17, v0

.line 794
.local v17, n:Landroid/app/Notification;
move-object/from16 v0, v17

iget-object v0, v0, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;

move-object/from16 v18, v0

.line 795
.local v18, remoteViews:Landroid/widget/RemoteViews;
if-nez v18, :cond_0

.line 796
const/4 v4, 0x0

.line 837
:goto_0
return-object v4

.line 800
:cond_0
const-string v4, "layout_inflater"

move-object/from16 v0, p0

move-object v1, v4

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

move-result-object v15

check-cast v15, Landroid/view/LayoutInflater;

.line 802
.local v15, inflater:Landroid/view/LayoutInflater;
move-object/from16 v0, p1

iget-object v0, v0, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

move-object v4, v0

iget v4, v4, Landroid/app/Notification;->contentViewTouchHandle:I

const/4 v5, 0x1

if-ne v4, v5, :cond_2

.line 803
const v4, 0x7f030005

const/4 v5, 0x0

move-object v0, v15

move v1, v4

move-object/from16 v2, p2

move v3, v5

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

move-result-object v20

check-cast v20, Landroid/view/ViewGroup;

.line 804
.local v20, viewGroup:Landroid/view/ViewGroup;
const v4, 0x7f0a001f

move-object/from16 v0, v20

move v1, v4

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

move-result-object v16

check-cast v16, Lcom/android/systemui/statusbar/LatestItemView;

.line 805
.local v16, itemView:Lcom/android/systemui/statusbar/LatestItemView;
const/4 v4, 0x1

move-object/from16 v0, v16

move v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemView;->setInterceptTouchEvent(I)V

.line 806
move-object/from16 v19, v20

.line 812
.end local v16 #itemView:Lcom/android/systemui/statusbar/LatestItemView;
.end local v20 #viewGroup:Landroid/view/ViewGroup;
.local v19, row:Landroid/view/View;
:goto_1
const v4, 0x7f0a001f

move-object/from16 v0, v19

move v1, v4

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

move-result-object v10

check-cast v10, Landroid/view/ViewGroup;

.line 813
.local v10, content:Landroid/view/ViewGroup;
const/high16 v4, 0x6

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

.line 814
move-object/from16 v0, p0

iget-object v0, v0, Lcom/android/systemui/statusbar/StatusBarService;->mFocusChangeListener:Landroid/view/View$OnFocusChangeListener;

move-object v4, v0

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

.line 815
move-object/from16 v0, v17

iget-object v0, v0, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;

move-object v6, v0

.line 816
.local v6, contentIntent:Landroid/app/PendingIntent;
if-eqz v6, :cond_1

.line 817
new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$Launcher;

move-object/from16 v0, p1

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

move-object v7, v0

move-object/from16 v0, p1

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

move-object v8, v0

move-object/from16 v0, p1

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

move v9, v0

move-object/from16 v5, p0

invoke-direct/range {v4 .. v9}, 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 {v10, v4}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V

.line 820
:cond_1
const/4 v13, 0x0

.line 821
.local v13, expanded:Landroid/view/View;
const/4 v12, 0x0

.line 823
.local v12, exception:Ljava/lang/Exception;
:try_start_0
move-object/from16 v0, v18

move-object/from16 v1, p0

move-object v2, v10

invoke-virtual {v0, v1, v2}, 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 v13

.line 828
:goto_2
if-nez v13, :cond_3

.line 829
new-instance v4, Ljava/lang/StringBuilder;

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

move-object/from16 v0, p1

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

move-object v5, v0

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

move-result-object v4

const-string v5, "/0x"

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

move-result-object v4

move-object/from16 v0, p1

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

move v5, v0

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

move-result-object v5

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

move-result-object v4

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

move-result-object v14

.line 830
.local v14, ident:Ljava/lang/String;
const-string v4, "StatusBarService"

new-instance v5, Ljava/lang/StringBuilder;

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

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

.end local v6 #contentIntent:Landroid/app/PendingIntent;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v5

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

move-result-object v5

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

move-result-object v5

invoke-static {v4, v5, v12}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

.line 831
const/4 v4, 0x0

goto/16 :goto_0

.line 808
.end local v10 #content:Landroid/view/ViewGroup;
.end local v12 #exception:Ljava/lang/Exception;
.end local v13 #expanded:Landroid/view/View;
.end local v14 #ident:Ljava/lang/String;
.end local v19 #row:Landroid/view/View;
:cond_2
const v4, 0x7f030005

const/4 v5, 0x0

move-object v0, v15

move v1, v4

move-object/from16 v2, p2

move v3, v5

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

move-result-object v19

.restart local v19 #row:Landroid/view/View;
goto/16 :goto_1

.line 825
.restart local v6 #contentIntent:Landroid/app/PendingIntent;
.restart local v10 #content:Landroid/view/ViewGroup;
.restart local v12 #exception:Ljava/lang/Exception;
.restart local v13 #expanded:Landroid/view/View;
:catch_0
move-exception v11

.line 826
.local v11, e:Ljava/lang/RuntimeException;
move-object v12, v11

goto :goto_2

.line 833
.end local v11 #e:Ljava/lang/RuntimeException;
:cond_3
invoke-virtual {v10, v13}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V

.line 834
const/4 v4, 0x1

move-object/from16 v0, v19

move v1, v4

invoke-virtual {v0, v1}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

.line 837
const/4 v4, 0x3

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

const/4 v5, 0x0

aput-object v19, v4, v5

const/4 v5, 0x1

aput-object v10, v4, v5

const/4 v5, 0x2

aput-object v13, v4, v5

goto/16 :goto_0
.end method

and after my edition

.method makeNotificationView(Lcom/android/internal/statusbar/StatusBarNotification;Landroid/view/ViewGroup;)[Landroid/view/View;
.locals 21
.parameter "notification"
.parameter "parent"

.prologue
.line 793
move-object/from16 v0, p1

iget-object v0, v0, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

move-object/from16 v17, v0

.line 794
.local v17, n:Landroid/app/Notification;
move-object/from16 v0, v17

iget-object v0, v0, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;

move-object/from16 v18, v0

.line 795
.local v18, remoteViews:Landroid/widget/RemoteViews;
if-nez v18, :cond_0

.line 796
const/4 v4, 0x0

.line 837
:goto_0
return-object v4

.line 800
:cond_0
const-string v4, "layout_inflater"

move-object/from16 v0, p0

move-object v1, v4

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

move-result-object v15

check-cast v15, Landroid/view/LayoutInflater;

.line 802
.local v15, inflater:Landroid/view/LayoutInflater;
move-object/from16 v0, p1

iget-object v0, v0, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

move-object v4, v0

iget v4, v4, Landroid/app/Notification;->contentViewTouchHandle:I

const/4 v5, 0x1

if-ne v4, v5, :cond_2

.line 803
const v4, 0x7f030005

const/4 v5, 0x0

move-object v0, v15

move v1, v4

move-object/from16 v2, p2

move v3, v5

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

move-result-object v20

check-cast v20, Lcom/android/systemui/statusbar/LatestItemContainer;

.line 516
.local v20, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v20

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_swno

move-object/from16 v0, v20

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_swno

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$9;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v2, p1

invoke-direct {v0, v1, v2}, Lcom/android/systemui/statusbar/StatusBarService$9;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v0, v20

move-object v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 735
:cond_swno

const v4, 0x7f0a001f

move-object/from16 v0, v20

move v1, v4

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

move-result-object v16

check-cast v16, Lcom/android/systemui/statusbar/LatestItemView;

.line 805
.local v16, itemView:Lcom/android/systemui/statusbar/LatestItemView;
const/4 v4, 0x1

move-object/from16 v0, v16

move v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemView;->setInterceptTouchEvent(I)V

.line 806
move-object/from16 v19, v20

.line 812
.end local v16 #itemView:Lcom/android/systemui/statusbar/LatestItemView;
.end local v20 #viewGroup:Landroid/view/ViewGroup;
.local v19, row:Landroid/view/View;
:goto_1
const v4, 0x7f0a001f

move-object/from16 v0, v19

move v1, v4

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

move-result-object v10

check-cast v10, Landroid/view/ViewGroup;

.line 813
.local v10, content:Landroid/view/ViewGroup;
const/high16 v4, 0x6

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

.line 814
move-object/from16 v0, p0

iget-object v0, v0, Lcom/android/systemui/statusbar/StatusBarService;->mFocusChangeListener:Landroid/view/View$OnFocusChangeListener;

move-object v4, v0

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

.line 815
move-object/from16 v0, v17

iget-object v0, v0, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;

move-object v6, v0

.line 816
.local v6, contentIntent:Landroid/app/PendingIntent;
if-eqz v6, :cond_1

.line 817
new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$Launcher;

move-object/from16 v0, p1

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

move-object v7, v0

move-object/from16 v0, p1

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

move-object v8, v0

move-object/from16 v0, p1

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

move v9, v0

move-object/from16 v5, p0

invoke-direct/range {v4 .. v9}, 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 {v10, v4}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V

.line 820
:cond_1
const/4 v13, 0x0

.line 821
.local v13, expanded:Landroid/view/View;
const/4 v12, 0x0

.line 823
.local v12, exception:Ljava/lang/Exception;
:try_start_0
move-object/from16 v0, v18

move-object/from16 v1, p0

move-object v2, v10

invoke-virtual {v0, v1, v2}, 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 v13

.line 828
:goto_2
if-nez v13, :cond_3

.line 829
new-instance v4, Ljava/lang/StringBuilder;

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

move-object/from16 v0, p1

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

move-object v5, v0

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

move-result-object v4

const-string v5, "/0x"

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

move-result-object v4

move-object/from16 v0, p1

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

move v5, v0

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

move-result-object v5

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

move-result-object v4

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

move-result-object v14

.line 830
.local v14, ident:Ljava/lang/String;
const-string v4, "StatusBarService"

new-instance v5, Ljava/lang/StringBuilder;

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

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

.end local v6 #contentIntent:Landroid/app/PendingIntent;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v5

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

move-result-object v5

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

move-result-object v5

invoke-static {v4, v5, v12}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

.line 831
const/4 v4, 0x0

goto/16 :goto_0

.line 808
.end local v10 #content:Landroid/view/ViewGroup;
.end local v12 #exception:Ljava/lang/Exception;
.end local v13 #expanded:Landroid/view/View;
.end local v14 #ident:Ljava/lang/String;
.end local v19 #row:Landroid/view/View;
:cond_2
const v4, 0x7f030005

const/4 v5, 0x0

move-object v0, v15

move v1, v4

move-object/from16 v2, p2

move v3, v5

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

move-result-object v19

.restart local v19 #row:Landroid/view/View;
goto/16 :goto_1

.line 825
.restart local v6 #contentIntent:Landroid/app/PendingIntent;
.restart local v10 #content:Landroid/view/ViewGroup;
.restart local v12 #exception:Ljava/lang/Exception;
.restart local v13 #expanded:Landroid/view/View;
:catch_0
move-exception v11

.line 826
.local v11, e:Ljava/lang/RuntimeException;
move-object v12, v11

goto :goto_2

.line 833
.end local v11 #e:Ljava/lang/RuntimeException;
:cond_3
invoke-virtual {v10, v13}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V

.line 834
const/4 v4, 0x1

move-object/from16 v0, v19

move v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->setDrawingCacheEnabled(Z)V

.line 837
const/4 v4, 0x3

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

const/4 v5, 0x0

aput-object v19, v4, v5

const/4 v5, 0x1

aput-object v10, v4, v5

const/4 v5, 0x2

aput-object v13, v4, v5

goto/16 :goto_0
.end method

but still i get force close

i think it is due to variable reuse

can anybody help me