Cara Modifikasi Theme Manager di MIUI 8 (Support Font, Boot Animation, dll)

bamzzz 5:14 PM
Cara membuat modifikasi theme manager untuk MIUI 8 by bamzzz

miui

TIDAK DAPAT DITERAPKAN DI ROM MIUI GLOBAL DEV MULAI DARI VERSI 7.12.28.

Fitur:
  • Support tema pihak ke-3.
  • Apply tema secara offline (tanpa melalui verifikasi server xiaomi).
  • Menampilkan font di dashboard.
  • Mencegah tema kembali ke default saat menggunakan tema pihak ke-3.
  • Support boot animation tanpa akun theme designer.


Peralatan dan Persyaratan:
  • APKTool / MT Manager
  • Flashable zip kosong, Download
  • TWRP installer
  • miuisystem.apk (./system/app/miuisystem/miuisystem.apk)
  • ThemeManager.apk (./system/app/ThemeManager/ThemeManager.apk)
  • Backup file asli sebelum modding
  • Full backup lewat twrp direkomendasikan.
  • Bahan compare: Download


Modding Bagian 1:
  • Decompile miuisystem.apk

Buka ./miui/drm/DrmManager.smali

Cari:

.method public static isLegal(Landroid/content/Context;Ljava/lang/String;Ljava/io/File;)Lmiui/drm/DrmManager$DrmResult;

Kemudian cari:

return-object v4

Diatasnya tambahkan:

sget-object v4, Lmiui/drm/DrmManager$DrmResult;->DRM_SUCCESS:Lmiui/drm/DrmManager$DrmResult;

Cari:

.method private static isLegal(Landroid/content/Context;Ljava/lang/String;Lmiui/drm/DrmManager$RightObject;)Lmiui/drm/DrmManager$DrmResult;

Kemudian cari:

return-object v8

Diatasnya tambahkan:

sget-object v8, Lmiui/drm/DrmManager$DrmResult;->DRM_SUCCESS:Lmiui/drm/DrmManager$DrmResult;

Cari:

.method public static isPermanentRights(Ljava/io/File;)Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1

Cari:

.method private static isRightsFileLegal(Ljava/io/File;)Z

Kemudian cari:

return v13

Diatasnya tambahkan:

const/4 v13, 0x1

Cari:

.method public static isSupportAd(Landroid/content/Context;)Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x0

Cari:

.method public static setSupportAd(Landroid/content/Context;Z)V

Kemudian cari:

const/4 v0, 0x1

Ubah Menjadi:

const/4 v0, 0x0

Buka ./miui/drm/ThemeReceiver$1.smali

Cari:

invoke-virtual {v3}, Lmiui/content/res/ThemeRuntimeManager;->restoreDefault()V

Ubah menjadi:

#    invoke-virtual {v3}, Lmiui/content/res/ThemeRuntimeManager;->restoreDefault()V
  • Recompile miuisystem.apk.


Modding Bagian 2:
  • Decompile ThemeManager.apk

Buka ./com/android/thememanager/controller/online/DrmService.smali

Cari:

.method public isLegal(Lcom/android/thememanager/model/Resource;)Lmiui/drm/DrmManager$DrmResult;

Kemudian cari:

return-object v5

Diatasnya tambahkan:

sget-object v5, Lmiui/drm/DrmManager$DrmResult;->DRM_SUCCESS:Lmiui/drm/DrmManager$DrmResult;


Buka ./com/android/thememanager/util/ThemeHelper.smali

Cari:

.method public static supportBootAnimation()Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1

Cari:

.method public static supportReplaceFont()Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1

Buka ./com/android/thememanager/util/ThemeOperationHandler.smali

Cari:

.method private reset()V

Kemudian cari:

iput-boolean v0, p0, Lcom/android/thememanager/util/ThemeOperationHandler;->mIsLegal:Z

Diatasnya tambahkan:

const/4 v0, 0x1

Cari:

.method protected isLegal()Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1

Cari:

.method public isPermanentRights()Z

Kemudian cari:

return v1

Diatasnya tambahkan:

const/4 v1, 0x1

Cari:

.method public final onApplyEventPerformed()V

Kemudian cari:

iput-boolean v0, p0, Lcom/android/thememanager/util/ThemeOperationHandler;->mIsTrialApply:Z

Diatasnya tambahkan:

const/4 v0, 0x0

Cari:

.method public onTrialEventPerformed()V

Kemudian cari:

const-string v0, "trial_download"

Diatasnya tambahkan (Pastikan v0 bernilai 0x0):

iput-boolean v0, p0, Lcom/android/thememanager/util/ThemeOperationHandler;->mIsTrialApply:Z


Buka ./com/android/thememanager/util/ThemeOperationHandler$CheckRightsTask.smali

Cari:

.method protected onPostExecute(Lmiui/drm/DrmManager$DrmResult;)V

Kemudian cari:

iget-boolean v0, v0, Lcom/android/thememanager/util/ThemeOperationHandler;->mIsTrialApply:Z

Dibawahnya tambahkan:

const/4 v0, 0x0


Buka ./com/android/thememanager/util/UIHelper.smali

Cari:

.method public static supportLocalContent(Ljava/lang/String;)Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1

Cari:

.method public static supportOnlineContent(Ljava/lang/String;)Z

Kemudian cari:

return v0

Diatasnya tambahkan:

const/4 v0, 0x1
  • Recompile ThemeManager.apk


Modding Bagian 3: Membuat flashable zip
  • Setelah selesai memodifikasi miuisystem dan ThemeManager, jika menggunakan apktool, pastikan kamu menyalin Folder META-INF dan Manifest.xml dari apk asli ke apk hasil modifikasi.
  • Jika menggunakan apktool, salin classes.dex dari ThemeManager.apk hasil modif ke dalam ThemeManager.apk yang belum dimodif. Yang kita butuhkan hanya classes.dex hasil modif.
  • Download flashable zip kosong ini, lalu salin miuisystem dan ThemeManager ketempatnya masing-masing.
  • Pasang flashable zip lewat TWRP.
  • Selesai.


Mod Theme Manager & MIUI System, dari ROM Global 8.5.3.0: Download
Module Magisk Theme Manager Mod ROM Global 8.5.3.0 : Download
Stock Theme Manager & MIUI System, dari ROM Global 8.5.3.0: Download

Screenshot:
thememanager

thememanager

thememanager

thememanager


Demikian artikel ini dibuat, segala resiko dan kerugian akibat mod ini bukan tanggung jawab penulis.
Pastikan kamu membuat backup sebelum memodifikasi file system. Semoga bermanfaat. Terima kasih atas kunjungannya. 





Artikel Terkait

Previous
Next Post »

5 comments

Write comments
yusuf habibie
AUTHOR
September 3, 2017 at 10:04 PM delete

Request Mod theme manager & miui system dari global stable v8.5.6.0 dong gan..

Reply
avatar
December 31, 2017 at 3:32 PM delete

makasih boss, sukses di redmi note 2 cusrom mi-globe beta 9.1|7.12.21 !!

Reply
avatar
January 1, 2018 at 4:08 PM delete

ane udah ganti rom, ke miui 9 global stabil .. awal.a ga bisa nerapin tema pihak ke3, terus ane pake tema mod yg kmrn ane bikin .. eh bisa juga ternyata !! makasih banget bang, tutor.a !!

Reply
avatar

SIlahkan komentar EmoticonEmoticon