Develpment Of Miui Patch Rom Marshmallow
About Miui
MIUI which stands for Mi User interface & pronounced "Me You I" a play on the common abbreviation of the words user interface as UI, developed by Xiaomi Tech, is a stock & aftermarket firmware for smartphones & tablet computers based on the Google Android operating system. MIUI includes various fratures such as theming support.
What's new in Miui v8 Marshmallow?
The brand new Miui v8 comes with many new features:
- New redesigned colourful UI & fonts, and a new notification shade which comes with weather information,search bar & etc.
- New Miui 8 Gallery, Scanner,Camera, Calculator, Notes & Many more.
The standard "Gallery" application has been changed in Miui v8. Xiaomi has been added more photo editings, such as inscriptions, stickers, & etc - New Miui v8 lock screen wallpaper carousel
In the orignal MIUI, there is such function as a carousel of images for the lockscreen. Its essence is simple the user sees a different wallpaper on lockscreen when it is activated In Miui 8 there is more than 100 wallpapers that u will find. - Spam/Scam message detection
Sometimes you might get annoyed with the unwanted scam calls & messages from your service providers & other sources. In the process of finding a way to get rid of it u might end up with downloading some bloat apps ( 3rd party apps ). This mainly happens because many users are unaware of the fact that Miui does have the inbuilt feature called Miui Blocklist to prevent these type of spam. - System optimized for power saving & app management, so more power & smoother user experience
In terms of performance, the user interface will be fast & reliable, power consumption optimised, very quick responsive, apps managing will become suitable & even more convenient. Extreme smoothness. - Second Space
We all know that we can make several user accounts in our desktop Similarly now u can make same thing in your android phone by using second space. - Dual Apps
Dual apps let you run two instance of an app simultaneously. One of the headlining feature additions in Miui 8 is Dual apps, Which allows you to run two instances of an app at the same time. This feature is good for those who has multiple social media accounts. - And many more ;) ....
Features Added by Me & @nitesh9
- Added Colour Control
- Enabled Colour Enhancement
- Added Live Display
- Enabled screen-off gestures
- Super bright light
- Added LCD Density settings
- Added patched Indian theme manager
- Fine tuned Camera
- Supports NTFS & exFAT file systems
- Supports all custom kernels
- Added Dolby Audio
- Inbuilt Gapps
- Inbuild Root
- Added volte
- Added Sdclang & Linaro for better performance
- Many more.....
How this Rom was developed?
Since this was my first project in development towards opensource community this project has been taken so much time, continous testing everyday, & so much patience & when i finally managed it to boot the main part comes i.e Bug fixing part. And when Rom booted it has every thing broken like Ril, Dialer Fc , Settings Fc , too much lagging & many more . And i finally managed to fix them all :v
For this PatchRom i had taken LineageOs as base Rom Compiled My me with some Extra additions & Modifications like volte,doze, & Some kernel improvements.
Bug Fixing & Reject Fixing Part
As i said earlier Of bugs after Rom booted. My commits that fixed all that issues are as follows:-
Rejects fixing commits -
U will get these rejects when u make first patch
- https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/6372dd63110c5e4b5765156c51fba048fdd0cc2e
This commit is for fixing reject ResourcesManager.smali & PackageParser.smali. Since In Miui Resources are renamed to MiuiResources - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/2bbe08a4d43c4a94221c18a240dab4a1ee324d20
This commit Fixes Reject of Resources.smali since, util LongSparseArray is not needed in Miui so removing
sget-object v4, Landroid/content/res/Resources;->sPreloadedDrawables:[Landroid/util/LongSparseArray;
iget-object v5, v0, Landroid/content/res/Resources;->mConfiguration:Landroid/content/res/Configuration;
invoke-virtual {v5}, Landroid/content/res/Configuration;->getLayoutDirection()I
&
Adding
move/from16 v1, p2
invoke-virtual {v0, v10, v11, v1}, Landroid/content/res/Resources;->getPreloadedDrawable(JI)Landroid/graphics/drawable/Drawable$ConstantState;
Will fix it - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/46699a3035929bb93daa04fc794a6336ece39a9b
This Commit Fixes Reject of ActivityStack.smali
Since in Miui There is a different Theme manager so adding a package name for it will fix that. - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/0511789048a4d80e975ab04456ce877b379613e6
This commit fixes Reject of ShutdownThread.smali
Removing
invoke-virtual {v2}, Landroid/app/ProgressDialog;->show()V
& adding
sget-boolean v3, Lcom/android/server/power/ShutdownThread;->mReboot:Z
invoke-static {p0, v3}, Lcom/android/server/power/ShutdownThreadInjector;->showShutdownDialog(Landroid/content/Context;Z)V - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/c0ee30e0a54d193bf01605884b7e9ff8b4ed21ae
This commit fixes Reject WindowManagerService.smali
In Miui the policy PhoneWindowManager is renamed to MiuiPhoneWindowManager
Some of the wrong patches Done by PatchRom source & Some Rebranding
- https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/0af94526d416c19eb28f6dea55116b2167ed8179
The ActivityManagerService can't handle Extra Configuration Changes For System due to the wrong patch this commit fixes it - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/35e6eaf00f5ee53f77191c86854459122cd6ad37
We had used Cyanogen Rom as our base Rom & in Cm Rom it uses cmUser_setup so changing it to user_setup_complete & Renaming cyanogenmod/providers/CMSettings - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/fd27842cc9d525868094e789649a0fa4bf364e50
The Above commit removes Cm Theme Manager since in Miui we uses MiTheme Manager - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/81aac270c42a59c9f77da9dfc35cea012e6c77cc
Use connect.rom.miui.com as connectivity check server instead of connectivitycheck.gstatic.com Because it doesn't work on Miui - https://github.com/DRohan898/miuiv8_lettuce_patchrom/commit/fe8faa6e6b5bddad11e82b6743171ee757908da2
In Miui we uses a different Boot message So, By adding Miui Boot message will fix Booting Issues - There are more commits which i can't link but u can find it on my git repo
ROM Information
- ROM OS Version:-6.0.1 Marshmallow (ARM 64)
- ROM Kernel:-Linux 3.10.x
- Rom Thread Links
Yuforums-http://forums.yuplaygod.com/threads/patchrom-miui-8-marshmallow-for-yuphoria-yu5010-yu5010a-volte-25-7-17-sdclang-linaro.49291/
Xda-https://forum.xda-developers.com/yu-yuphoria/orig-development/patchrom-miui-8-marshmallow-t3610144
Sources
DeviceTree- https://github.com/DRohan898/android_device_yu_lettuce/tree/cm-14.1-aospa
PatchRom Source-https://github.com/MiCode/patchrom
ImageSource- https://phoneradar.com/tutorial-install-miui-8-global-developer-rom-redmi-note-3/
Credits
Huge thanks to LineageOS and MIUI Team.
Special thanks to sir prince Paul, without your help and suggestion this was not possible.
Special thanks to @Nitesh9 for his help and suggestions.
Special thanks to a136fei (from Team XTS)
Special thanks to As007 For Working On Miui kernel
Also special thanks to wuxianlin, linhphi9x94, GuaiYiHu and garyyiu2015 for their awesome work on MIUI Patchrom.
ImageCredits-http://en.miui.com
Video Review
Thanks to Rishikesh Samala for this
My developer profiles:
XDA-https://forum.xda-developers.com/member.php?u=7668741
YuForums-http://forums.yuplaygod.com/members/rohan.97666/
My Github Profile-https://github.com/DRohan898
Some Screenshots Of The Rom
My proof of work - Here is a screenshot of my logged in session in Github :
Posted on Utopian.io - Rewarding Open Source Contributors
Very cool to see an Android ROM on here.
Your contribution cannot be approved yet because the images does not contain the image courtesy and also it has irrelevant tags. See the Utopian Rules. Please edit your contribution to reapply for approval.
You may edit your post here, as shown below:
You can contact us on Discord.
[utopian-moderator]
That images are removed now :D
I can see the images of MiUI now also, it's better if you can give Image Courtesy
Done :p
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Thanks :v
Hey @drohan I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x