[MOD] [3.2.22] Control Panel Suite [DISCONTINUED]


Status
Not open for further replies.
@lenny_kano

Sorry for my excessive curiosity, but digging into ControlPanel.apk (just for sake of translating it to my language) I've noticed there some tabbed interface is meant to be, and much more settings that I see available (like CPU, Animation, System Info...). I have only Statusbar settings and Onscreen Navbar. Are the rest hidden or...?
 
@lenny_kano

Sorry for my excessive curiosity, but digging into ControlPanel.apk (just for sake of translating it to my language) I've noticed there some tabbed interface is meant to be, and much more settings that I see available (like CPU, Animation, System Info...). I have only Statusbar settings and Onscreen Navbar. Are the rest hidden or...?
ssstttt...:D
yeah, those are still hidden. i'll add them gradually...:)
 
Really?! Or it's just a joke? :)
yep, i'm not joking. i need time to port all those features to ICS devices especially JB devices that have obfuscated codes. that's why i said i'll gradually add them. :)
if your device is supported by miuiaustralia, you can try that ROM and you'll see the real control panel. :)
 
As fusion said, it'll all get there eventually. I couldn't be bothered making a new apk for this, so just changed the manifest to head straight into interface settings. The rest will slowly come. Oh and fusion, none of the hidden features need any smali code modified, and ICS/JB is irrelevant :).

Just need more device specific information, but the only stuff that ever involves smali is in the interface options.

Edit: Oh, unless you mean the overscroll option. In which case yeah, you know the deal :p
 
That's cool for sure, but... is there any chance to get the list of supported phones to be expanded? Since there are only four devices in it :(
I'm sure there will be more devices supported by miuiaustralia in future. :)
It is only matter of time that control panel will complete. I wish I have a lot free time...
 
That's cool for sure, but... is there any chance to get the list of supported phones to be expanded? Since there are only four devices in it :(

I have no problem with more devs supporting more devices for MIUI Australia. But I also prefer not to discuss/promote/advertise my ROM too much here out of consideration. If people want a customised ROM, they'll find it ;). Main issue is time for me to help them merge all the stuff in, but thanks to fusions work making this more multi-device compatible, it may not be so hard in the future. And this week will see more of the "hidden" features introduced, I'm hoping to have full compatibility for all of it on all devices at some point, but can't give an ETA.
 
Ok, I got it!!! No more questions about your mysterious ROM :)
Now let me ask you some tech question - I'd like to translate your (or fusionjack 's?) 4-way-reboot for our russian MIUI community and can't do it. I've found the hardcoded strings (like "Reboot phone", "Normal", "Quick", etc), translated them, then, since app.ShutdownThread.reboot needs an english lowercased value of the action, I create (thru bytcode modification) new array containing original four words (named rebootOptionsEng) and feed it instead of rebootOptions at the point where a reboot action are being selected using rebootMode index. And... nothing seems to work as it should. "Normal" - works, "Quick" - works, but "Recovery" and "Bootloader" just cause quick reboot. What am I doing wrong?

Regards.
Roman.
 
Ok, I got it!!! No more questions about your mysterious ROM :)
Now let me ask you some tech question - I'd like to translate your (or fusionjack's?) 4-way-reboot for our russian MIUI community and can't do it. I've found the hardcoded strings (like "Reboot phone", "Normal", "Quick", etc), translated them, then, since app.ShutdownThread.reboot needs an english lowercased value of the action, I create (thru bytcode modification) new array containing original four words (named rebootOptionsEng) and feed it instead of rebootOptions at the point where a reboot action are being selected using rebootMode index. And... nothing seems to work as it should. "Normal" - works, "Quick" - works, but "Recovery" and "Bootloader" just cause quick reboot. What am I doing wrong?

Regards.
Roman.
If I'm not mistaken, the string "recovery" and "bootloader" is a term that will be passed to the reboot function as an argument. So if you translate them and just pass them to the reboot function, then they won't work.
What you can do is to catch the id of the corresponding action for recovery or bootloader in smali code and then passed the hardcoded string "recovery" or "bootloader" (in lower case) as usual to the reboot function. This should work.
I could be wrong for the whole thing.
 
I ported MIUI to Galaxy S3 i9300 international from GNex maguro MIUI to AOSP CM10 base and willing also to add CP Suite. I ported also the CP to work an everything is fine except the Nav Bar which doesn't want to show. If I activate it by CP it doesn't show and that's all. If I also modify the build.prop line qemu.hw.mainkeys=0 (instead of 1) and reboot i get SystemUI FC with the log:


Code:
10-31 16:13:51.780: D/PhoneStatusBar(2899): disable: < expand icons alerts ticker system_info back home recent clock >
10-31 16:13:51.790: I/ResourceManager(2500): load image from extra resource: sw720
10-31 16:13:51.790: I/ResourceManager(2500): load image unlock_mask_bg_bottom.png
10-31 16:13:51.835: D/dalvikvm(2500): GC_FOR_ALLOC freed 559K, 10% free 24664K/27143K, paused 44ms, total 44ms
10-31 16:13:51.845: D/NetworkLocationService(3139): onBind(com.android.location.service.GeocodeProvider) com.google.android.location
10-31 16:13:51.845: I/dalvikvm-heap(2500): Grow heap (frag case) to 32.908MB for 1650256-byte allocation
10-31 16:13:51.850: D/NetworkLocationService(3139): onBind(com.android.location.service.NetworkLocationProvider) com.google.android.location
10-31 16:13:51.880: I/ResourceManager(2500): load image from extra resource: sw720
10-31 16:13:51.880: I/ResourceManager(2500): load image music_bg.png
10-31 16:13:51.905: W/ResourceType(2899): getEntry failing because entryIndex 522 is beyond type entryCount 465
10-31 16:13:51.905: W/ResourceType(2899): Failure getting entry for 0x0602020a (t=1 e=522) in package 0 (error -2147483647)
10-31 16:13:51.910: I/gmmInternalNlpService(3139): internal NLP onStart(com.google.android.location.internal.ANDROID_NLP) com.google.android.location
10-31 16:13:51.910: D/NetworkLocationClient(3139): onServiceConnected to ComponentInfo{com.google.android.location/com.google.android.location.internal.server.NetworkLocationService}
10-31 16:13:51.915: W/ActivityManager(2500): Unable to start service Intent { act=com.android.ussd.IExtendedNetworkService }: not found
10-31 16:13:51.930: W/ResourceType(2899): getEntry failing because entryIndex 522 is beyond type entryCount 465
10-31 16:13:51.930: W/ResourceType(2899): Failure getting entry for 0x0602020a (t=1 e=522) in package 0 (error -2147483647)
10-31 16:13:51.930: D/AndroidRuntime(2899): Shutting down VM
10-31 16:13:51.930: W/dalvikvm(2899): threadid=1: thread exiting with uncaught exception (group=0x41ee1300)
10-31 16:13:51.945: D/TextLayoutCache(3093): Using debug level = 0 - Debug Enabled = 0
10-31 16:13:51.945: I/ResourceManager(2500): load image from extra resource: sw720
10-31 16:13:51.955: E/AndroidRuntime(2899): FATAL EXCEPTION: main
10-31 16:13:51.955: E/AndroidRuntime(2899): java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: android.view.InflateException: Binary XML file line #7: Error inflating class com.android.internal.widget.multiwaveview.GlowPadView
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2384)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.app.ActivityThread.access$1600(ActivityThread.java:133)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.os.Looper.loop(Looper.java:137)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.app.ActivityThread.main(ActivityThread.java:4758)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at java.lang.reflect.Method.invokeNative(Native Method)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at java.lang.reflect.Method.invoke(Method.java:511)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at dalvik.system.NativeStart.main(Native Method)
10-31 16:13:51.955: E/AndroidRuntime(2899): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.android.internal.widget.multiwaveview.GlowPadView
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.g.aC(BaseStatusBar.java:438)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.phone.PhoneStatusBar.aC(PhoneStatusBar.java:799)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.phone.PhoneStatusBar.be(PhoneStatusBar.java:879)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.phone.PhoneStatusBar.bf(PhoneStatusBar.java:887)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.phone.PhoneStatusBar.aW(PhoneStatusBar.java:464)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java:430)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:94)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2374)
10-31 16:13:51.955: E/AndroidRuntime(2899):    ... 10 more
10-31 16:13:51.955: E/AndroidRuntime(2899): Caused by: java.lang.reflect.InvocationTargetException
10-31 16:13:51.955: E/AndroidRuntime(2899):    at java.lang.reflect.Constructor.constructNative(Native Method)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.view.LayoutInflater.createView(LayoutInflater.java:587)
10-31 16:13:51.955: E/AndroidRuntime(2899):    ... 24 more
10-31 16:13:51.955: E/AndroidRuntime(2899): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x602020a
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.content.res.Resources.getValue(Resources.java:1017)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.content.res.MiuiResources.getValue(MiuiResources.java:67)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at android.content.res.Resources.getDrawable(Resources.java:662)
10-31 16:13:51.955: E/AndroidRuntime(2899):    at com.android.internal.widget.multiwaveview.GlowPadView.<init>(GlowPadView.java:244)
10-31 16:13:51.955: E/AndroidRuntime(2899):    ... 27 more

I also tryied to port the CP Crespo version with the same results, navbar still not showing.
Anyone care to help please?
 
I'm stuck on bootanimation after flashing the last version 2.10.26 on EVO 3D. Any ideea? Was no problem in 2.10.19....
EDIT: sorry forgot to say GOOD JOB ;)
 
The five way reboot i use personally is fully translatable in arrays.xml but this would.mean fusion would have to include framework-res.apk with every release as well.
 
If I'm not mistaken, the string "recovery" and "bootloader" is a term that will be passed to the reboot function as an argument. So if you translate them and just pass them to the reboot function, then they won't work.
What you can do is to catch the id of the corresponding action for recovery or bootloader in smali code and then passed the hardcoded string "recovery" or "bootloader" (in lower case) as usual to the reboot function. This should work.
I could be wrong for the whole thing.

Well, just to make things more clear here is the code:

MiuiGlobalActions$SinglePressAction.class
Before:
Code:
private static abstract class MiuiGlobalActions$SinglePressAction implements MiuiGlobalActions.Action {
 
    protected static int rebootMode = 0;
    protected static final String rebootOptions = {
        "Normal", "Quick", "Recovery", "Bootloader"
    };
    ........
    ........
    ........
}
After:
Code:
private static abstract class MiuiGlobalActions$SinglePressAction implements MiuiGlobalActions.Action {
 
    protected static int rebootMode = 0;
    protected static final String rebootOptionsEng = {
        "Normal", "Quick", "Recovery", "Bootloader"
    };
    protected static final String rebootOptions[] = {
        "\u041E\u0431\u044B\u0447\u043D\u0430\u044F", "\u0411\u044B\u0441\u0442\u0440\u0430\u044F", "\u0412\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435", "\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A"
    };
    ........
    ........
    ........
}

MiuiGlobalActions$222.class
Before:
Code:
public void onClick(DialogInterface dialoginterface, int i) {
    if(MiuiGlobalActions.SinglePressAction.rebootMode > -1)
        if(MiuiGlobalActions.SinglePressAction.rebootMode != 1) {
            Context context = MiuiGlobalActions.access$100(this$0);
            String s;
            if(MiuiGlobalActions.SinglePressAction.rebootMode == 0)
                s = null;
            else
                s = MiuiGlobalActions.SinglePressAction.rebootOptions[MiuiGlobalActions.SinglePressAction.rebootMode].toLowerCase();
            ShutdownThread.reboot(context, s, false);
        } else {
            Runtime.getRuntime().exec(new String[] {
                "pkill", "-TERM", "-f", "system_server"
            });
        }
}
After:
Code:
public void onClick(DialogInterface dialoginterface, int i) {
    if(MiuiGlobalActions.SinglePressAction.rebootMode > -1)
        if(MiuiGlobalActions.SinglePressAction.rebootMode != 1) {
            Context context = MiuiGlobalActions.access$100(this$0);
            String s;
            if(MiuiGlobalActions.SinglePressAction.rebootMode == 0)
                s = null;
            else
                s = MiuiGlobalActions.SinglePressAction.rebootOptionsEng[MiuiGlobalActions.SinglePressAction.rebootMode].toLowerCase(); //<------ Here I get action string from the English version array
            ShutdownThread.reboot(context, s, false);
        } else {
            Runtime.getRuntime().exec(new String[] {
                "pkill", "-TERM", "-f", "system_server"
            });
        }
}
 
i dont know, try instead leaving rebootOptions intact and feed rebootOptionsRus when it creates display?
 
I'm stuck on bootanimation after flashing the last version 2.10.26 on EVO 3D. Any ideea? Was no problem in 2.10.19....
EDIT: sorry forgot to say GOOD JOB ;)
try wipe cache, dalvik and re-flash the control panel again. as far as i can remember, some users reported that control panel is working on evo 3d.
 
I ported MIUI to Galaxy S3 i9300 international from GNex maguro MIUI to AOSP CM10 base and willing also to add CP Suite. I ported also the CP to work an everything is fine except the Nav Bar which doesn't want to show. If I activate it by CP it doesn't show and that's all. If I also modify the build.prop line qemu.hw.mainkeys=0 (instead of 1) and reboot i get SystemUI FC with the log:

I also tryied to port the CP Crespo version with the same results, navbar still not showing.
Anyone care to help please?
It cannot find the value "0x0602020a". You need to replace it with the correct one. Not sure what kind of value of that, I think it is the status_bar or super_status_bar.
 
Status
Not open for further replies.