MIUI - Modification and decorations | Modification and decorations of MIUI firmware, instructions, discussion.



Rep: (3478)
MIUI - Modification and decorations

Important information. Read a must!

  • Before writing a topic, read:

  • When publishing instructions or using them in your mods, pleaseDo not forget the authors of these instructions.
  • It is also worth pointingmanual dependency on third-party components , Including Independent from or autonomous settings, etc.
  • Rules of conduct in the subject (in case of non-compliance, posts can be deleted without warning):

    • This topic is nottable orders. All messages with requests for editing will be deleted.
    • Messages with instructions issued not bypattern may not get into the catalog of instructions.
    • Before you ask a question or write instructions, use the search on the topic, perhaps your question has already been considered.
    • Fullest describes the problem: if the error log is needed; if the problem is with a specific mod, then provide a link to it; specify the MIUI version androjda and firmware; what has been done, what has not been done. No need to make to help pull out the information you "tick".
    • All images are hidden under the spoiler tag
    • In the subject we discuss only MIUI modifications. There are separate branches for discussing and searching topics.
    • Authors of instructions, like no one else but younot responsible for the performance of your devices!
    • It is customary to express gratitude by changing the reputation, no need to litter the topic.
    • You should not breed holivar about MiuiPro in this topic. For this there is a section of the meat grinder.

Patterns of modifications and instructions
Copy the content into your message and fill. If possible, try to use the code tag when inserting pieces of code in your instructions.
[CENTER] [COLOR = blue] [SIZE = 3] [B] Here we write the name of the lesson, as well as the version of MIUI [/ B] [/ SIZE] [/ COLOR] [/ CENTER]
Additional information if necessary (apktool version, android version, thanks, etc.)
[SPOILER = Description] Description, detailed instruction [/ SPOILER]
[SPOILER = Screenshots] Attach screenshots if necessary [/ SPOILER]

Catalog of instructions
Settings
Status bar, curtain notifications
Multimedia and sounds
Launcher / Desktop
Lock Screen / AoD
Caller / Contact
Reboot Menu / Recent Menu
Other
Useful links and tools
Profile and useful topics
The authors of modifications and the Administration of the forum are not responsible for the performance of your devices!
Remember: everything you do - you do at your own peril and risk!

For questions about filling Caps contact the Curator -OutsatQMS
Attached Image


Post has been editedOuts - 30.12.20, 23:11
Reason for editing: Editing Caps



Rep: (1313)
* gdb417,
With such dances, it is better to do such changes with a theme without hemorrhoids and after the update you do not need to edit again



Rep: (1313)
* gdb417,
Well, whoever wants, and dances)) This is certainly interesting, but not every week after the update to do it again. Imho



Rep: (5)
* Alex.Strannik,
Alex.Strannik @ 11/08/2016, 2:23 PM*
Audacity

I can not put the expansion in it
Wavepad sound editor that's better

Post has been editedgrohot86 - 08.11.16, 16:38



Rep: (2130)
Gdb417 @ 11/08/2016, 18:56*
when the background of the statusbar is light (I can’t say exactly white or just light), the font color becomes black. Probably still necessary condition

yes, added condition. updated instructions
The color becomes black, but not so black, because the absolute opacity is not set (from 0 to 255 somewhere at 190). But all the same, if a mask is imposed, the transparency will fall off and the code of black color will be visible, so now it seems like all the rules should be, I checked it, in the settings is black, in other places it is colored

Post has been editedS0bes - 08.11.16, 18:30



Rep: (3)
* Televox,

Did as it is written (usb mount). on 11/06/10 did not work. the menu is also only mtp, ptp

upd: something went wrong. The settings are completely gone. I will continue to understand

Post has been editedaskovpen - 14.11.16, 00:45



Rep: (1872)
* askovpen,
Something where they did something wrong .. Give the usb_settings.xml file a look ..



Rep: (2142)
Supplement for[MIUI8] Advanced reboot menu

Android 6


Since Android 6 MiuiGlobalActions $ 1.smali isservices.jar \ smali \ com \ android \ server \ policy \ MiuiGlobalActions $ 1.smali, slightly corrected lines. We do everything according to the instructions, just paste in the specified path
const-string v0, "recovery"

invoke-virtual {v0, p1}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z

move-result v0

if-eqz v0,: cond_4b

: try_start_3d
# invokes: Lcom / android / server / policy / MiuiGlobalActions; ->getPowerManager () Landroid / os / IPowerManager;
invoke-static {}, Lcom / android / server / policy / MiuiGlobalActions; ->access $ 100 () Landroid / os / IPowerManager;

move-result-object v0

const / 4 v1,0x0

const-string v2, "recovery"

const / 4 v3, 0x0

invoke-interface {v0, v1, v2, v3}, Landroid / os / IPowerManager; ->reboot (ZLjava / lang / String; Z) V
: try_end_48
.catch Landroid / os / RemoteException; {: try_start_3d ..: try_end_48}: catch_49

goto: goto_10

: catch_49
move-exception v0

goto: goto_10

: cond_4b
const-string v0, "bootloader"

invoke-virtual {v0, p1}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z

move-result v0

if-eqz v0,: cond_61

: try_start_53
# invokes: Lcom / android / server / policy / MiuiGlobalActions; ->getPowerManager () Landroid / os / IPowerManager;
invoke-static {}, Lcom / android / server / policy / MiuiGlobalActions; ->access $ 100 () Landroid / os / IPowerManager;

move-result-object v0

const / 4 v1,0x0

const-string v2, "bootloader"

const / 4 v3, 0x0

invoke-interface {v0, v1, v2, v3}, Landroid / os / IPowerManager; ->reboot (ZLjava / lang / String; Z) V
: try_end_5e
.catch Landroid / os / RemoteException; {: try_start_53 ..: try_end_5e}: catch_5f

goto: goto_10

: catch_5f
move-exception v0

goto: goto_10

: cond_61

Checked on firmware 6.11.3 from MultiRom for Xiaomi Redmi Note 4 on MTK 6797

p.s
: goto_10 replace with your own, which is before return-void in the method

Post has been editedS0bes - 14.10.17, 19:30
Reason for editing: I made an important remark



Rep: (34)
I want to increase the font of the clock in the status bar to almost all its height, it is more in the English whale firmware than in the translated ones by different teams. Tell me, is it possible, and where to find it?
Attached Image


Post has been editedvovan_zp - 24.11.16, 10:27



Rep: (1313)
* vovan_zp,
In miuisystemui.apk



Rep: (172)
I want to increase the font of the clock in the status bar to almost its full height
MiuiSystemUI.apk on the path res / values ​​/ dimens.xml line:
<dimen name = "statusbar_clock_size">11.5dip</ dimen>
Screenshot can be viewedhere .
It is worth the value of 17.0dip.
Here, in the line:
<dimen name = "status_bar_notification_icon_size">12.799988dip</ dimen>
You can change the size of the notification icons.

Post has been editedLulumbaw - 24.11.16, 15:02
Reason for editing: Added.



Rep: (719)
* Lulumbaw Or do the same thing



Rep: (34)
* warlock90000 ,
I made the font of the clock in the status bar a theme, it works, thank you. And you can move the clock on the lock screen with the theme, I want to put them in the center. I found topics where the clock on the lock screen is centered, but there are a lot of unnecessary functions (side panels, weather, calendars, etc.)



Rep: (719)
* vovan_zp , It is possible to move, Only not in the standard lock



Rep: (937)
[MIUI 8]Selection and installation of local wallpaper on the screens through a third-party gallery

Description : default through Settings ->Wallpaper You can choose the wallpaper on the lock screen and the desktop only through the Stock Gallery. It can be replaced by any other.

For exampleQuickpic. UnpackingThemeManager.apk open LocalResourceListFragment $ 4.smali on the way smali \ com \ android \ thememanager \ activity \
Find:
const-string v2, "com.miui.gallery"
and replace"com.miui.gallery" in the name of the application package Quickpic - "com.alensw.PicFolder"
It should turn out like this:
const-string v2, "com.alensw.PicFolder"

Save ->we collect.
The package name of the desired gallery can be found in* .apk \ AndroidManifest.xml , package = ""

Alternative . If from the same LocalResourceListFragment $ 4.smali delete lines:
const-string v2, "com.miui.gallery"

invoke-virtual {v1, v2}, Landroid / content / Intent; ->setPackage (Ljava / lang / String;) Landroid / content / Intent;

instead of the gallery will openDocuments(MIUI optimization in the settings for developers should be off )It will be possible to install wallpaper from all installed galleries / file managers.
UI documents
Attached Image
Attached Image



Rep: (2130)
Correction of the notification counter on the icons in the [MIUI 8] [MM] launcher

UPDATED on Oct 8, 2017
Instruction
MiuiSystemUI \ smali \ com \ android \ systemui \ statusbar \ phone \PhoneStatusBar.smali
We are looking for lines withgetMessageCount () I . They meet 4 times and we will edit 4 times.
Here is the code, only the registers can differ:

invoke-virtual {p1}, Lcom / android / systemui / statusbar / ExpandedNotification; ->getNotification () Landroid / app / Notification;

move-result-object v2

iget-object v2, v2, Landroid / app / Notification; ->extraNotification: Landroid / app / MiuiNotification;

invoke-virtual {v2}, Landroid / app / MiuiNotification; ->getMessageCount () I

move-result v0

It should be completely replaced by

invoke-virtual {p0, p1}, Lcom / android / systemui / statusbar / phone / PhoneStatusBar; ->getNumber (Landroid / service / notification / StatusBarNotification;) I

move-result v0

Where in the new code p0 is always p0. p1 - ​​the register from the line with getNotification IT IS NOT MANDATORY WITH LETTER P. v0 is the same as in the replaced code.
I repeat, this should be done 4 times. Two inshouldUpdateAppMessage and two in updateAppMessage . Pay attention to the registers.
At the very end we insert a new method:
.method public getNumber (Landroid / service / notification / StatusBarNotification;) I
.locals 10
.param p1, "sbn" # Landroid / service / notification / StatusBarNotification;

.prologue
.line 45
const / 4 v5, 0x0

.line 46
.local v5, "num": I
const-string v0, ""

.line 48
.local v0, "extra": Ljava / lang / String;
const-string v4, ""

.line 50
.local v4, "notif_extra_s": Ljava / lang / String;
if-nez p1,: cond_0

.line 51
const / 4 v8, 0x0

.line 96
: goto_0

if-nez v8,: cond_99

invoke-virtual {p1}, Lcom / android / systemui / statusbar / ExpandedNotification; ->getNotification () Landroid / app / Notification;

move-result-object v8

iget-object v8, v8, Landroid / app / Notification; ->extraNotification: Landroid / app / MiuiNotification;

invoke-virtual {v8}, Landroid / app / MiuiNotification; ->getMessageCount () I

move-result v8

: cond_99

return v8

.line 53
: cond_0
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getPackageName () Ljava / lang / String;

move-result-object v8

const-string v9, "com.whatsapp"

invoke-virtual {v8, v9}, Ljava / lang / String; ->equalsIgnoreCase (Ljava / lang / String;) Z

move-result v8

if-eqz v8,: cond_4

.line 55
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getNotification () Landroid / app / Notification;

move-result-object v8

iget-object v8, v8, Landroid / app / Notification; ->extras: Landroid / os / Bundle;

const-string v9, "android.text"

invoke-virtual {v8, v9}, Landroid / os / Bundle; ->getCharSequence (Ljava / lang / String;) Ljava / lang / CharSequence;

move-result-object v3

.line 56
.local v3, "notif_extra": Ljava / lang / CharSequence;
if-eqz v3,: cond_2

.line 57
invoke-interface {v3}, Ljava / lang / CharSequence; ->toString () Ljava / lang / String;

move-result-object v0

.line 59
const-string v8, "message"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_1

const-string v8, "\ u0441 \ u043e \ u043e \ u0431 \ u0449 \ u0435 \ u043d"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_1

const-string v8, "\ u043f \ u043e \ u0432 \ u0456 \ u0434 \ u043e \ u043c"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_1

const-string v8, "Nachrichten"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-eqz v8,: cond_2

.line 61
: cond_1
const-string v8, "\\ d +"

invoke-static {v8}, Ljava / util / regex / Pattern; ->compile (Ljava / lang / String;) Ljava / util / regex / Pattern;

move-result-object v6

.line 62
.local v6, "pat": Ljava / util / regex / Pattern;
invoke-virtual {v6, v0}, Ljava / util / regex / Pattern; ->matcher (Ljava / lang / CharSequence;) Ljava / util / regex / Matcher;

move-result-object v1

.line 64
.local v1, "matcher": Ljava / util / regex / Matcher;
invoke-virtual {v1}, Ljava / util / regex / Matcher; ->find () Z

move-result v8

if-eqz v8,: cond_2

.line 65
invoke-virtual {v1}, Ljava / util / regex / Matcher; ->group () Ljava / lang / String;

move-result-object v8

invoke-static {v8}, Ljava / lang / Integer; ->parseInt (Ljava / lang / String;) I

move-result v5

.line 92
.end local v1 # "matcher": Ljava / util / regex / Matcher;
.end local v3 # "notif_extra": Ljava / lang / CharSequence;
.end local v6 # "pat": Ljava / util / regex / Pattern;
: cond_2
: goto_1
if-nez v5,: cond_3

.line 93
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getNotification () Landroid / app / Notification;

move-result-object v8

iget v5, v8, Landroid / app / Notification; ->number: I

: cond_3
move v8, v5

.line 96
goto: goto_0

.line 69
: cond_4
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getPackageName () Ljava / lang / String;

move-result-object v8

const-string v9, "com.viber.voip"

invoke-virtual {v8, v9}, Ljava / lang / String; ->equalsIgnoreCase (Ljava / lang / String;) Z

move-result v8

if-eqz v8,: cond_2

.line 70
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getNotification () Landroid / app / Notification;

move-result-object v8

iget-object v8, v8, Landroid / app / Notification; ->extras: Landroid / os / Bundle;

const-string v9, "android.infoText"

invoke-virtual {v8, v9}, Landroid / os / Bundle; ->getCharSequence (Ljava / lang / String;) Ljava / lang / CharSequence;

move-result-object v3

.line 71
.restart local v3 # "notif_extra": Ljava / lang / CharSequence;
if-eqz v3,: cond_2

.line 72
invoke-interface {v3}, Ljava / lang / CharSequence; ->toString () Ljava / lang / String;

move-result-object v0

.line 73
const-string v8, "\\ d +"

invoke-static {v8}, Ljava / util / regex / Pattern; ->compile (Ljava / lang / String;) Ljava / util / regex / Pattern;

move-result-object v6

.line 74
.restart local v6 # "pat": Ljava / util / regex / Pattern;
invoke-virtual {v6, v0}, Ljava / util / regex / Pattern; ->matcher (Ljava / lang / CharSequence;) Ljava / util / regex / Matcher;

move-result-object v1

.line 75
.restart local v1 # "matcher": Ljava / util / regex / Matcher;
invoke-virtual {v1}, Ljava / util / regex / Matcher; ->find () Z

move-result v8

if-eqz v8,: cond_5

.line 76
invoke-virtual {v1}, Ljava / util / regex / Matcher; ->group () Ljava / lang / String;

move-result-object v8

invoke-static {v8}, Ljava / lang / Integer; ->parseInt (Ljava / lang / String;) I

move-result v5

goto: goto_1

.line 78
: cond_5
invoke-virtual {p1}, Landroid / service / notification / StatusBarNotification; ->getNotification () Landroid / app / Notification;

move-result-object v8

iget-object v8, v8, Landroid / app / Notification; ->extras: Landroid / os / Bundle;

const-string v9, "android.title"

invoke-virtual {v8, v9}, Landroid / os / Bundle; ->getCharSequence (Ljava / lang / String;) Ljava / lang / CharSequence;

move-result-object v3

.line 79
if-eqz v3,: cond_2

.line 80
invoke-interface {v3}, Ljava / lang / CharSequence; ->toString () Ljava / lang / String;

move-result-object v0

.line 81
const-string v8, "Missed"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_6

const-string v8, "\ u041f \ u0440 \ u043e \ u043f \ u0443 \ u0449 \ u0435 \ u043d \ u043d \ u044b \ u0445"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_6

const-string v8, "\ u041f \ u0440 \ u043e \ u043f \ u0443 \ u0449 \ u0435 \ u043d \ u0456"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-nez v8,: cond_6

const-string v8, "Abwesenheit"

invoke-virtual {v0, v8}, Ljava / lang / String; ->contains (Ljava / lang / CharSequence;) Z

move-result v8

if-eqz v8,: cond_2

.line 82
: cond_6
const-string v8, "\\ d +"

invoke-static {v8}, Ljava / util / regex / Pattern; ->compile (Ljava / lang / String;) Ljava / util / regex / Pattern;

move-result-object v7

.line 83
.local v7, "pat1": Ljava / util / regex / Pattern;
invoke-virtual {v7, v0}, Ljava / util / regex / Pattern; ->matcher (Ljava / lang / CharSequence;) Ljava / util / regex / Matcher;

move-result-object v2

.line 84
.local v2, "matcher1": Ljava / util / regex / Matcher;
invoke-virtual {v2}, Ljava / util / regex / Matcher; ->find () Z

move-result v8

if-eqz v8,: cond_2

.line 85
invoke-virtual {v2}, Ljava / util / regex / Matcher; ->group () Ljava / lang / String;

move-result-object v8

invoke-static {v8}, Ljava / lang / Integer; ->parseInt (Ljava / lang / String;) I

move-result v5

goto / 16: goto_1
.end method

Files for comparison: Attached filefiles3.zip (124.2 KB)


Screenshots
Attached Image
Attached Image
Attached Image


If the patch does not work correctly, you did something wrong. Especially for this, I attached the files for comparison. We pay special attention to the numbers and letters of the p / v registers.


Why the instruction is no longer updated (read)


Post has been editedS0bes - 29.01.18, 17:48



Rep: (1872)
Urgently, with the note "Lightning": roll:, I am looking for a hint where the action is written when you click on the Themes button ...
Attached Image



Rep: (2130)
Televox @ 14.12.16, 15:44*
Nda too ... so I want the full path to find out, right down to the lines.

com.miui.home.launcher.EditingEntryThumbnailView
.method static constructor<clinit>() V
.locals 3

const / 4 v0, 0x2

new-array v0, v0, [I

fill-array-data v0,: array_0

sput-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->ICON_BACKGROUND: [I

new-instance v0, Landroid / content / ComponentName;

const-string v1, "com.android.thememanager "

const-string v2, "com.android.thememanager.activity.ThemeSettingsActivity "

invoke-direct {v0, v1, v2}, Landroid / content / ComponentName; -><init>(Ljava / lang / String; Ljava / lang / String;) V

sput-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mThemePickCN: Landroid / content / ComponentName;

return-void

: array_0
.array-data 4
0x7f0200d5
0x7f0200d6
.end array-data
.end method

infa weaving



Rep: (2130)
* Televox, if anything, there still is an onClick method

.method public onClick (Landroid / view / View;) V
.locals 4

invoke-virtual {p0}, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->isShown () Z

move-result v2

if-eqz v2,: cond_0

iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

invoke-virtual {v2}, Lcom / miui / home / launcher / Launcher; ->isPrivacyModeEnabled () Z

move-result v2

if-eqz v2,: cond_1

: cond_0
: goto_0
return-void

: cond_1
invoke-virtual {p1}, Landroid / view / View; ->getTag () Ljava / lang / Object;

move-result-object v2

check-cast v2, Ljava / lang / Integer;

invoke-virtual {v2}, Ljava / lang / Integer; ->intValue () I

move-result v1

packed-switch v1,: pswitch_data_0

goto: goto_0

: pswitch_0
new-instance v0, Landroid / content / Intent;

invoke-direct {v0}, Landroid / content / Intent; -><init>() V

sget-object v2, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mThemePickCN: Landroid / content / ComponentName;

invoke-virtual {v0, v2}, Landroid / content / Intent; ->setComponent (Landroid / content / ComponentName;) Landroid / content / Intent;

const / high16 v2,0x10000000

invoke-virtual {v0, v2}, Landroid / content / Intent; ->setFlags (I) Landroid / content / Intent;

const-string v2, "REQUEST_ENTRY_TYPE"

const-string v3, "home"

invoke-virtual {v0, v2, v3}, Landroid / content / Intent; ->putExtra (Ljava / lang / String; Ljava / lang / String;) Landroid / content / Intent;

iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

invoke-virtual {v2, v0}, Lcom / miui / home / launcher / Launcher; ->startActivity (Landroid / content / Intent;) V

const-string v2, "theme"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V


goto: goto_0

: pswitch_1
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xb

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "widget_pick"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_2
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xc

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "wallpaper_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_3
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xd

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "transition_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_4
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xe

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "screen_cells_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_data_0
.packed-switch 0x0
: pswitch_0
: pswitch_1
: pswitch_2
: pswitch_3
: pswitch_4
.end packed-switch
.end method

where the red lines are executed (they can be removed and filled with your own, if you know how and what you need) when you click on Themes



Rep: (1872)
* S0bes,
I want to completely remove this item in general, but what about adding, I thought you could just change the name and class and that's it)) doesn’t it work?
-----------------------------------------------------
Well, yes, to check wrote:
const-string v1, "com.speedsoftware.rootexplorer"

const-string v2, "com.speedsoftware.rootexplorer.RootExplorer"
Everything works: D

Post has been editedTelevox - 14.12.16, 16:43



Rep: (2130)
Televox @ 12/14/16, 19:34*
then I thought you could just replace the name and class and that's it)) doesn’t it work?

give me a ride to remove, you have to do a bunch of stuff like
in arrays now so
<string-array name = "editing_mode_entries">
<item>Widgets</ item>
<item>Wallpaper</ item>
<item>Effects</ item>
<item>Screen cells</ item>
</ string-array>

<string-array name = "editing_mode_values">
<item>0</ item>
<item>1</ item>
<item>2</ item>
<item>3</ item>
</ string-array>


com.miui.home.launcher.EditingEntryThumbnailView
look for .method private initIconDrawableIds (Landroid / content / Context;) V
find the first mention of const / 4 v1, 0x0
and delete this line + three below it
const / 4 v1,0x0

const v2,0x7f0200dc

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

all other const / 4 v1, 0x? decrement by 1 in this method
what would numbering const / 4 v1, 0x0, const / 4 v1, 0x1, const / 4 v1, 0x2 and const / 4 v1, 0x3
like it was
.method private initIconDrawableIds (Landroid / content / Context;) V
.locals 3

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mContext: Landroid / content / Context;

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

move-result-object v0

const v1,0x7f08000b

invoke-virtual {v0, v1}, Landroid / content / res / Resources; ->getStringArray (I) [Ljava / lang / String;

move-result-object v0

sput-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEditingModes: [Ljava / lang / String;

sget-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEditingModes: [Ljava / lang / String;

array-length v0, v0

new-array v0, v0, [I

iput-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x0

const v2,0x7f0200dc

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I


const / 4 v1, 0x1

const v2,0x7f0200d4

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x2

const v2,0x7f0200db

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x3

const v2,0x7f0200dd

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x4

const v2,0x7f0200da

aput v2, v0, v1

return-void
.end method

has become
.method private initIconDrawableIds (Landroid / content / Context;) V
.locals 3

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mContext: Landroid / content / Context;

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

move-result-object v0

const v1,0x7f08000b

invoke-virtual {v0, v1}, Landroid / content / res / Resources; ->getStringArray (I) [Ljava / lang / String;

move-result-object v0

sput-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEditingModes: [Ljava / lang / String;

sget-object v0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEditingModes: [Ljava / lang / String;

array-length v0, v0

new-array v0, v0, [I

iput-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x0

const v2,0x7f0200d4

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1, 0x1

const v2,0x7f0200db

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x2

const v2,0x7f0200dd

aput v2, v0, v1

iget-object v0, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mEntryDrawableIds: [I

const / 4 v1,0x3

const v2,0x7f0200da

aput v2, v0, v1

return-void
.end method

well and from the onclick method we delete red lines
.method public onClick (Landroid / view / View;) V
.locals 4

invoke-virtual {p0}, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->isShown () Z

move-result v2

if-eqz v2,: cond_0

iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

invoke-virtual {v2}, Lcom / miui / home / launcher / Launcher; ->isPrivacyModeEnabled () Z

move-result v2

if-eqz v2,: cond_1

: cond_0
: goto_0
return-void

: cond_1
invoke-virtual {p1}, Landroid / view / View; ->getTag () Ljava / lang / Object;

move-result-object v2

check-cast v2, Ljava / lang / Integer;

invoke-virtual {v2}, Ljava / lang / Integer; ->intValue () I

move-result v1

packed-switch v1,: pswitch_data_0

goto: goto_0

: pswitch_0
new-instance v0, Landroid / content / Intent;

invoke-direct {v0}, Landroid / content / Intent; -><init>() V

sget-object v2, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mThemePickCN: Landroid / content / ComponentName;

invoke-virtual {v0, v2}, Landroid / content / Intent; ->setComponent (Landroid / content / ComponentName;) Landroid / content / Intent;

const / high16 v2,0x10000000

invoke-virtual {v0, v2}, Landroid / content / Intent; ->setFlags (I) Landroid / content / Intent;

const-string v2, "REQUEST_ENTRY_TYPE"

const-string v3, "home"

invoke-virtual {v0, v2, v3}, Landroid / content / Intent; ->putExtra (Ljava / lang / String; Ljava / lang / String;) Landroid / content / Intent;

iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

invoke-virtual {v2, v0}, Lcom / miui / home / launcher / Launcher; ->startActivity (Landroid / content / Intent;) V

const-string v2, "theme"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0


: pswitch_1
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xb

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "widget_pick"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_2
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xc

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "wallpaper_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_3
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xd

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "transition_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_4
iget-object v2, p0, Lcom / miui / home / launcher / EditingEntryThumbnailView; ->mLauncher: Lcom / miui / home / launcher / Launcher;

const / 16 v3, 0xe

invoke-virtual {v2, v3}, Lcom / miui / home / launcher / Launcher; ->setEditingState (I) V

const-string v2, "screen_cells_settings"

invoke-static {v2}, Lcom / miui / home / launcher / AnalyticalDataCollector; ->trackEditingEntryClicked (Ljava / lang / String;) V

goto: goto_0

: pswitch_data_0
.packed-switch 0x0
: pswitch_0
: pswitch_1
: pswitch_2
: pswitch_3
: pswitch_4
.end packed-switch
.end method

and in this method we change pswitch_X everywhere to pswitch_ (X-1), i.e. pswitch_1 will become pswitch_0, pswitch_2 will become pswitch_1, etc.

Post has been editedS0bes - 14.12.16, 16:47


Full version    

Help     rules

Now: 03.01.21, 03:52