[Xperia XA/F3115]Stock_Marshmallow_ROM_Ultraslim (Full deodxed)

Thank to rrvuhpg‘s awesome root and recovery that allow us to install custom roms on Xperia XA. Hence, i have made a MM ROM which is fully deodexed and ultra slim, hope you will enjoy.

Based on F3115_Customized AU_1302-4361_33.2.A.4.70_R4A, and for F3115 devices only.
You have to unlock your bootloader and flash this rom.

Features:
– Full deodexed & Ultra slim
– Disabled signature verification (Not sure)
– Added AudioRecorder
– Modified Xperia Home
– Modified OEM partition
– Updated some apps (e.g: Music, Video, Album, etc.)

Simplified List:
– Video
– AnonymousData
– FaceLock
– Google Apps (except Play Store)
– Input Methods (except English)
– Live Wallpapers
– SonyEntrance
– Some widgets & plugins
– Smallapps (except Touchblock)
– Sony UpdateCenter
– SynHub
– Useless Camera plugins
– Tasks, etc.

Installation:
1. Unlock bootloader and flash boot and recovery by following rrvuhpg’s post.
2. Boot into recovery mode
3. Wipe Data, Cache and Dalvik Cache & flash this ROM
4. Flash other packages (e.g.: supersu, drm, xposed) if you want

Download:
– ROM: F3115_MM_33.2.A.4.70_ULTRASLIM.zip
(MD5: 71aef0aa3aa5cbffa8ed31a8a557bb39)

Further Step (Optional):
Because the rom occupies around 1.1 GB in system partition, you can shrink your system partition (to 1.5GB or 2GB, for example) and expand your userdata partition. I did it and i am sure you can heve a try. Here is the tutorial i followed.

Thanks:
@IgorEisberg for the XperiFirm
@rrvuhpg for the root and recovery

[MyIoT] A start with personal server for home automation

What is myIoT:
1. myIoT is a solution for home automation, it can be implemented on your Raspberry Pi. And it theoretically can enable you to control devices (include other embedded devices connected to the server) and acquire info of these devices.
2. It is currently based on python (sever part) and Android (Client)
3. It can process HTTPS and Socketio requests.

Github link: https://github.com/xswxm/MyIoT

It currently can handle HTTPS and Socketio requests, UDP could be patched to it later so we can do some fancy things like having audio or video conversations, just blow you image and it can control everything.

Screenshots:

[Xperia Z2 / D6503]Marshmallow_Stock_291_ROM_Ultraslim (Full deodxed)

Hi,bros, i have created a MM_ROM which is fully deodexed and ultra slim, hope you will enjoy.

Based on D6503_23.5.A.1.291_R4D_Customized_AU, and for D6503 devices only.
For both locked & unlocked devices (unlocked devices maight have to flash a additional package to restore DRM keys).

Features:
– Full deodexed & Ultra slim
– Rooted with SuperSU
– Disabled signature verification
– Added AudioRecorder
– Modified Xperia Home
– Xeria XZ Wallpapers
– Fixed usb configuration in Settings (parts)
– Adjusted lowest Brightness level to 4
– Newest hosts files (for AD blocking)
– Updated some apps (e.g: Music, Video, Album, etc.)

Simplified List:
– AnonymousData
– FaceLock
– Google Apps (except Play Store)
– Input Methods (except English)
– Live Wallpapers
– MirrorLink
– SonyEntrance
– PS4 Wireless Controller
– Some widgets & plugins
– Smallapps (except Touchblock)
– Sony UpdateCenter
– SimpleHome
– SynHub
– Useless Camera plugins
– Tasks, etc.

Installation:
1. Boot into recovery mode
2. Wipe Data, Cache and Dalvik Cache & flash this ROM
3. Flash other packages or mods(e.g.: xposed, camera mods…) if you want

Download:
– ROM: Z2_MM_23.5.A.1.291_ULTRASLIM.zip
(MD5: 15ad2ac2a000bdcdc1c954fdb1d640bf)

Thanks:
@IgorEisberg for the XperiFirm
@Laercio_lalau for the root files
@serajr for the Recovery

[Toturial] Enable ‘None’ option in screen lock for xperia devices running MM

This toturial is tested on Xperia Z2 running MM(291).

1. Decompile Settings.apk
2. Open ‘Settings\smali\com\android\settings\ChooseLockGeneric$ChooseLockGenericFragment.smali’
3. search key words ‘Lcom/android/settings/ChooseLockGeneric$ChooseLockGenericFragment;->disableUnusablePreferences(IZ)V’ to navigate an delete the following lines:

    .line 289
    invoke-virtual {p0, v3, v0}, Lcom/android/settings/ChooseLockGeneric$ChooseLockGenericFragment;->disableUnusablePreferences(IZ)V

screenshot_20161201-195520

[Xperia Z2 / D6503]Marshmallow_Stock_575_ROM_Ultraslim (Full deodxed)

Hi,bros, i have created a MM_ROM which is fully deodexed and ultra slim, hope you will enjoy.

Based on D6503_23.5.A.575_R4D_Customized_AU, and for D6503 devices only.
For both locked & unlocked devices (unlocked devices maight have to flash a additional package to restore DRM keys).

Features:
– Full deodexed & Ultra slim
– Rooted with SuperSU
– Disabled signature verification
– Replaced with Xperia X Themes
– Replaced with Xperia X Bootanimation
– Replaced with Xperia X ImageEnhancer
– Replaced with Xperia X Wallpapers
– Added AudioRecorder
– Modified Xperia Home
– Fixed usb configuration in Settings
– Adjusted lowest Brightness level to 4
– Unlocked Camera (20MP, new focus mode, etc.)
– Updated some apps (e.g: Music, Video, Album, etc.)

Simplified List:
– AnonymousData
– FaceLock
– Google Apps (except Play Store)
– Input Methods (except English)
– Live Wallpapers
– MirrorLink
– SonyEntrance
– PS4 Wireless Controller
– Some widgets & plugins
– Smallapps (except Touchblock)
– Sony UpdateCenter
– SimpleHome
– SynHub
– Useless Camera plugins
– Tasks, etc.

Installation:
1. Boot into recovery mode
2. Wipe Data, Cache and Dalvik Cache & flash this ROM
3. Flash other packages (e.g.: recovery, xposed) if you want

Download:
– ROM (no Recovery): Z2_MM_23.5.A.570_ULTRASLIM.zip
(MD5: 9b86938d9fa0152b0de2f2cb33cac301)
– NEW ROM (with Recovery): Z2_MM_23.5.A.570_ULTRASLIM_NEW.zip (MD5: 11cde24b1494175bf4a5d33239702b2a)
– System_Dump_Deodexed (it is not a flashable package): Z2_MM_system_570_deodexed.zip (MD5: 0b0e1d5435c98df6b9b9309341a55c6e)
– 575 ROM (with Recovery): Z2_MM_23.5.A.575_ULTRASLIM.zip (MD5: 993b8318085034defc48bff6b1414b53)
Thanks:
@IgorEisberg for the XperiFirm
@Ben Ling & machao44 for the Xperia X themes&bootanimation
@Laercio_lalau for the root files
@serajr for the Recovery

[MOD] Z2_MM_486_Beta_Settings_Bug_Fixed

The MM beta ROM have just been released several days ago, while since it’s a beta, i have already met several bugs, such wifi issues. here is a another bug in Settings.apk: if you open Settings, and navigate to Developer options, tap Select USB Configuration, the list you see it’s partly wrong, it has two MIDI options and other mistkakes.
Hence, I modified the Settings.apk and the correctness includes all languages!

Screenshot_20160321-132822

Installation: manually rename the file to ‘Settings.apk’ and replace the one in ‘/root/system/priv-app/Settings/’ (644 permission).

Download (odexed or deodexed sytem): Settings.apk

[TOOL]a simple script to move .odex files (for Z2/Z3 beta_MM_ROM)

In the MM_beta system.img, sony adopts symlinks for .odex files ranther than real .odex files, so moving every .odex file to its right place is a boring job. thus, i wrote a simple script which will help u to move these stupid .odex files.
PS: it’s a .bat file, so pls run it in windows

@echo off
set outloc=D:\Z2_MM\system\app\
set loc=\oat\arm\
For /r %%i in (*.odex) DO (
echo %%~ni
copy "%%i" %outloc%%%~ni%loc%
)
pause

Steps (example: moving .odex files to ***\system\app\):
1. put the ‘copy.bat’ in the ‘***\arm\’ folder with lots of .odex files which we have just generated
2. edit it with any textediter and change the ‘inloc’ value to your ‘***\system\app\’ location (do not forget the “” in the end)
3. run it (no worries if you run it twice by mistake).

for ‘***\system\priv-app\’ floder, just do the simliar steps again
for ‘***\system\framework\’ floder, just copy manaully (do care the ‘SemcGenericUxpRes.odex’).

Download: GOOGLE DRIVE

[TUTORIAL] Unlock Xperia Camera Features

This tutorial will show you how to enable some features for Xperia Camera.

1. Decompile SemcCameraUI.apk
2. Choose the features you want to enable
3. Compile it and done!

Features:

A. Enable SuperiorAuto 20MP/23MP (Thank Chocolatetrain)
Step 1: modify the file “SemcCameraUI\res\values\bools.xml

 
    false
    true

Step 2: modify the file “SemcCameraUI\res\values\arrasy.xml

    
    
        TWENTY_THREE_MP
        TWENTY_MP_WIDE
        EIGHT_MP
        EIGHT_MP_WIDE
        THREE_MP
        TWO_MP_WIDE
    
    
        TWENTY_MP
        FIFTEEN_MP_WIDE
        EIGHT_MP
        EIGHT_MP_WIDE
        THREE_MP
        TWO_MP_WIDE
    
    
        TWENTY_THREE_MP
        TWENTY_MP_WIDE
        TWENTY_MP
        FIFTEEN_MP_WIDE
        EIGHT_MP
        EIGHT_MP_WIDE
        THREE_MP
        TWO_MP_WIDE
    
    
        TWENTY_MP
        FIFTEEN_MP_WIDE
        EIGHT_MP
        EIGHT_MP_WIDE
        THREE_MP
        TWO_MP_WIDE
    

B. Enable more ISO values for 20MP/23MP
Step: modify the file “SemcCameraUI\smali\com\sonyericsson\android\camera\configuration\parameters\Iso.smali

    const/16 v9, 0xf00    # (HEX)f00 = (DEC)3840
    const/16 v9, 0x1760    # (HEX)1760 = (DEC)5984

C. Enable SCN(Scene selection) for 20MP/23MP
Step: modify the file “SemcCameraUI\smali\com\sonyericsson\android\camera\parameter\dependency\DependencyApplier.smali

    const/16 v1, 0xf00    # (HEX)f00 = (DEC)3840
    const/16 v1, 0x1760    # (HEX)1760 = (DEC)5984

[GUIDE]Add “Delete” button to the screenshot preview

Hey, guys, we know that some ROMs don’t have the “Delete” button on the screenshot preview like the Sony Xperia series. Hence, here is the guide that can help you add “Delete” button to your screenshot preview.

1.    Copy the “system/priv-app/SystemUI.apk” to you computer;
2.    Decompile it (if you are using an odexed ROM, you need to combine the “SystemUI.apk” and “SystemUI.odex” first);
3.    Open “SystemUI/res/values/strings.xml” and add these two line below;

Delete
Screenshot deleted.

4. Unzip the “add_delete_button.zip” provided here below and copy it to “SystemUI/”;

5. Open “SystemUI/smali/com/android/systemui/screenshot/ SaveImageInBackgroundTask.smali” and you will find this line:

    invoke-virtual/range {v18 .. v21}, Landroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;

6. Add these lines below:

    new-instance v8, Landroid/content/Intent;

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

    .local v8, "deleteIntent":Landroid/content/Intent;
    const-class v19, Lcom/android/systemui/screenshot/DeleteScreenshot;

    move-object/from16 v0, v19

    invoke-virtual {v8, v5, v0}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;

    const-string v19, "com.android.systemui.SCREENSHOT_URI"

    invoke-virtual/range {v17 .. v17}, Landroid/net/Uri;->toString()Ljava/lang/String;

    move-result-object v20

    move-object/from16 v0, v19

    move-object/from16 v1, v20

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

    .line 241
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/android/systemui/screenshot/SaveImageInBackgroundTask;->mNotificationBuilder:Landroid/app/Notification$Builder;

    move-object/from16 v19, v0

    const v20, 0x7f020021

    const v21, 0x7f090049

    move/from16 v0, v21

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

    move-result-object v21

    const/16 v22, 0x0

    const/high16 v23, 0x10000000

    move/from16 v0, v22

    move/from16 v1, v23

    invoke-static {v5, v0, v8, v1}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;

    move-result-object v22

    invoke-virtual/range {v19 .. v22}, Landroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;

7. Change the addresses “v8, v5, v12, v17, v23, v22, v21, v20, v19” to the correct addresses.

Before - After
v8  - v15
v5  - v3
v12 - v11
v17 - v16
v23 - v22
v22 - v21
v21 - v20
v20 - v19
v19 - v18

8. Compile the package and then decompile it;

9. Open “SystemUI/smali/com/android/systemui/screenshot/DeleteScreenshot.smali” and you will find this line and then replace it with yours’:

    const v3, 0x7f09004a    # systemui/res/values/public.xml -screenshot_delete_confirmation

10. Open “SystemUI/smali/com/android/systemui/screenshot/ SaveImageInBackgroundTask.smali” and you will find these two lines and then replace the values with yours’:

    const v20, 0x7f020021    # systemui/res/values/public.xml - ic_menu_delete

    const v21, 0x7f090049    # systemui/res/values/public.xml - screenshot_delete_action

11. Open “SystemUI/ AndroidManifest.xml” and you will find this line below (if can’t, please search the keyword “screenshot”, and you will find a similar sentence):

        <service android:exported="false" android:name=".screenshot.TakeScreenshotService" android:process=":screenshot" />

12. Change it to:

        <service android:exported="false" android:name=".screenshot.TakeScreenshotService" android:process=":screenshot" />
        <receiver android:exported="true" android:name=".screenshot.DeleteScreenshot"/>

13. Compile it and then copy it to your phone, enjoy!