بسم الله الر حمن الر حيم
Assalamualaikum sobat oprek...
Udah lama gak ada guide baru dan pada kesempatan kali ini... Ane mw share guide real notif n no auto tint buat base kk..
Ini dah test di base kk oleh Bima Sakti Akbar.,,
Dan ini screenshotnya dari hasil testnya...

Oke syarat-syarat yg harus di perhatikan sbgai berikut...
# Root...
# Full deodex...
# Disable Signature...
# Paham Xml...
# Paham Smali dikit2...
# Bisa Dcrc...
# Udah
Oke kalo udah memenuhi syarat...
Decompile framework-res dan unduh bahan di bawah ini buat komper layoutnya...
BAHAN KOMPER
Jika udah ambil framework.jar dan decompile
Cari smali android/app/Notification$Builder.smali
Dan cari # virtual method
Tambah ini di atasnya...
.method private bindTextApps(Landroid/widget/RemoteViews;)V
.locals 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/widget/RemoteViews;",
")V"
}
.end annotation
.prologue
.line 14
move-object v0, p0
move-object v1, p1
move-object v6, v0
:try_start_0
iget-object v6, v6, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v6}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v6
const-string v7, "app_name_text"
const-string v8, "id"
const-string v9, "android"
invoke-virtual {v6, v7, v8, v9}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
move-result v6
move v3, v6
.line 17
move-object v6, v0
:try_start_1
iget-object v6, v6, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v6}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v6
move-object v7, v1
invoke-virtual {v7}, Landroid/widget/RemoteViews;->getPackage()Ljava/lang/String;
move-result-object v7
const/4 v8, 0x0
invoke-virtual {v6, v7, v8}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v6
move-object v7, v0
iget-object v7, v7, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v7}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v7
invoke-virtual {v6, v7}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v6
check-cast v6, Ljava/lang/String;
move-object v4, v6
.line 18
move-object v6, v1
move v7, v3
move-object v8, v4
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
.line 19
move-object v6, v1
move v7, v3
const/4 v8, 0x0
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
.line 29
:goto_0
return-void
.line 19
:catch_0
move-exception v6
move-object v4, v6
.line 23
:try_start_2
const-string v6, "Notification :"
new-instance v7, Ljava/lang/StringBuffer;
move-object v10, v7
move-object v7, v10
move-object v8, v10
invoke-direct {v8}, Ljava/lang/StringBuffer;-><init>()V
const-string v8, " Error load app name caused by "
invoke-virtual {v7, v8}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v7
move-object v8, v4
invoke-virtual {v8}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v6
.line 24
move-object v6, v1
move v7, v3
const/16 v8, 0x8
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1
goto :goto_0
:catch_1
move-exception v6
move-object v3, v6
.line 29
const-string v6, "Notification : "
const-string v7, "Error id"
invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v6
goto :goto_0
.end method
.method private resetAppName(Landroid/widget/RemoteViews;)V
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/widget/RemoteViews;",
")V"
}
.end annotation
.prologue
.line 37
move-object v0, p0
move-object v1, p1
move-object v5, v0
:try_start_0
iget-object v5, v5, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v5
const-string v6, "app_name_text"
const-string v7, "id"
const-string v8, "android"
invoke-virtual {v5, v6, v7, v8}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v5
move v3, v5
.line 38
move-object v5, v1
move v6, v3
const/16 v7, 0x8
invoke-virtual {v5, v6, v7}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 42
:goto_0
return-void
.line 38
:catch_0
move-exception v5
move-object v3, v5
.line 42
const-string v5, "Notification : "
const-string v6, "Error id"
invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v5
goto :goto_0
.end method
Jika udah.... Cari method private applyStandartTemplate(IZ)
Scroll ke bawah ampek nemu ini...
local v1, "contentView":Landroid/widget/RemoteViews;
Scroll ke bawah lagi sampek ente nemu ini...
move-object/from16 v0, p0
Jika ada maka taruh ini di bawah locals tadi...
move-object/from16 v0, p0
invoke-direct {v0, v1}, Landroid/app/Notification$Builder;->resetAppName(Landroid/widget/RemoteViews;)V
invoke-direct {v0, v1}, Landroid/app/Notification$Builder;->bindTextApps(Landroid/widget/RemoteViews;)V
Jika tdk ada move-object/from16 v0, p0
Maka taruh ini di bawahnya local tadi...
invoke-direct {p0, v1}, Landroid/app/Notification$Builder;->resetAppName(Landroid/widget/RemoteViews;)V
invoke-direct {p0, v1}, Landroid/app/Notification$Builder;->bindTextApps(Landroid/widget/RemoteViews;)V
Jika udah save rc sign dan push dah....
jika butuh bahan buat komper bisa donlot disini
#CREDIT
-ALLAH SUBHANAHUATA'ALA
-MUHAMAD SHALALLAHUALAIWASSALAM
-OM BIMA SAKTI AKBAR (TESTER + YANG MERELAYOUT N NOTIF)
-MBAH SEPTH
-OM ROIS
-OM ARLEG
-OM DHINAN
-BS21 TEAM REBORN
-MAAADR
-MAAAD
-MAIR
-DLL
Assalamualaikum sobat oprek...
Udah lama gak ada guide baru dan pada kesempatan kali ini... Ane mw share guide real notif n no auto tint buat base kk..
Ini dah test di base kk oleh Bima Sakti Akbar.,,
Dan ini screenshotnya dari hasil testnya...
Oke syarat-syarat yg harus di perhatikan sbgai berikut...
# Root...
# Full deodex...
# Disable Signature...
# Paham Xml...
# Paham Smali dikit2...
# Bisa Dcrc...
# Udah
Oke kalo udah memenuhi syarat...
Decompile framework-res dan unduh bahan di bawah ini buat komper layoutnya...
BAHAN KOMPER
Jika udah ambil framework.jar dan decompile
Cari smali android/app/Notification$Builder.smali
Dan cari # virtual method
Tambah ini di atasnya...
.method private bindTextApps(Landroid/widget/RemoteViews;)V
.locals 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/widget/RemoteViews;",
")V"
}
.end annotation
.prologue
.line 14
move-object v0, p0
move-object v1, p1
move-object v6, v0
:try_start_0
iget-object v6, v6, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v6}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v6
const-string v7, "app_name_text"
const-string v8, "id"
const-string v9, "android"
invoke-virtual {v6, v7, v8, v9}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
move-result v6
move v3, v6
.line 17
move-object v6, v0
:try_start_1
iget-object v6, v6, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v6}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v6
move-object v7, v1
invoke-virtual {v7}, Landroid/widget/RemoteViews;->getPackage()Ljava/lang/String;
move-result-object v7
const/4 v8, 0x0
invoke-virtual {v6, v7, v8}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v6
move-object v7, v0
iget-object v7, v7, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v7}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v7
invoke-virtual {v6, v7}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v6
check-cast v6, Ljava/lang/String;
move-object v4, v6
.line 18
move-object v6, v1
move v7, v3
move-object v8, v4
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
.line 19
move-object v6, v1
move v7, v3
const/4 v8, 0x0
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
.line 29
:goto_0
return-void
.line 19
:catch_0
move-exception v6
move-object v4, v6
.line 23
:try_start_2
const-string v6, "Notification :"
new-instance v7, Ljava/lang/StringBuffer;
move-object v10, v7
move-object v7, v10
move-object v8, v10
invoke-direct {v8}, Ljava/lang/StringBuffer;-><init>()V
const-string v8, " Error load app name caused by "
invoke-virtual {v7, v8}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v7
move-object v8, v4
invoke-virtual {v8}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v6
.line 24
move-object v6, v1
move v7, v3
const/16 v8, 0x8
invoke-virtual {v6, v7, v8}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1
goto :goto_0
:catch_1
move-exception v6
move-object v3, v6
.line 29
const-string v6, "Notification : "
const-string v7, "Error id"
invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v6
goto :goto_0
.end method
.method private resetAppName(Landroid/widget/RemoteViews;)V
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/widget/RemoteViews;",
")V"
}
.end annotation
.prologue
.line 37
move-object v0, p0
move-object v1, p1
move-object v5, v0
:try_start_0
iget-object v5, v5, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v5
const-string v6, "app_name_text"
const-string v7, "id"
const-string v8, "android"
invoke-virtual {v5, v6, v7, v8}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v5
move v3, v5
.line 38
move-object v5, v1
move v6, v3
const/16 v7, 0x8
invoke-virtual {v5, v6, v7}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 42
:goto_0
return-void
.line 38
:catch_0
move-exception v5
move-object v3, v5
.line 42
const-string v5, "Notification : "
const-string v6, "Error id"
invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
move-result v5
goto :goto_0
.end method
Jika udah.... Cari method private applyStandartTemplate(IZ)
Scroll ke bawah ampek nemu ini...
local v1, "contentView":Landroid/widget/RemoteViews;
Scroll ke bawah lagi sampek ente nemu ini...
move-object/from16 v0, p0
Jika ada maka taruh ini di bawah locals tadi...
move-object/from16 v0, p0
invoke-direct {v0, v1}, Landroid/app/Notification$Builder;->resetAppName(Landroid/widget/RemoteViews;)V
invoke-direct {v0, v1}, Landroid/app/Notification$Builder;->bindTextApps(Landroid/widget/RemoteViews;)V
Jika tdk ada move-object/from16 v0, p0
Maka taruh ini di bawahnya local tadi...
invoke-direct {p0, v1}, Landroid/app/Notification$Builder;->resetAppName(Landroid/widget/RemoteViews;)V
invoke-direct {p0, v1}, Landroid/app/Notification$Builder;->bindTextApps(Landroid/widget/RemoteViews;)V
Jika udah save rc sign dan push dah....
jika butuh bahan buat komper bisa donlot disini
#CREDIT
-ALLAH SUBHANAHUATA'ALA
-MUHAMAD SHALALLAHUALAIWASSALAM
-OM BIMA SAKTI AKBAR (TESTER + YANG MERELAYOUT N NOTIF)
-MBAH SEPTH
-OM ROIS
-OM ARLEG
-OM DHINAN
-BS21 TEAM REBORN
-MAAADR
-MAAAD
-MAIR
-DLL
7 Komentar
Sir frameworkjar or framework_res.apk?
BalasFw jar and fw res sir
BalasPak @Ali: Nice tutor, pak. Sukses diterapkan di lollipop 5.0 chipset sprd :v
Balasaa teu ngarti :(
BalasPlease dont spam in this blog!!!
BalasPenulisan markup di komentar