[Android Software/Hacking General [Developers Only]] hansip87:
For HTC User (the code is from Dunc001) the logic is this:

method makeNotificationView(StatusBarNotification p1, ViewGroup p2){
v0 = p1;
v0 = v0.notification;
v23 = v0;
v0 = v23;
v24 = v0.contentView;

if(v24 == 0){
v4 = 0;
return v4;
}else{
v4 = 'layout_inflater';
v0 = this;
v1 = v4;
v22 = (LayoutInflater)v0->getSystemService(v1);

v4 = 0x7f030012;
v5 = 0;
v0 = v22;
v1 = v4;
v2 = p2;
v3 = v5;

v25 = v0->inflate(v1,v2,v3);

v4= 0x7f0a005f;
v0 = v25;
v1 = v4;
v16 = (ViewGroup)v0->findViewById(v1);

v14 = 0;
v0 = v23;
v0 = v0->buttonAction;
v4 = v0;
if(v4 != 0){
v4 = 1;
v0 = v23;
v0 = v0->buttonAction;
v5 = v0;
v5 = v5->isEnable();
if(v4 == v5){
v0 = v16;
v0 = v0 instanceOf LatestItemView;
v4 = v0;
if(v4 != 0){
v14 = 1;
}
}
}
if(v14 != 0){	//:cond_1
v0 = (LatestItemView) v16;
v17 = v0;
v4 = 0;
v0 = v17;
v1 = v4;
v0->setDispatchTouchEvent(v1);
v4 = 2;
v0 = v16;
v1 = v4;
v0->setDescendantFocusability(v1);
}else{
v4 = 6;
v0 = v16;
v1 = v4;
v0->setDescendantFocusability(v1);
}

v4 = 6;
v0 = v16
v1 = v4;
v0->setDescendantFocusability(v1);

v0 = this;
v0 = v0->mFocusChangeListener;
v4 = v0;
v0 = v16;
v1 = v4;
v0->setOnFocusChangeListener();

v0 = v23;
v0 = v0->flags;
v4 = v0;
v5 = fe;

v4 = v4 AND v5;
if(v4 != 0){
v4 = -0xd6d3cf;
v0 = v16;
v1 = v4;
v0->setBackgroundColor();
p2 = (LinearLayout) v16->getParent();
v4 = 1;
v0 = p2;
v1 = v4;
v4 = v0->getChildAt();
v5 = 0x7f020044;
v4->setBackgroundResource(v5);
}

v0 = v0->contentIntent;
v6 = v0;

if(v6 != 0){
v0 = p1;
v0 = v0->pkg;
v7 = v0;
v0 = p1;
v0 = v0->tag;
v8 = v0;
v0 = p1;
v0 = v0->id;
v9 = v0;

v10 = 0;
v5 = p0;
v4 = new StatusBarService$Launcher(v5,v6,v7,v8,v9,v10);
v0 = v16;
v1 = v4;
v0->setOnClickListener(v1);
}

v19 = 0;
v18 = 0;
try{
v0 = v24;
v1 = p0;
v2 = v16;
v19 = v0->apply(v1,v2);
}catch(RuntimeException e){
e = v17;
v18 = v17;

}

if(v19 == 0){
v4 = new StringBuilder();
v0 = p1;
v0 = v0->pkg;
v5 = v0;
v4 = v4->append(v5);
v5 = '/0x';
v4 = v4->append(v5);
v0 = p1;
v0 = v0->id;
v5 = v0;
v5 = Integer.toHexString(v5);
v4 = v4->append(v5);
v21 = v4->toString();
v4 = "StatusBarService";
v5 = new StringBuilder();
v6 = "couldn\'t inflate view for notification ";
v5 = v5->append(v6);
v0 = v5;
v1 = v21;
v5 = v0->append(v1);
v5 = v5->toString();
v0 = v4;
v1 = v5;
v2= v18;
SLog->e(v0,v1,v2);
v4 = 0;
return v4;
}

v0 = v16;
v1 = v19;
v0->addView();
v4 = 1;
v0 = v25;
v1 = v4;
v0->setDrawingCacheEnabled(v1);

if(v14 != 0){
v20 = 0;
do{
v4 = 3;
v0 = v20;
v1 = v4;
if(v0 <= v1){
v0 = v23;
v0 = v0->buttonAction;
v4 = v0;
v0 = v4;
v1 = v20;
v4 = v0->isEnable(v1);
if(v4 != 0){
v0 = v23;
v0 = v0->buttonAction;
v4 = v0;
v0 = v4;
v1 = v20;
v4 = v0->getViewId(v1);
v0 = v19;
v1 = v4;
v15 = v0->findViewById(v1);
if(v15 != 0){
v0 = v23;
v0 = v0->buttonAction;
v4 = v0;
v0 = v4;
v1 = v20;
v9 = v0->getPendingIntent(v1);
v0 = p1
v0 = v0->pkg;
v10 = v0;
v0 = p1;
v0 = v0->tag;
v11 = v0;
v0 = p1;
v0 = v0->id;
v12 = v0;

v13 = 1;
v8 = p0;
v7 = new StatusBarService$Launcher(v7,v8,v9,v10,v11,v12,v13);

v15->setOnClickListener(v7);
}
}
}else break;
v20++;
}while(true);
}

v4 = 3;
v4 = new View[3];
v4[0] = v25;
v4[1] = v16;
v4[2] = v19;
return v4;
}
}

so the difference is:

1. We are focusing on v25 here as Notification Row Object

2. Notification is stored as v23

With that said, you can focus on inserting code around here

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

move-result-object v25

const v4, 0x7f0a005f

move-object/from16 v0, v25

move v1, v4

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

and change that to

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

move-result-object v25
[B]
check-cast v25, Lcom/android/systemui/statusbar/LatestItemContainer;

.line 516
.local v25, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v6, v23

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

move v7, v6

and-int/lit8 v7, v7, 0x2

if-nez v7, :cond_htc

move-object/from16 v6, v23

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

move v7, v6

and-int/lit8 v7, v7, 0x20

if-nez v7, :cond_htc

new-instance v8, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v7, v8

move-object/from16 v8, p0

move-object/from16 v9, p1

invoke-direct {v7, v8, v9}, Lcom/android/systemui/statusbar/StatusBarService$7;->(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v8, v25

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

.line 735
:cond_htc[/B]

const v4, 0x7f0a005f

move-object/from16 v0, v25

move v1, v4

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