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



Rep: (3313)
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.
    • 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
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
User activity in the topic


Post has been editedOuts - 05.07.20, 13:52
Reason for editing: Editing Caps



Rep: (361)
Romodelam note :
Settings.apk - Volume control for notifications

atres \ values ​​\ public.xml to find notification_section

<public type = "id" name = "notification_section" id = "0x7f0f01a4 " />

further code0x7f0f01a4 look in smali \ com \ android \ settings \ sound \ RingerVolumeFragment.smali
he will be in two places. Second place:


.line 203
: goto_2
invoke-virtual {p1, v0}, Landroid / view / View; ->findViewById (I) Landroid / view / View;
move-result-object v0
.line 204
### remove invisibility of the volume control for notifications
### invoke-virtual {v0, v9}, Landroid / view / View; ->setVisibility (I) V

.line 208
invoke-virtual {p1, p0}, Landroid / view / View; ->setOnKeyListener (Landroid / view / View $ OnKeyListener;) V
.line 209
const / 4 v0, 0x1
invoke-virtual {p1, v0}, Landroid / view / View; ->setFocusableInTouchMode (Z) V
.line 210
invoke-virtual {p1}, Landroid / view / View; ->requestFocus () Z
.line 211
return-void
.line 201
: cond_4
const v0,0x7f0f01a4
goto: goto_2
.end method

screenshot
Attached Image


framework.jar - for separate regulation
file android \ media \ AudioService.smali
find 2 arrays with similar content, change the 6th element
: array_2c2
.array-data 4
0x0
0x2
0x2
0x3
0x4
0x5 # here was 2
0x6
0x2
0x2
0x3
.end array-data

.line 327
: array_2f2
.array-data 4
0x0
0x2
0x2
0x3
0x4
0x5 # here was 2
0x6
0x2
0x2
0x3
.end array-data


Supplement for miui 8

Post has been editedS0bes - 28.12.17, 11:09



Rep: (102)
How to unpack system apk from MIUI 6, MIUI 7 firmware in ApkTool

As it came across a problem in the layout of files from the MIUI firmware. Climbing in the net detailed information is not found. Tried to figure it out and later came across this onean article. Thinking, I decided to post my experience for those whonot in Tank . Maybe someone will come in handy.
Instruction
So, we will need:
ApkTool for its version of android (you can download it here:XDA, savagemessiahzine.com)
I also post my own ApkTool assemblies:
Attached fileApkTools.2.0.0 (4.2.2 + 4.4.4) .rar(6.54 MB)
Attached fileApkTools.2.0.1 (4.4.4 +). Rar(6.34 MB)
Attached fileApkTools.2.0.2 (5.0 +). Rar(6.56 MB)

Unpacking order.
First of all, we need to install for ApkTool Frameworks from our MIUI firmware, so that we can disassemble all the system apk from this firmware.
For this we are looking for files:
framework-res.apk (Firmware.zip \ system \ framework \)
framework-ext-res.apk (Firmware.zip \ system \ framework \ framework-ext-res \)
miui.apk (Firmware.zip \ system \ app \ miui \)
miuisystem.apk (Firmware.zip \ system \ app \ miuisystem \)
For firmware on the Mediatek (MTK) platform, another file is needed:
mediatek-res.apk (Firmware.zip \ system \ framework \ mediatek-res \)
We throw the found files into the ApkTool folder and drag them to the apktool-if.cmd file.
Everything, now you can disassemble / assemble any system apk MIUI!

All successful unpacking!

Post has been editedDimar - 09.01.16, 21:07
Reason for editing: *



Rep: (1057)
The increase in the number of switches in the curtain by exampleMIUI V5
Cause
I transfer my manual to this topic from another, because it may still be useful to someone.
Description
Editing
MiuiSystemUI \ res \ layout \status_bar_expanded_toggles.xml
Manual in the picture in the code
Attached Image

Add one button - code
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />

Adds a variety of buttons - code
<LinearLayout android: id = "@ id / toggle_list" android: layout_width = "fill_parent" android: layout_height = "0.0dip" android: layout_weight = "1.0">
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
</ LinearLayout>


Adding switches in horizontal position.
Add below the same as in the picture, after@ id / rot90
below the line where there is toggle_list This code is:
<TextView android: id = "@ id / toggle" style = "@ style / StatusBarGridItem" />
(this is one switch in the code)
Addition to the signature of the buttons: If you need to delete the name, then MiuiSystemUI \ res \ values-ru \ strings.xml after "status_bar_toggle"
Example:<string name = "status_bar_toggle_ac"></ string>
If you delete the namewe do not want , it can be reduced in:
MiuiSystemUI \ res \ values ​​\dimens.xm l
<dimen name = "toggle_text_size">10.0sp</ dimen> I set myself a value 10.0sp
Background pictures on which the buttons hang are inres \ drawable-xhdpi
expanded_toggles_bg.9.png vertical
expanded_horizontal_toggles_bg.9.png horizontal
Pictures can be torn out of topics.
Result without names
Attached Image
LINKSon Screenshotsswitcheswith a small name



Rep: (3313)
VillainTheme patcher

Author:seshmaru
Topic onxda-developers.com
update.zip with the ability to replace both the full apk files, and only part of them, resources. classes.dex, resources.arsc, xml and png.
Especially useful for replacing resources that do not change the code from the firmware version to version. For example .png and .xml markup files and settings.
To replace the compiled apk structure is used:
/ patcher
/ system
/ priv-app
/ Settings
/ compiled Settings.apk
For a patch (replacement of resources) the structure should be reproduced in the form:
/ patcher
/ vrtheme
/ system
/ priv-app
/ Settings
/Settings.apk
at the root - classes.dex and resources.arsc
Rest in / res
/ drawable-your_dpi / png file
/ layout / compiled xml file
/ xml / compiled xml file

Version for Android OS to 5.0
Attached filevrtheme_sdk_9-19.zip(573.46 KB)

Version for Android OS higher than 5.0
Attached filevrtheme_sdk_20 + .zip(1.68 MB)


Post has been editedshoma_81 - 18.02.18, 11:47
Reason for editing: Description



Rep: (3313)
I dug up such a thing as hiding the contents of notifications on the lock screenXiaomi MI3 / MI4 - MIUI Firmware (OS 4.x - 6.x) (Post shoma_81 # 51474990)
Pick no time settings. If there are willing to roll instructions, I will be grateful.

Post has been editedshoma_81 - 27.07.16, 19:26



Rep: (1173)
MIUI 7-8 Lock with a smooth discoloration


Description :
The author is not me, I spied it when at miuPRO
Smooth discoloration blocking using the example of MIUI 8 multirom_MI3WMI4W_6.7.21_v6.0.1 but should also be suitable for other models
parse services.jar on the path services \ smali \ com \ android \ server \ display \DisplayPowerController.smali - open and search
.field private static final COLOR_FADE_OFF_ANIMATION_DURATION_MILLIS: I = 0x0

find and change 0x0 for example on 0x210 or you can experiment with the numbers yourself, look for further

iget-object v0, p0, Lcom / android / server / display / DisplayPowerController; ->mColorFadeOffAnimator: Landroid / animation / ObjectAnimator;

const-wide / 16 v2, 0x0

and also change 0x0 to 0x210 well, or your number, save / collect, in general, nothing complicated)))

P.s-tomorrow tomorrow I will write how to turn off the sound when connecting charging or usb cord

Post has been editedyaruk13 - 27.07.16, 23:11



Rep: (367)
Mute sounds when you connect the charger and USB for MIUI 8



Sounds lie in MiuiSystemUI.apk - \ res \ raw \ charging.ogg, disconnect.ogg
I deleted it using MT Manager, copied the application to the root of the phone’s memory, went to MT Manager / MiuiSystemUI / along the path indicated above, deleted 1 and 2 audio tracks, saved, signed.
Good luck !!!!!!


Checked on 4.4.2 / MTK / 6582


Ready method 4.4.2 / MTK / 6582 !!!!

Post has been editedstydent21rus - 29.07.16, 21:42



Rep: (1173)
Another way to turn off the sounds when you connect the charger and USB for MIUI 8


Description : turn off the sound of the charging connection and by miui v7-8 to 6.0.1
disassemble MiuiSystemUI.ark go the way \ smali \ com \ android \ systemui \ power \Poweruis.smali
in it we find .method playBatterySound (Landroid / net / Uri;) V
and after
.prologue
insert this code
const-string v2, "persist.sys.charge.sound"

const / 4 v3, 0x0

invoke-static {v2, v3}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v3

if-nez v3,: cond_0

It looks like that, the code is highlighted
.method playBatterySound (Landroid / net / Uri;) V
.locals 4
.param p1, "soundUri" # Landroid / net / Uri;

.prologue
const-string v2, "persist.sys.charge.sound"

const / 4 v3, 0x0

invoke-static {v2, v3}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v3

if-nez v3,: cond_0

const / 4 v3, 0x1

The author is not I just peeped the decision and shared with you

Post has been editedyaruk13 - 28.07.16, 21:13



Rep: (4381)
Modified InCallUi
Enlarged circle with avatar and picture replacement:
Xiaomi Mi5 - Modification and decorations (Post lexey77 # 52481997)

Post has been editedAndreyZo - 29.08.16, 15:57



Rep: (1118)
Change the level at which a low battery warning will appear

Unpackingframework-res.apk
Follow the path:framework-res.apk \ res \ values ​​\ integers.xml
And rule:
<integer name = "config_lowBatteryWarningLevel">15</ integer>
<integer name = "config_lowBatteryCloseWarningLevel">20</ integer>

To remove notifications in full, write the value - "-1"



Rep: (1118)
Guys, can someone tell me?
I make icons for menu items
Such
Attached Image

There is an item "advanced settings
This
Attached Image

He looks like
So
Attached Image

I want
So
Attached Image

As I understand it, the icons are written in some of the xml, the question is which one?
Or I do not understand correctly



Rep: (1118)
Guys, are there any instructions to somehow fix the conversational speaker? The interlocutor complains that I can not hear well. Yes, and when recording a conversation, I notice it



Rep: (1173)
* Mr.Braid,
ubiquitous problem, you can try to increase the sensitivity of the microphones through the mixer_paths (well, or as you call it) something like this postLG Optimus G - Cyanogenmod 12.X / 13.X Firmware (OS 5.X.X, 6.X.X) (Post SuRMaJ # 37142303)Values ​​are likely to be different, but I think the point is clear.



Rep: (1118)
Yaruk13 @ 10/02/2016, 20:19*
I think the meaning is clear

I did not quite understand which microphone I was talking to: blush:
<ctl name = "DEC7 Volume" value = "84" />microphone front (spoken), active when switching to speakerphone, during a conversation with the interlocutor (I recommend 68)
<ctl name = "RX1 Digital Volume" value = "57" />conversational speaker, active when talking to the other person in normal mode (I recommend 65)
<ctl name = "DEC7 Volume" value = "55" />microphone front (spoken), active when talking with the other person in normal mode (I recommend 65)



Rep: (1173)
* Mr.Braid,
values ​​for different processors, models will be different or they will be different at all - you need to look for the method itself: grabli: or maybe the problem is different, on the forum I saw that someone helped me edit the buildprop persist.audio.fluence.voicecall = / true to false



Rep: (1118)
Guys, can I somehow make the maximum brightness when the camera starts?
In many third-party cameras, this chip is implemented with a tick from the settings.
Of course you can do it extra. Programs, but I would like to regularly



Rep: (2133)
Supplement forVolume control for notifications

Changes for Miui8
We are looking for a smali setins \ Settings \ smali \ com \ android \ settings \ MiuiSoundSettings.smali
const-string v0, "alarm_volume"


Before him we insert
const-string v0, "notification_volume"

const / 4 v1,0x5

invoke-direct {p0, v0, v1}, Lcom / android / settings / MiuiSoundSettings; ->g (Ljava / lang / String; I) v

Small clarification
On the 6th android, compared to 5, I have a different line
invoke-direct {p0, v0, v1}, Lcom / android / settings / MiuiSoundSettings; ->g (Ljava / lang / String; I) v

therefore it is necessary to replace the line after
const-string v0, "alarm_volume"
const / 4 v1,0x2



Paste into Settings \ res \ xml \ sound_settings.xml, in the place where you feel more comfortable

<com.android.>


The rest is similar to the original.

Parse framework.jar

We are looking in the framework \ smali \ android \ media \ AudioService.smali - array-data 4

There will be several results, we are interested in this kind
.
array-data 4
0x0
0x2
0x2
0x3
0x4
0x5 # here was 2
0x6
0x2
0x2
0x3
.end array-data

As in the previous version, changes are made in 2 places.

Acknowledgments
H.Lepi- for lessons and instructions.
H.malchik-solncebecause It was from his firmware that I took this mod.


Add-on for Android 6

Add your own icons for the notification slider in the settings

Post has been editedS0bes - 30.12.16, 15:03
Reason for editing: Refinement



Rep: (1766)
Add our programs to the applicationSecurity.

Screenshots
Attached Image
Attached Image

Description
So hello everyone!
We will add programs that I also consider system-based, and always hide their shortcuts on the desktop.
We assorted SecurityCenter.apk. Six shortcuts to launch are located in the card_layout_menu_button.xml file. Open it and see:
<include layout = "@ layout / include_horizontal_line" />
<LinearLayout android: layout_width = "fill_parent" android: layout_height = "@ dimen / main_card_menu_model_height">
<include android: id = "@ id / menu_item_garbage_cleanup" layout = "@ layout / include_menu_button" />
<include layout = "@ layout / include_vertical_line" />
<include android: id = "@ id / menu_item_network_assistants" layout = "@ layout / include_menu_button" />
<include layout = "@ layout / include_vertical_line" />
<include android: id = "@ id / menu_item_antispam" layout = "@ layout / include_menu_button" />
</ LinearLayout>
<include layout = "@ layout / include_horizontal_line" />
<LinearLayout android: layout_width = "fill_parent" android: layout_height = "@ dimen / main_card_menu_model_height">
<include android: id = "@ id / menu_item_power_manger" layout = "@ layout / include_menu_button" />
<include layout = "@ layout / include_vertical_line" />
<include android: id = "@ id / menu_item_antivirus" layout = "@ layout / include_menu_button" />
<include layout = "@ layout / include_vertical_line" />
<include android: id = "@ id / menu_item_license_manager" layout = "@ layout / include_menu_button" />
</ LinearLayout>

These are our buttons and separators between them.
We need to add our three buttons)))
Yes, I will say right away, I got rid of the delimiters by simply deleting the lines<include layout = "@ layout / include_vertical_line" /> and <include layout = "@ layout / include_horizontal_line" /> .
We continue ...
Then I registered three buttons like this:
<include layout = "@ layout / include_main_button" />
<include layout = "@ layout / include_main_button_2" />
<include layout = "@ layout / include_main_button_3" />

These are links to three files, which in turn will lie along the way.SecurityCenter.apk \ res \ layout
Now create these three files with the following contents:
<? xml version = "1.0" encoding = "utf-8"?>
<aaa.sk0t.ui.MultyBtn android: textSize = "12.0sp" android: textColor = "@ color / card_menu_button_text" android: gravity = "center_horizontal"android: tag = ". WelcomeActivity"android: background = "# 00000000" android: paddingTop = "12.0dip" android: layout_width = "0.0dip" android: layout_height = "fill_parent"android: text = "@ string / Xposed_title"android: drawableTop ="@ drawable / menu_icon_xposed"android: drawablePadding = "0.0dip" android: layout_weight = "1.0"android: contentDescription = "de.robv.android.xposed.installer"
xmlns: android = "http://schemas.android.com/apk/res/android" />

where -
"@ drawable / menu_icon_xposed"our icon
android: text = "@ string / Xposed_title"title
android: contentDescription = "de.robv.android.xposed.installer"
and
android: tag = ". WelcomeActivity"- application and its activation.
There is nothing difficult, in principle, except for the fact that I spent almost the whole day on calculating the coordinates, because having registered my own elements, the native buttons shifted, and an abracdabra and an incomprehensible picture were obtained, especially when you were linked up. Therefore, I attach my placement options, the screen resolution can also influence ..... I do not know, in general, try and experiment!
I spelled out
<? xml version = "1.0" encoding = "utf-8"?>
<LinearLayout android: orientation = "vertical" android: id = "@ id / menu_bar" android: background = "@ drawable / main_page_background" android: layout_width = "fill_parent" android: layout_height = "290.0dip"
xmlns: android = "http://schemas.android.com/apk/res/android">
<LinearLayout android: layout_width = "fill_parent" android: layout_height = "85.0dip">
<include android: id = "@ id / menu_item_garbage_cleanup" layout = "@ layout / include_menu_button" />
<include android: id = "@ id / menu_item_network_assistants" layout = "@ layout / include_menu_button" />
<include android: id = "@ id / menu_item_antispam" layout = "@ layout / include_menu_button" />
</ LinearLayout>
<LinearLayout android: layout_width = "fill_parent" android: layout_height = "85.0dip">
<include android: id = "@ id / menu_item_power_manger" layout = "@ layout / include_menu_button" />
<include android: id = "@ id / menu_item_antivirus" layout = "@ layout / include_menu_button" />
<include android: id = "@ id / menu_item_license_manager" layout = "@ layout / include_menu_button" />
</ LinearLayout>
<LinearLayout android: layout_width = "fill_parent" android: layout_height = "85.0dip">
<include layout = "@ layout / include_main_button" />
<include layout = "@ layout / include_main_button_2" />
<include layout = "@ layout / include_main_button_3" />
</ LinearLayout>
</ LinearLayout>

Just do not forget to register in strings.xml
<string name = "Titan_title">Titanium</ string>
<string name = "Root_title">Root explorer</ string>
<string name = "Xposed_title">Xposed</ string>

And yes, for the button you need smiles, they are attached too ..
In general, all the luck! There will be questions, I will be happy to help!

Files

Attached filesmali.rar(1.25 KB)

The application itself for installation via TWRP or just research: D -Attached fileNewSecurityCenter.zip(3 MB)

Yes ... I forgot .. I also did a click on the drawing, on a star: yes2 :.

In filepm_activity_main.xml
It was
<FrameLayout android: layout_width = "fill_parent" android: layout_height = "0.0dip" android: layout_weight = "1.0">
<ImageView android: layout_gravity = "center" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: src = "@ drawable / icon_perm_main" />
</ Framelifeout>

It became
<FrameLayout android: layout_width = "fill_parent" android: layout_height = "0.0dip" android: layout_weight = "1.0">
<aaa.sk0t.ui.MultyBtn android: tag = ". app. CreateActivity" android: contentDescription = "com.sika524.android.quickshortcut" android: background = "@ drawable / icon_perm_main" android: layout_gravity = "center" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: src = "@ drawable / icon_perm_main" />
</ Framelifeout>

As a result, the launch of the programQuickShortcutMaker
Screen
Attached Image

Bonus - prikolyuha


Post has been editedTelevox - 19.10.16, 11:20



Rep: (2333)
cherva70 @ 10/05/2016, 02:19*
Supplement for Volume Control for Notifications

in version 6 of the android file AudioService.smali is services.jar / smali / com / android / server / audio / AudioService.smali



Rep: (1766)
Add mount USB storage.

Screen
Attached Image

Description
Parse Settings.apk open fileusb_settings.xmland at the end before the line</ PreferenceScreen>
insert this code:
<PreferenceScreen android: title = "@ string / usb_card_title" android: key = "usb_usb" android: summary = "@ string / usb_usb_summary">
<intent android: targetPackage = "com.lanking.silentusbmode.mount.all" android: action = "android.intent.action.MAIN" android: targetClass = "net.dinglisch.android.tasker.Kid" />
</ PreferenceScreen>

Then in the filestrings.xmlalong the path res \ values-ru, we write:
<string name = "usb_card_title">Usb drive</ string>
<string name = "usb_usb_summary">Allows you to transfer files between your computer and Android drives</ string>

That's all! It remains to installthe program and give her a ROOT. : thank_you:
For those who, like me, do not need the icon of this program in the launcher / on the desktop, -Attached fileMountUsb.apk(1.89 MB)


Option number two

Due to the fact that I absolutely do not understand the smiles and CheckBox switches, I suggest buttons ..
Connect and Disconnect

Picture
Attached Image

Where we want to see the buttons, we write -

<PreferenceCategory android: layout = "@ layout / card_usb" android: title = "" android: key = "usb" />

Archive contentres , scatter in folders and install programs. Programs are not displayed anywhere - they just work;)
Attached fileres.rar(42.51 KB)

Attached fileprogram.rar(3.32 MB)


Post has been editedTelevox - 19.12.16, 09:58


Full version    

Help     rules

Time is now: 07/07/20, 19:41