-
06-03-2014, 05:02 AM #1
Junior Member
- Ngày tham gia
- Apr 2015
- Bài viết
- 0
[LU6200] Thêm nút qslide mini trên status bar mở rộng
- thân chào các ae trong diễn đàn, hnay mình xin chia sẻ cách thêm nút qslide mini trên status bar mở rộng với công dụng bật tắt nhanh thanh qslide trong rom không có tùy chỉnh này. cảm ơn a hyunhnhan886 đã mod giúp mình 2 nút mini và a kill_kim78 đã chôm code về share cho mình :laugh:. sau đây là cách tiến hành gồm 2 phần, trong res và trong smali:
[phần 1]
- đầu tiên compile lgsystemui.apk.
- sau đó vào lgsystemui/res/layout/status_bar_expanded_setting_layout.xml mở nó lên tìm code 1, sau đó thêm code 2 dưới code 1 rồi lưu lại.
code 1:
code 2:Mã:<imageview android:gravity="center_vertical" android:id="@id/settings_button" android:paddingleft="0.0dip" android:paddingright="0.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_notify_quicksettings" android:layout_torightof="@id/settings_divider" android:contentdescription="@string/accessibility_settings_button" />
Mã:<imageview android:gravity="center_vertical" android:id="@id/toggle_qslide_button" android:android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginleft="1.0dip" android:layout_torightof="@id/settings_button" android:layout_centervertical="true" />
- sau đó vào ids.xml trong res/values/ids.xml thêm 1 ids:
- sau đó lấy 2 hình ảnh ở link cuối bài viết và bỏ vào res/drawable-xhdpi.Mã:<item type="id" name="toggle_qslide_button">false</item>
- decompile lại lgsystemui, xong xuôi vào thư mục dist lấy cái lgsystemui đã chỉnh sửa khi nãy ra mod tiếp (copy đè lgsystemui trong dist đè lên lgsystemui cũ trong apktool xong r xóa thư mục lgsystemui trong apktool) thế thì coi như là xong phần 1 (phần này để thêm code và thêm id trong public.xml).
- kết thúc phần 1, chúng ta lấy trong dist và bỏ lgsystemui.apk vào máy reboot lại thử xem đã có hình qslide chưa, nếu có đã thanh công tốt đẹp phần 1
[phần 2]
- dịch ngược lại ui của các bạn và ui của mình. các bạn nên đổi tên lgsystemui của minh thành ui cho khỏi bị lộn nhé. sau đó các bạn vào ui của mình theo đường dẫn:
+ c:\apktool\ui(khoa)\smali\com\android\systemui\statusbar\phone.
- sau đó copy phonestatusbar$toggleqslidebutton.smali vào ui của các bạn.
- sau đó cũng tại đường dẫn trên ae mở phonestatusbar.smali của mình lên để so sánh dòng và thêm code. mẹo: dùng ctrl+f để tìm code đen và thêm code đỏ vào bên dưới code đen. :laugh:
- tiến hành:
[color=rgb(0, 0, 0)] 1/ (tìm dòng này và thêm code đỏ ở bên dưới nó).[/color]
Mã:.field mpostcollapsecleanup:ljava/lang/runnable;
Mã:.field private mqslidevisible:z
2/ (như trên).
Mã:.field mstarttracing:ljava/lang/runnable;
Mã:.field private mstatusbarbackgroundalpha:i
3/ (như trên).
Mã:.field mtickingdonelistener:landroid/view/animation/animation$animationlistener;
4/ ae bật ui/smali của mình lên tìm dòng này .method private slingcustomization()v rồi ae để ý xem nó nằm dưới dòng (tạm gọi là dòng 1) trong smali xong chỉ cần copy cái dòng 1 đó đem qua tìm bên smali của ae. [bên mình nó nằm dưới đoạn]:Mã:.field private mtoggleqslidebutton:landroid/widget/imageview;
[color=rgb(0, 0, 0)]
[/color]Mã:iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mlightsonanimation:landroid/animation/animatorset; goto :goto_1 .end method
(bên mình dòng .end method là dòng 2366, nếu các bạn dùng ui giống mình rc2 thì có thể đến ngay khúc đó).
- lưu ý: phải tìm iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mlightsonanimation:landroid/animation/animatorset; gắn vs goto :goto_1 và .end method nhé.
- sau đó chúng ta cách 1 dòng và thêm code sau dưới .end method:
Mã:.method private slingcustomization()v .locals 6 const/16 v0, 0xff iput v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mstatusbarbackgroundalpha:i .line 0 iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mstatusbarwindow:lcom/android/systemui/statusbar/phone/statusbarwindowview; .line 102 const v1, 0x7f0c013d .line 103 invoke-virtual {v0, v1}, lcom/android/systemui/statusbar/phone/statusbarwindowview;->findviewbyid(i)landroid/view/view; .line 104 move-result-object v0 check-cast v0, landroid/widget/imageview; iput-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mtoggleqslidebutton:landroid/widget/imageview; new-instance v1, lcom/android/systemui/statusbar/phone/phonestatusbar$toggleqslidebutton; invoke-direct {v1, p0}, lcom/android/systemui/statusbar/phone/phonestatusbar$toggleqslidebutton;-><init>(lcom/android/systemui/statusbar/phone/phonestatusbar;)v invoke-virtual {v0, v1}, landroid/view/view;->setonclicklistener(landroid/view/view$onclicklistener;)v iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mstatusbarwindow:lcom/android/systemui/statusbar/phone/statusbarwindowview; :goto_0 return-void move-exception v0 goto :goto_0 .end method
5/ (tìm code này và thêm code đỏ phía bên dưới):
Mã:iput-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mkm:landroid/app/keyguardmanager;
6/ cũng làm như bước 4/ nhưng tìm với đoạn code .method public toggleqslidevisibility()v bên mình và coi nó nằm dưới dòng nào? bên mình là:Mã:invoke-direct {p0}, lcom/android/systemui/statusbar/phone/phonestatusbar;->slingcustomization()v
(dòng 9383)Mã:invoke-virtual {v0, p2}, lcom/android/systemui/statusbar/phone/ticker;->addentry(lcom/android/internal/statusbar/statusbarnotification;)v goto :goto_0 .end method
- sau đó thêm đoạn code này vào bên dưới nhớ cách 1 hàng, ở bước 4/ cũng v, cách 1 hàng dưới .end method:
Mã:.method public toggleqslidevisibility()v .locals 4 .prologue .line 48 iget-boolean v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mqslidevisible:z if-eqz v0, :cond_1 .line 49 iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mstatusbarwindow:lcom/android/systemui/statusbar/phone/statusbarwindowview; const v1, 0x7f0c0033 invoke-virtual {v0, v1}, lcom/android/systemui/statusbar/phone/statusbarwindowview;->findviewbyid(i)landroid/view/view; move-result-object v0 if-eqz v0, :cond_0 const/16 v1, 0x8 invoke-virtual {v0, v1}, landroid/view/view;->setvisibility(i)v iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mtoggleqslidebutton:landroid/widget/imageview; const v1, 0x7f0205fd invoke-virtual {v0, v1}, landroid/widget/imageview;->setbackgroundresource(i)v const/4 v0, 0x0 :goto_0 iput-boolean v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mqslidevisible:z .line 56 :cond_0 return-void .line 51 :cond_1 iget-object v0, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mstatusbarwindow:lcom/android/systemui/statusbar/phone/statusbarwindowview; const v1, 0x7f0c0033 invoke-virtual {v0, v1}, lcom/android/systemui/statusbar/phone/statusbarwindowview;->findviewbyid(i)landroid/view/view; move-result-object v0 if-eqz v0, :cond_0 const/16 v1, 0x0 invoke-virtual {v0, v1}, landroid/view/view;->setvisibility(i)v iget-object v3, p0, lcom/android/systemui/statusbar/phone/phonestatusbar;->mtoggleqslidebutton:landroid/widget/imageview; const v2, 0x7f0205fe invoke-virtual {v3, v2}, landroid/widget/imageview;->setbackgroundresource(i)v const/4 v0, 0x1 goto :goto_0 .end method
- bước cuối cùng rất quan trong đó là thay id trong public của các bạn vào các chỗ mình sẽ đề cập. đầu tiên vào ui của các bạn/res/values/public.xml.
+ ctrl+f tìm toggle_qslide_button và copy cái id của nó ở chỗ id="..." t thay vào [color=rgb(0, 0, 0)]0x7f0c013d ở phần 4/.
+ tìm floating_launcher_base và copy cái id thay vào 0x7f0c0033 ở phần 6/ (lưu ý là trong phần 6 có 2 cái id của floating_launcher_base lận nên các bạn copy cho đủ nhé).
+ tìm ic_notify_toggle_qslide_normal và copy id thay vào 0x7f0205fd ở phần 6/ luôn.
+ lại thay id của floating_launcher_base như mình đã đề cập ở trên thay vào 0x7f0c0033 dưới ic_notify_toggle_qslide_normal luôn.
+ tìm ic_notify_toggle_qslide_pressed và copy id thay vào 0x7f0205fe ở phần 6/.
- sau đó save lại và tận hưởng thành quả. bài viết khá chi tiết nên các ae nên đọc kỹ, kiên trì (dễ nản), vì làm theo tính chất tự coi, k am hiểu smali nên có thể nhiều câu hỏi của ae mình sẽ không tl đc, thông cảm hén :d. chúc ae thành công :like:
- kết quả:
[/color]
- link lgsystemui của mình và 2 hình qslide mini:
lgsystemui.apk và 2 hình qslide mini
- p/s: ai thấy thích hoặc làm thành công thì để lại cmt + like cho mình để khích lệ nhé, mình sẽ update cách thêm nút mini volume sau nhé. mời ae ly :x3: nhé :laugh:
Chủ đề cùng chuyên mục xem nhiều nhất:
- Up rom stock trên máy lg lu6200 ( có video thao tác tay trực tiếp )
- (LTE-SU640) LƯU TRỮ TỔNG HỢP PHẦN MỀM VÀ ROM OPTIMUS LTE SU640
- [LU6200]Pisces 4.1 - V30D port từ SU640
- [ LU6200 ][ KERNEL ] Tổng Hợp Custom Kernel JellyBean ( Cập nhật Das kernel 3.4.75 ngày 31/12/2013)
- Các ROM tốt khuyên dùng cho LG Optimus LTE1 (SU640 - LU6200)
-
06-03-2014, 05:04 AM #2
Banned
- Ngày tham gia
- Feb 2015
- Bài viết
- 0
- a sonktqx, hai hs, like_android, hades
- a gts8003 xem có bị sai sót chỗ nào k nhé :laugh:
- jay sơn :laugh:
-
06-03-2014, 05:04 AM #3
Junior Member
- Ngày tham gia
- Apr 2015
- Bài viết
- 0
đặt gạch đầu tiên sau này tìm hiểu sau. kaka
gửi từ lg-lu6200 của tôi bằng cách sử dụng tapatalk
-
06-03-2014, 05:05 AM #4
Junior Member
- Ngày tham gia
- Feb 2015
- Bài viết
- 0
keke :laugh: ngủ dậy r à :laugh:
Gửi bởi jay sơn
-
06-03-2014, 05:06 AM #5
Junior Member
- Ngày tham gia
- Jul 2015
- Bài viết
- 0
khó chịu trong ng quá ngủ ko đc. đang nhắn tin e iu
Gửi bởi chakcoralvine

gửi từ lg-lu6200 của tôi bằng cách sử dụng tapatalk
-
06-03-2014, 05:07 AM #6
Junior Member
- Ngày tham gia
- Nov 2014
- Bài viết
- 0
vãi, sướng thế r còn gì, giả bộ nói bị bệnh xem, e ấy có mà cuống cuồng lên ấy chứ :laugh:
Gửi bởi jay sơn
-
06-03-2014, 05:13 AM #7
Junior Member
- Ngày tham gia
- Jul 2015
- Bài viết
- 0
à a gts8003 ơi em xin phép lập 1 topic tổng hợp mod các thứ cho lu đc k a? ngay tại box lu để ae lu ai có mod đc gì hay thì tích cóp vào ạ.
-
06-03-2014, 05:20 AM #8
Junior Member
- Ngày tham gia
- Dec 2014
- Bài viết
- 0
cứ lập đi, có khi lại hót:d
Gửi bởi chakcoralvine
mà thế đổi luôn cái topic ui sang cho đỡ loạn
-
06-03-2014, 05:23 AM #9
Junior Member
- Ngày tham gia
- Jun 2014
- Bài viết
- 0
mà cái topic này để ở mục thủ thuật thì hay hơn nhể
-
06-03-2014, 05:24 AM #10
Junior Member
- Ngày tham gia
- Jul 2015
- Bài viết
- 12
thì em muốn để ở lu cho ae lu coi thôi ạ :d ai mod đc trên lu sẽ đưa vào cái topic đấy ae sẽ dễ làm hơn, mấy cái hd khác có khi chung chung ạ :laugh:
Gửi bởi gts8003

Trả lời kèm Trích dẫn
Căn hộ dự án The Ascent phát triển bởi Tiến Phát Corp lý tưởng bậc nhất gần trung tâm thông tin cập nhật. chung cư The Ascent lý tưởng bậc nhất sống thanh bình không khi mát mẻ. Dự án chung cư cao...
Khu căn hộ The Ascent tầm nhìn cực đẹp