[DEV][PROJECT][APP][PORT] The Real WALKMAN Portable NWZ-ZX1 SoundEnhancement

Search This thread

Rizal Lovins

Recognized Developer / Themer / Inactive RC
May 30, 2012
1,618
15,948
Bandung
LG V30
DISCLAIMER
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this PORT
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/

Introduction

Dear all Developer :angel:

I'm with @BPaul trying to port this Equalizer/SoundEnhancement from WALKMAN Portable NWZ-ZX1 but we get stuck and we need for your help

If you can contribute, please do it here. Let's work together on this PORT, so we could finally get it to work. That's what XDA is all about. ;)

Please don't spam this thread. It will be way easier for real developers and other people that could share some useful info or their attempts to get WALKMAN NWZ-ZX1 SoundEnhancement working on Xperia Devices Running JB4.1+

Equalizer Features :

• SoundEnhancement from WALKMAN NWZ-ZX1
• Clear Audio+
• Clear Phase
• Clear Phase on Headphones
• Clear Bass
• xLOUD
• DSEE (Sound Enhance)
• Matrix in VPT Surround
• Other things like stock Xperia EQ

10428001_10201161157950879_7318896531454736400_n.jpg


SOURCE ARCHIEVE DOWNLOAD for DEV

Flashable.zip Sound Enhancement
http://d-h.st/gG4

Framework Source (Decompiled)
http://d-h.st/tnm


KNOWN ISSUE :
• Always reboot after a few second in homescreen but if you are fast you can open SoundEnhancement and you will see it's working
• Or bootloop


NOTE :
• PLEASE DON'T POST ANY USELESS POST this is for Developer that can test what is wrong
• I will not answer/support question that not related to this development


CREDITs

• Thanks to Sony Mobile
• Thanks to Sony Corporation
• Thanks to @BPaul for everything in this project
 
Last edited:

Rizal Lovins

Recognized Developer / Themer / Inactive RC
May 30, 2012
1,618
15,948
Bandung
LG V30
How to Edit framework.jar

STEP 1 :

• Download Baksmali tool http://d-h.st/g0W (Please use this baksmali because i decompile with this baksmali version)
• Download Framework Source
• Extract Framework Source (Already decompiled)
• Extract baksmali tool & classes.dex from your framework.jar and framework2.jar (if available) with the same directory
• Drag & drop classes.dex to Quick-Baksmali

STEP 2 :

• Copy folder "com/sony/walkman" from framework source to your framework.jar or framework2.jar
• Now open AudioEffect.smali in folder "android/media/audiofx" from your framework.jar or framework2.jar

Add this RED line to your AudioEffect.smali in framework.jar or framework2.jar

Code:
.field public static final EXTRA_AUDIO_SESSION:Ljava/lang/String; = "android.media.extra.AUDIO_SESSION"

.field public static final EXTRA_CONTENT_TYPE:Ljava/lang/String; = "android.media.extra.CONTENT_TYPE"

.field public static final EXTRA_PACKAGE_NAME:Ljava/lang/String; = "android.media.extra.PACKAGE_NAME"

[COLOR="Red"].field public static final EXTRA_SONY_ICON_ENFORCEMENT:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_SONY_ICON_ENFORCEMENT"

.field public static final EXTRA_SONY_PANEL_ENFORCEMENT:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_SONY_PANEL_ENFORCEMENT"

.field public static final EXTRA_SONY_PREEFFECT_SETTING_ID:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_PREEFFECT_SETTING_ID"[/COLOR]

.field public static final NATIVE_EVENT_CONTROL_STATUS:I = 0x0

.field public static final NATIVE_EVENT_ENABLED_STATUS:I = 0x1

.field public static final NATIVE_EVENT_PARAMETER_CHANGED:I = 0x2

[COLOR="Red"].field public static final SONY_PANEL_BYPASS_BLUETOOTH:I = 0x4

.field public static final SONY_PANEL_EQ_PRE_POST:I = 0x0

.field public static final SONY_PANEL_POST:I = 0x1

.field public static final SONY_PANEL_ROOT:I = 0x2

.field public static final SONY_PANEL_SE_DIRECTLY:I = 0x3

.field public static final SONY_PREEFFECT_SETTING_ID_0:Ljava/lang/String; = "_id_0"

.field public static final SONY_PREEFFECT_SETTING_ID_1:Ljava/lang/String; = "_id_1"[/COLOR]

.field public static final STATE_INITIALIZED:I = 0x1

.field public static final STATE_UNINITIALIZED:I = 0x0

.field public static final SUCCESS:I = 0x0

STEP 3 :

In this step is very hard, you need to copy all code from framework source

List file from framework source :

AudioManager.smali
AudioRoutesInfo.smali
AudioService$2.smali
AudioService$AudioHandler.smali
AudioService$VolumeStreamState.smali
AudioService.smali
AudioSystem$ErrorCallback.smali
AudioSystem.smali
IAudioService$Stub$Proxy.smali
IAudioService$Stub.smali
IAudioService.smali

You need to open one by one, and copy all code with tag walkman, or wmport, or sony, or icx to your framework.jar or framework2.jar(please DON'T COPY that list file but COPY All CODE to your framework.jar with tha same name smali file)

Example :

10441043_10201161325915078_5803348107783226274_n.jpg


10397832_10201161325395065_2932472961089742381_n.jpg
 
Last edited:

Rizal Lovins

Recognized Developer / Themer / Inactive RC
May 30, 2012
1,618
15,948
Bandung
LG V30
BUILD.PROP WALKMAN NWZ-ZX1
Code:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=icx1240_H110
ro.build.display.id=icx1240_H110
ro.build.version.incremental=002.1.10
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1.1
ro.build.date=Thu Mar 20 23:09:42 JST 2014
ro.build.date.utc=1395324582
ro.build.type=user
ro.build.user=walkman
ro.build.host=build01
ro.build.tags=release-keys
ro.product.model=WALKMAN
ro.product.brand=Sony
ro.product.name=icx1240_002
ro.product.device=icx1240
ro.product.board=icx1240
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Sony Corporation
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=omap4
# ro.build.product is obsolete; use ro.product.device
ro.build.product=icx1240
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=icx1240_002-user 4.1.1 icx1240_H110 002.1.10 release-keys
ro.build.fingerprint=Sony/icx1240_002/icx1240:4.1.1/icx1240_H110/002.1.10:user/release-keys
ro.build.characteristics=nosdcard
# end build properties
# system.prop for blaze tablet
# This overrides settings in the products/generic/system.prop file
#
# rild.libpath=/system/lib/libreference-ril.so
# rild.libargs=-d /dev/ttyS0
com.ti.omap_enhancement=true
#com.ti.omap_enhancement_s3d=false
keyguard.no_require_sim=1
ro.opengles.version=131072
wifi.interface=wlan0
# Define modem related settings
#ro.radio.use-ppp=no
#ro.config.nocheckin=yes
#define defaults for audio D/A mic and power mode
#omap.audio.mic.main=DMic0L
#omap.audio.mic.sub=DMic0R
#omap.audio.power=PingPong
#define a property for hdmi sink channel count
#dolby.audio.hdmi.channels=0
ro.sony.sound.enabled=true

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.carrier=wifi-only
ro.sony.version=1.10
ro.sony.version.subrevision=01
ro.sony.version.gn=H
ro.sony.swid=03.01.H.1.00.01
ro.com.google.clientidbase=android-sony
ro.sony.usb.vid=054c
ro.opengles.version=131072
ro.sf.lcd_density=240
wifi.interface=wlan0
wifi.supplicant_scan_interval=15
media.aac_51_output_enabled=true
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
ro.sony.usb.pid.msc=089A
ro.sony.usb.pid.msc_adb=089B
ro.sony.usb.pid.mtp=089C
ro.sony.usb.pid.mtp_adb=089D
ro.sony.usb.product_string=WALKMAN
drm.service.enabled=true
ro.sony.update.server=info.update.sony.net
ro.sony.update.category_id=PA001
ro.sony.build.incremental=2071100100
ro.sony.build.id=1.10
ro.sony.a2dp.bitpool.qual=53
ro.sony.a2dp.bitpool.conn=35
persist.sys.sony.a2dp.bitpool=35
ro.semc.xloud.supported=true
ro.somc.clearphase.supported=true
ro.config.notification_sound=Notification.ogg
ro.config.alarm_alert=Alarm.ogg
ro.sony.wm.hp.setting=false
ro.sony.wm.cp_hp.setting=false
ro.sony.wm.clearstereo.setting=false
ro.sony.wm.caplus.chsep.enable=false
ro.setupwizard.mode=OPTIONAL
ro.com.google.gmsversion=4.1_r6
ro.com.google.apphider=on
ro.sony.sku.upid=0020
ro.sony.sku.base=icx1240_0020
ro.sony.update.service_id=NWZ-ZX1_0020
ro.sony.walkman.model=NWZ-ZX1
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
 
Last edited:

jancsessz

Senior Member
Aug 16, 2013
724
1,160
Dear @Rizal Lovins
I tested my xperia sp bootlop.
This problem AudioEffectService.apk bootlop with your AudioEffectService.apk

Tapatalk-kal küldve az én C5303-el
 

Rizal Lovins

Recognized Developer / Themer / Inactive RC
May 30, 2012
1,618
15,948
Bandung
LG V30
Dear @Rizal Lovins
I tested my xperia sp bootlop.
This problem AudioEffectService.apk bootlop with your AudioEffectService.apk

Tapatalk-kal küldve az én C5303-el

Hi mate

Do you copy AudioEffect.smali from framework source to your framework.jar? Please don't copy, just copy red line code in my post

This is still will make bootloop after you have done editing framework.jar, that's why i post here

if we remove (related icx) soundenhancement will not work, and if we add them we will get bootloop/always reboot after a few second in homescreen, but soundenhancement working :rollyes:
 

jancsessz

Senior Member
Aug 16, 2013
724
1,160
Upload my framework.jar you modofide to new mod?

Tapatalk-kal küldve az én C5303-el
 

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
@Rizal Lovins: Hi. You know about here? Check the icx audio_flinger service in framework

zx1\app\AudioEffectService.apk\smali\com\sonyericsson\audioeffectservice\AudioEffectService.smali (Is call icx audio_flinger service, is always shows in logcat and is problem what always reboot)
nRnaq4WSURg.jpg


zx1\framework\semc_audioeffectif.jar\smali\com\sony\media\SonyAudioEffect.smali (Is call libicxaudioeffect_jni.so lib)
yPzfhUH5B2I.jpg


PS: in /system/bin/servicemanager
rTOnpnxVf-o.jpg
 
Last edited:

Rizal Lovins

Recognized Developer / Themer / Inactive RC
May 30, 2012
1,618
15,948
Bandung
LG V30
@BPaul hi bro :) yes i know about it, but didn't checked service manager, do you think if we change to normal audioeffectjni & audioflinger instead icx it will work like F800? I have no time to try since busy with my exams

Btw better to port ZX1 or F880? I'm just checked the 2 zip is the same just little different in framework
 

Mikanoshi

Senior Member
Aug 9, 2013
4,000
4,878
Soviet ☭ Russia
en.mikanoshi.name
libicxposteffect.so
libicxpreeffect.so
libposteffectwrapper.so
libpreeffectwrapper.so

All those libs are not working on HTC One (Android 4.4.2) (look at byte at offset 0x94, it's 02, should be 01).
It's the main files that implement effects, too bad :rolleyes: Also it's Android 4.1, sooooo old :D Latest SoundEnhancement that can be ported to another devices is from Android 4.3 (some Xperia Z...). Sony decided then to move effects from soundfx libs to hw platform dependent libs, and they are not portable...
 

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
@BPaul hi bro :) yes i know about it, but didn't checked service manager, do you think if we change to normal audioeffectjni & audioflinger instead icx it will work like F800? I have no time to try since busy with my exams

Btw better to port ZX1 or F880? I'm just checked the 2 zip is the same just little different in framework

i think ZX1 for WORLD and F880 for Japan. Just no difference

PS: I no have time too. Prepairing AOSP 4.4 kernel for MSM8660 semc devices ;)
 

Dickey Kid'deviel

Senior Member
Oct 4, 2012
147
173
hi mister, are you sure you're using that version of baksmali tool? coz there are any different code on source file and your baksmali tool,
example: your baksmali tool is using 'param' code and the source file is using 'parameter' code :D
 
M

moonbutt74

Guest
R,

hi, has this project progressed any further, or is it abandoned ?

thanks.

m
 

Top Liked Posts

  • There are no posts matching your filters.
  • 31
    DISCLAIMER
    Code:
    #include <std_disclaimer.h>
    /*
    * Your warranty is now void.
    *
    * I am not responsible for bricked devices, dead SD cards,
    * thermonuclear war, or you getting fired because the alarm app failed. Please
    * do some research if you have any concerns about features included in this PORT
    * before flashing it! YOU are choosing to make these modifications, and if
    * you point the finger at me for messing up your device, I will laugh at you.
    */

    Introduction

    Dear all Developer :angel:

    I'm with @BPaul trying to port this Equalizer/SoundEnhancement from WALKMAN Portable NWZ-ZX1 but we get stuck and we need for your help

    If you can contribute, please do it here. Let's work together on this PORT, so we could finally get it to work. That's what XDA is all about. ;)

    Please don't spam this thread. It will be way easier for real developers and other people that could share some useful info or their attempts to get WALKMAN NWZ-ZX1 SoundEnhancement working on Xperia Devices Running JB4.1+

    Equalizer Features :

    • SoundEnhancement from WALKMAN NWZ-ZX1
    • Clear Audio+
    • Clear Phase
    • Clear Phase on Headphones
    • Clear Bass
    • xLOUD
    • DSEE (Sound Enhance)
    • Matrix in VPT Surround
    • Other things like stock Xperia EQ

    10428001_10201161157950879_7318896531454736400_n.jpg


    SOURCE ARCHIEVE DOWNLOAD for DEV

    Flashable.zip Sound Enhancement
    http://d-h.st/gG4

    Framework Source (Decompiled)
    http://d-h.st/tnm


    KNOWN ISSUE :
    • Always reboot after a few second in homescreen but if you are fast you can open SoundEnhancement and you will see it's working
    • Or bootloop


    NOTE :
    • PLEASE DON'T POST ANY USELESS POST this is for Developer that can test what is wrong
    • I will not answer/support question that not related to this development


    CREDITs

    • Thanks to Sony Mobile
    • Thanks to Sony Corporation
    • Thanks to @BPaul for everything in this project
    8
    How to Edit framework.jar

    STEP 1 :

    • Download Baksmali tool http://d-h.st/g0W (Please use this baksmali because i decompile with this baksmali version)
    • Download Framework Source
    • Extract Framework Source (Already decompiled)
    • Extract baksmali tool & classes.dex from your framework.jar and framework2.jar (if available) with the same directory
    • Drag & drop classes.dex to Quick-Baksmali

    STEP 2 :

    • Copy folder "com/sony/walkman" from framework source to your framework.jar or framework2.jar
    • Now open AudioEffect.smali in folder "android/media/audiofx" from your framework.jar or framework2.jar

    Add this RED line to your AudioEffect.smali in framework.jar or framework2.jar

    Code:
    .field public static final EXTRA_AUDIO_SESSION:Ljava/lang/String; = "android.media.extra.AUDIO_SESSION"
    
    .field public static final EXTRA_CONTENT_TYPE:Ljava/lang/String; = "android.media.extra.CONTENT_TYPE"
    
    .field public static final EXTRA_PACKAGE_NAME:Ljava/lang/String; = "android.media.extra.PACKAGE_NAME"
    
    [COLOR="Red"].field public static final EXTRA_SONY_ICON_ENFORCEMENT:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_SONY_ICON_ENFORCEMENT"
    
    .field public static final EXTRA_SONY_PANEL_ENFORCEMENT:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_SONY_PANEL_ENFORCEMENT"
    
    .field public static final EXTRA_SONY_PREEFFECT_SETTING_ID:Ljava/lang/String; = "com.sony.walkman.intent.EXTRA_PREEFFECT_SETTING_ID"[/COLOR]
    
    .field public static final NATIVE_EVENT_CONTROL_STATUS:I = 0x0
    
    .field public static final NATIVE_EVENT_ENABLED_STATUS:I = 0x1
    
    .field public static final NATIVE_EVENT_PARAMETER_CHANGED:I = 0x2
    
    [COLOR="Red"].field public static final SONY_PANEL_BYPASS_BLUETOOTH:I = 0x4
    
    .field public static final SONY_PANEL_EQ_PRE_POST:I = 0x0
    
    .field public static final SONY_PANEL_POST:I = 0x1
    
    .field public static final SONY_PANEL_ROOT:I = 0x2
    
    .field public static final SONY_PANEL_SE_DIRECTLY:I = 0x3
    
    .field public static final SONY_PREEFFECT_SETTING_ID_0:Ljava/lang/String; = "_id_0"
    
    .field public static final SONY_PREEFFECT_SETTING_ID_1:Ljava/lang/String; = "_id_1"[/COLOR]
    
    .field public static final STATE_INITIALIZED:I = 0x1
    
    .field public static final STATE_UNINITIALIZED:I = 0x0
    
    .field public static final SUCCESS:I = 0x0

    STEP 3 :

    In this step is very hard, you need to copy all code from framework source

    List file from framework source :

    AudioManager.smali
    AudioRoutesInfo.smali
    AudioService$2.smali
    AudioService$AudioHandler.smali
    AudioService$VolumeStreamState.smali
    AudioService.smali
    AudioSystem$ErrorCallback.smali
    AudioSystem.smali
    IAudioService$Stub$Proxy.smali
    IAudioService$Stub.smali
    IAudioService.smali

    You need to open one by one, and copy all code with tag walkman, or wmport, or sony, or icx to your framework.jar or framework2.jar(please DON'T COPY that list file but COPY All CODE to your framework.jar with tha same name smali file)

    Example :

    10441043_10201161325915078_5803348107783226274_n.jpg


    10397832_10201161325395065_2932472961089742381_n.jpg
    7
    BUILD.PROP WALKMAN NWZ-ZX1
    Code:
    # begin build properties
    # autogenerated by buildinfo.sh
    ro.build.id=icx1240_H110
    ro.build.display.id=icx1240_H110
    ro.build.version.incremental=002.1.10
    ro.build.version.sdk=16
    ro.build.version.codename=REL
    ro.build.version.release=4.1.1
    ro.build.date=Thu Mar 20 23:09:42 JST 2014
    ro.build.date.utc=1395324582
    ro.build.type=user
    ro.build.user=walkman
    ro.build.host=build01
    ro.build.tags=release-keys
    ro.product.model=WALKMAN
    ro.product.brand=Sony
    ro.product.name=icx1240_002
    ro.product.device=icx1240
    ro.product.board=icx1240
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=Sony Corporation
    ro.product.locale.language=en
    ro.product.locale.region=US
    ro.wifi.channels=
    ro.board.platform=omap4
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=icx1240
    # Do not try to parse ro.build.description or .fingerprint
    ro.build.description=icx1240_002-user 4.1.1 icx1240_H110 002.1.10 release-keys
    ro.build.fingerprint=Sony/icx1240_002/icx1240:4.1.1/icx1240_H110/002.1.10:user/release-keys
    ro.build.characteristics=nosdcard
    # end build properties
    # system.prop for blaze tablet
    # This overrides settings in the products/generic/system.prop file
    #
    # rild.libpath=/system/lib/libreference-ril.so
    # rild.libargs=-d /dev/ttyS0
    com.ti.omap_enhancement=true
    #com.ti.omap_enhancement_s3d=false
    keyguard.no_require_sim=1
    ro.opengles.version=131072
    wifi.interface=wlan0
    # Define modem related settings
    #ro.radio.use-ppp=no
    #ro.config.nocheckin=yes
    #define defaults for audio D/A mic and power mode
    #omap.audio.mic.main=DMic0L
    #omap.audio.mic.sub=DMic0R
    #omap.audio.power=PingPong
    #define a property for hdmi sink channel count
    #dolby.audio.hdmi.channels=0
    ro.sony.sound.enabled=true
    
    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    ro.com.android.dateformat=MM-dd-yyyy
    ro.carrier=wifi-only
    ro.sony.version=1.10
    ro.sony.version.subrevision=01
    ro.sony.version.gn=H
    ro.sony.swid=03.01.H.1.00.01
    ro.com.google.clientidbase=android-sony
    ro.sony.usb.vid=054c
    ro.opengles.version=131072
    ro.sf.lcd_density=240
    wifi.interface=wlan0
    wifi.supplicant_scan_interval=15
    media.aac_51_output_enabled=true
    dalvik.vm.heapstartsize=5m
    dalvik.vm.heapgrowthlimit=48m
    dalvik.vm.heapsize=256m
    ro.sony.usb.pid.msc=089A
    ro.sony.usb.pid.msc_adb=089B
    ro.sony.usb.pid.mtp=089C
    ro.sony.usb.pid.mtp_adb=089D
    ro.sony.usb.product_string=WALKMAN
    drm.service.enabled=true
    ro.sony.update.server=info.update.sony.net
    ro.sony.update.category_id=PA001
    ro.sony.build.incremental=2071100100
    ro.sony.build.id=1.10
    ro.sony.a2dp.bitpool.qual=53
    ro.sony.a2dp.bitpool.conn=35
    persist.sys.sony.a2dp.bitpool=35
    ro.semc.xloud.supported=true
    ro.somc.clearphase.supported=true
    ro.config.notification_sound=Notification.ogg
    ro.config.alarm_alert=Alarm.ogg
    ro.sony.wm.hp.setting=false
    ro.sony.wm.cp_hp.setting=false
    ro.sony.wm.clearstereo.setting=false
    ro.sony.wm.caplus.chsep.enable=false
    ro.setupwizard.mode=OPTIONAL
    ro.com.google.gmsversion=4.1_r6
    ro.com.google.apphider=on
    ro.sony.sku.upid=0020
    ro.sony.sku.base=icx1240_0020
    ro.sony.update.service_id=NWZ-ZX1_0020
    ro.sony.walkman.model=NWZ-ZX1
    dalvik.vm.dexopt-flags=m=y
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt
    2
    @Rizal Lovins: Hi. You know about here? Check the icx audio_flinger service in framework

    zx1\app\AudioEffectService.apk\smali\com\sonyericsson\audioeffectservice\AudioEffectService.smali (Is call icx audio_flinger service, is always shows in logcat and is problem what always reboot)
    nRnaq4WSURg.jpg


    zx1\framework\semc_audioeffectif.jar\smali\com\sony\media\SonyAudioEffect.smali (Is call libicxaudioeffect_jni.so lib)
    yPzfhUH5B2I.jpg


    PS: in /system/bin/servicemanager
    rTOnpnxVf-o.jpg