Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Hướng dẫn Màu cho tên Lịch sử cuộc gọi và hiển thị biểu tượng - Color for names at Call logs and show icons

shocklads

Thành viên
Tham gia
8/3/16
Bài viết
441
Mình chỉ tìm và dịch lại cho ae thích mod. Nguồn 4pda.ru
1. Decompile Contacts.apk
2. Mở file apktool.yml bằng Notepad++, cuối tệp thêm dòng - 18
usesFramework:
ids:
- 1
- 16
- 18
Bước này để chắc chắn khi compile sẽ ko lỗi loạn lên.
3. Mở theo đường dẫn
smali\com\android\contacts\dialer\list\VH\DialerCallVH.smali
3.1/ Mở file = Notepad++, Ctrl F tìm
.method private bindCallTypeIconView()V
bên dưới có đoạn
Mã:
if-eqz v0, :cond_0
enter 2 phát (mục đích cho 2 dòng cách nhau 1 dòng trống) rồi dán đoạn này vô
Mã:
goto :cond_0
3.2/ Tiếp tục tìm
Mã:
.method public bindView(Lcom/android/contacts/dialer/list/DialerItemVM;Lcom/android/contacts/dialer/list/DialerUISettings;ZZ)V
ps nhỏ(mẹo): Bạn sao chép nguyên cái method này rồi tạo 1 note mới dán vô cho dễ tìm, sau khi thay đổi ta chép đè lại cái method gốc kia, bảo đảm Ctrl F tìm nhanh và chính xác nhất
3.3/ Sau khi copy method ra note mới, tìm
Mã:
invoke-direct {p0}, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->bindNameAndNumberViews()V
Lại enter tiếp 2 phát rồi dán cái này vô
Mã:
invoke-direct {p0}, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->updateNameColor()V
3.4/ Ctrl Enter ở file đang sửa, đến cuối tệp ta paste cái này vô
Mã:
.method private updateNameColor()V
    .locals 3
 
    iget-object v0, p0, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->mItemVM:Lcom/android/contacts/dialer/list/DialerItemVM;
    iget v1, v0, Lcom/android/contacts/dialer/list/DialerItemVM;->mCallType:I
    iget v2, v0, Lcom/android/contacts/dialer/list/DialerItemVM;->mForwardedCall:I
 
    # Call Type (v1):
    # 1. Incoming (if v2=1 forwarded) call
    # 2. Outgoing call
    # 3. Missed (if v2=1 forwarded) call
    # 4. Voicemail
    # 5. Incoming (???) call
    # 6. ?
    # 7. ?
    # 8. ?
    # 9. ?
    #10. New contact
 
    const v0, 0x1
    packed-switch v1, :pswitch_data_0
 
    :pswitch_0
    :goto_cont
    const v1, 0x1
    if-eq v0, v1, :cond_ret
    iget-object v1, p0, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->mName:Landroid/widget/TextView;
    if-eqz v1, :cond_ret
    invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
    :cond_ret
    return-void
 
    :pswitch_1
    const v0, -0xff8a45 # Incoming (if v2=1 forwarded) call
    goto :goto_cont
    :pswitch_2
    const v0, -0xe36abd # Outgoing call
    goto :goto_cont
    :pswitch_3
    const v0, -0x10000 # Missed (if v2=1 forwarded) call
    goto :goto_cont
    :pswitch_4
    const v0, -0x3ec152 # Voicemail
    goto :goto_cont
    :pswitch_5
    const v0, 0x0 # Incoming (???) call
    goto :goto_cont
    :pswitch_a
    const v0, -0xb6b6b7 # New contact
    goto :goto_cont
 
    :pswitch_data_0
    .packed-switch 0x1
        :pswitch_1
        :pswitch_2
        :pswitch_3
        :pswitch_4
        :pswitch_5
        :pswitch_0
        :pswitch_0
        :pswitch_0
        :pswitch_0
        :pswitch_a
    .end packed-switch
.end method
3.5/ Rồi, Ctrl S và Ctr W
4. Mở
smali\com\android\contacts\ContactsUtils.smali
Tìm
Mã:
.method public static setCallLogTypeIcon(Landroid/content/Context;IILandroid/widget/ImageView;)V
Làm theo mẹo trên, lại copy hết method và dán vô trang mới
Tìm
Mã:
Landroid/widget/ImageView;->setVisibility(I)V
Trên nó vài dòng sẽ có đoạn
Mã:
const/16 v0, 0x8
Mã:
const/16 v0, 0x4
Đổi lại thành 0x0
Tổng cộng đổi 2 lần.
5. Compile!
Xong!
Ai hỏi gì mình biết trl thôi, ko nhận gạch đá gì hết :)
Screenshot_2019-01-07-22-45-09-927_com.android.contacts.png
Screenshot_2019-01-07-22-45-23-279_com.android.settings.png
 
Sửa lần cuối:

ducbkyk91

Thành viên
Tham gia
25/4/16
Bài viết
345
bác cho em xin link nguồn cụ thể được không ạ? em tìm không có ra
 

vitcum

Thành viên
Tham gia
31/3/18
Bài viết
118
Bác thực hiện trên android 7 hay 8.1 thế ? cho mình xin bộ tool được ko, mình complie báo lỗi
 

trinhbaphap

Thành viên nhiệt huyết
Tham gia
25/7/15
Bài viết
1,978
Mình chỉ tìm và dịch lại cho ae thích mod. Nguồn 4pda.ru
1. Decompile Contacts.apk
2. Mở file apktool.yml bằng Notepad++, cuối tệp thêm dòng - 18

Bước này để chắc chắn khi compile sẽ ko lỗi loạn lên.
3. Mở theo đường dẫn

3.1/ Mở file = Notepad++, Ctrl F tìm

bên dưới có đoạn
Mã:
if-eqz v0, :cond_0
enter 2 phát (mục đích cho 2 dòng cách nhau 1 dòng trống) rồi dán đoạn này vô
Mã:
goto :cond_0
3.2/ Tiếp tục tìm
Mã:
.method public bindView(Lcom/android/contacts/dialer/list/DialerItemVM;Lcom/android/contacts/dialer/list/DialerUISettings;ZZ)V
ps nhỏ(mẹo): Bạn sao chép nguyên cái method này rồi tạo 1 note mới dán vô cho dễ tìm, sau khi thay đổi ta chép đè lại cái method gốc kia, bảo đảm Ctrl F tìm nhanh và chính xác nhất
3.3/ Sau khi copy method ra note mới, tìm
Mã:
invoke-direct {p0}, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->bindNameAndNumberViews()V
Lại enter tiếp 2 phát rồi dán cái này vô
Mã:
invoke-direct {p0}, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->updateNameColor()V
3.4/ Ctrl Enter ở file đang sửa, đến cuối tệp ta paste cái này vô
Mã:
.method private updateNameColor()V
    .locals 3
 
    iget-object v0, p0, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->mItemVM:Lcom/android/contacts/dialer/list/DialerItemVM;
    iget v1, v0, Lcom/android/contacts/dialer/list/DialerItemVM;->mCallType:I
    iget v2, v0, Lcom/android/contacts/dialer/list/DialerItemVM;->mForwardedCall:I
 
    # Call Type (v1):
    # 1. Incoming (if v2=1 forwarded) call
    # 2. Outgoing call
    # 3. Missed (if v2=1 forwarded) call
    # 4. Voicemail
    # 5. Incoming (???) call
    # 6. ?
    # 7. ?
    # 8. ?
    # 9. ?
    #10. New contact
 
    const v0, 0x1
    packed-switch v1, :pswitch_data_0
 
    :pswitch_0
    :goto_cont
    const v1, 0x1
    if-eq v0, v1, :cond_ret
    iget-object v1, p0, Lcom/android/contacts/dialer/list/VH/DialerCallVH;->mName:Landroid/widget/TextView;
    if-eqz v1, :cond_ret
    invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
    :cond_ret
    return-void
 
    :pswitch_1
    const v0, -0xff8a45 # Incoming (if v2=1 forwarded) call
    goto :goto_cont
    :pswitch_2
    const v0, -0xe36abd # Outgoing call
    goto :goto_cont
    :pswitch_3
    const v0, -0x10000 # Missed (if v2=1 forwarded) call
    goto :goto_cont
    :pswitch_4
    const v0, -0x3ec152 # Voicemail
    goto :goto_cont
    :pswitch_5
    const v0, 0x0 # Incoming (???) call
    goto :goto_cont
    :pswitch_a
    const v0, -0xb6b6b7 # New contact
    goto :goto_cont
 
    :pswitch_data_0
    .packed-switch 0x1
        :pswitch_1
        :pswitch_2
        :pswitch_3
        :pswitch_4
        :pswitch_5
        :pswitch_0
        :pswitch_0
        :pswitch_0
        :pswitch_0
        :pswitch_a
    .end packed-switch
.end method
3.5/ Rồi, Ctrl S và Ctr W
4. Mở
Tìm
Mã:
.method public static setCallLogTypeIcon(Landroid/content/Context;IILandroid/widget/ImageView;)V
Làm theo mẹo trên, lại copy hết method và dán vô trang mới
Tìm
Mã:
Landroid/widget/ImageView;->setVisibility(I)V
Trên nó vài dòng sẽ có đoạn
Mã:
const/16 v0, 0x8
Mã:
const/16 v0, 0x4
Đổi lại thành 0x0
Tổng cộng đổi 2 lần.
5. Compile!
Xong!
Ai hỏi gì mình biết trl thôi, ko nhận gạch đá gì hết :)
View attachment 68687 View attachment 68688
đang dùng rom gì thế bạn? cái phần màn hình khóa của bạn đúng với những gì mình cần. Rom của a Tuân cho Note5 chưa có đồng hồ dọc, với rung khi mở khóa. Chờ mãi mà chưa được.
 

shocklads

Thành viên
Tham gia
8/3/16
Bài viết
441
đang dùng rom gì thế bạn? cái phần màn hình khóa của bạn đúng với những gì mình cần. Rom của a Tuân cho Note5 chưa có đồng hồ dọc, với rung khi mở khóa. Chờ mãi mà chưa được.
Bác dùng rom nào trích em bộ file em thử mod xem
MiuiSystemUI, MiuiHome, Settings
Screenshot_1.png
 

trinhbaphap

Thành viên nhiệt huyết
Tham gia
25/7/15
Bài viết
1,978
Mod màu contacts, mở khoá khi reboot cho b, chưa mod đc rung do còn thiếu services.jar. gởi lại m mod luôn
https://drive.google.com/file/d/1yM2WY7gh-jCB1TdELPkoVMk6EsqZI3Ha/view?usp=sharing
Đây bạn ơi, chắc là file này, mình thấy ở folder Framework.
Còn file mod rồi để mình thử luôn cho nóng. Cám ơn bạn !
 

trinhbaphap

Thành viên nhiệt huyết
Tham gia
25/7/15
Bài viết
1,978
Sửa lần cuối:

shocklads

Thành viên
Tham gia
8/3/16
Bài viết
441
Đã test, contact đã Ok ở mục quay số, nhưng vào liên hệ thì FC. Setting cũng bị FC khi vào phần màn hình khóa và vân tay bạn à.
Cái Mở khoá có thể FC, làm vài lần dò lỗi mới đc, còn cái Contacts 1 phát ăn ngay sao lại lỗi nhỉ :D
 

trinhbaphap

Thành viên nhiệt huyết
Tham gia
25/7/15
Bài viết
1,978
Cái Mở khoá có thể FC, làm vài lần dò lỗi mới đc, còn cái Contacts 1 phát ăn ngay sao lại lỗi nhỉ :D
Mình sang rom dev miuipro rồi. Còn mỗi cái contact đổi màu với mở khóa khi reboot máy. Có thể mod hộ mình không. Cần file gì để mình gửi. Mình đang 9.1.17
 

TruongIT01

Thành viên tích cực
Tham gia
15/6/16
Bài viết
582
Như cũ bác.quất qua em hốt luôn
Đối với mod smali, bạn copy ra một file mới rồi đổi tên sang *.jar và xoá hết res, resource. Mod như file jar bth đơn giản hơn cho việc decompile, sau đó kéo classes.dex đã mod vào file gốc là ok =)
 

shocklads

Thành viên
Tham gia
8/3/16
Bài viết
441
Đối với mod smali, bạn copy ra một file mới rồi đổi tên sang *.jar và xoá hết res, resource. Mod như file jar bth đơn giản hơn cho việc decompile, sau đó kéo classes.dex đã mod vào file gốc là ok =)
e cũng tự mò thôi bác, chắc lúc edit code có sai này nọ nó mới FC chứ việc de/recom dễ ẹc mà
 
Top