WSM a.k.a. What Surprised MITU
Xposed author: rovo89, Tungstwenty
Xposed framework (originally developed by rovo89), rewritten to support MIUI roms with a bunch of modules to customize MIUI roms. Also supports original Xposed modules from original Xposed module repository. Allows to modify source code and resources on-the-fly without modifying applications.
How it works
There is a process that is called «Zygote». This is the heart of the Android runtime. Every application is started as a copy («fork») of it. This process is started by an
/init.rc script when the phone is booted. The process start is done with
/system/bin/app_process, which loads the needed classes and invokes the initialization methods.
This is where Xposed comes into play. When you install the framework, an extended app_process executable is copied to
/system/bin. This extended startup process adds an additional jar to the classpath and calls methods from there at certain places. For instance, just after the VM has been created, even before the
main method of Zygote has been called. And inside that method, we are part of Zygote and can act in its context.
We want to add 3-4 way reboot (extended reboot menu). Without using Xposed/WSM framework we should decompile android.policy.jar, edit smali files manually, compile it back. With use of Xposed/WSM framework all we need is open WSM Tools, open Online tab with modules, find the module called Reboot Options, download it, install it and activate at the Modules tab. After phone reboot we’ll have extended reboot menu.
WSM tools — is the main application for the project. This is application to install/update Xposed/WSM framework, download, install and activate modules.
- Your Android device have to bee ROOTed!
- Current branch works only in MIUI v5 roms. Not tested on MIUI v6/v7!