[Sony Cross-Device Development Themes and Apps] venkat kamesh:
Today i am presenting HeadsUp tut

For LP click here

This is For MM only Devices

All you need is Patience

deodexed SystemUI.apk

1. Decompile SystemUI.apk

2. Now Open smali/com/android/systemui/statusbar/policy/HeadsUpManager.smali

In this find this line:

# instance fields

Add the following lines below this:

.field private mDefaultHeadsUpNotificationDecay:I

3. Then find the below line and remove delete the part that says “final”:

.field private final mHeadsUpNotificationDecay:I

So it look like

.field private mHeadsUpNotificationDecay:I

4. Find this line:

# direct methods

5. Add these two entire methods below this:

.method static synthetic -get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;
.locals 1

iget-object v0, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mContext:Landroid/content/Context;

return-object v0
.end method

.method static synthetic -set0(Lcom/android/systemui/statusbar/policy/HeadsUpManager;I)I
.locals 0

iput p1, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mHeadsUpNotificationDecay:I

return p1
.end method

6. Find this line:

iput v1, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mMinimumDisplayTime:I

Below this, you will see these two lines:

const v1, 0x7f0d0012

invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getInteger(I)I

Delete these two lines and replace them with the following code:

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

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

move-result-object v1

const-string/jumbo v2, "heads_up_timeout"

iget-object v3, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mContext:Landroid/content/Context;

invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

move-result-object v3

const v4, 0x7f0d0012 #<public type="integer" name="heads_up_notification_decay" id="0x7f0d0012" />

invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getInteger(I)I

move-result v3

const/4 v4, -0x3

invoke-static {v1, v2, v3, v4}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I

7. Save it and close

8. Now open smali/com/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry.smali

9. Find the following line:

.method public updateEntry()V

Directly below this line you will find this line:

.locals 10

10.	Take that line and replace it with this entire block of code (make sure to replace the commented public ID):

.locals 11

iget-object v6, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;

iget-object v7, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;

invoke-static {v7}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;

move-result-object v7

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

move-result-object v7

const-string/jumbo v8, "heads_up_timeout"

iget-object v9, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;

invoke-static {v9}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;

move-result-object v9

invoke-virtual {v9}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

move-result-object v9

const v10, 0x7f0d0012 #<public type="integer" name="heads_up_notification_decay" id="0x7f0d0012" />

invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getInteger(I)I

move-result v9

const/4 v10, -0x3

invoke-static {v7, v8, v9, v10}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I

move-result v7

invoke-static {v6, v7}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-set0(Lcom/android/systemui/statusbar/policy/HeadsUpManager;I)I

11.	Save, recompile, and replace

For setting Please go for Next post

Thanks to [MENTION=3900807]Bloodlvst[/MENTION] for this tut possible ;)

my respect to you ;)