for exzample:
in AduioService.java
add code in order to comand for Voice In Call:
if (streamType == AudioSystem.STREAM_VOICE_CALL)
{
Log.w(TAG,"sendVolumeUpdate STREAM_VOICE_CALL,");
String Callvoice_lev = String.vlaueof(index);
systemProperties.set("3Gvoice_level",Callvoice_lev); //add property service
SystemProperties.set("ctl.start","shell");
}
add 3Gvoice_volume.sh
#!/system/bin/sh
#6 steps ,max MONO_VAL is 31
FILE="/system/etc/3Gvolume"
MONOVAL=`getprop 3Gvoice_level`
MIN_VAL=15
MONO_VAL=`expr $MONOVAL \* 3`
if[`MONO_VAL -eq 0`];then
MONO_VAL=$MIN_VAL
else
MONO_VAL= `expr $MONO_VAL+$MIN_VAL`
fi
/system/bin/log -t 3Gvoice_down "MONO_VAL IS $MONOVAL"
MAX_VAL=`expr $MONO_VAL \< 31`
if[$MAX_VAL -ne 15];then
if[-f $FILE];then
rm $FILE
fi
touch $FILE
echo $MONO_VAL > $FILE
chmod 777 $FILE
tinymix 5 $MONO_VAL
/system/bin/log -t 3Gvoice_down "tinymix set numid=3 $MONO_VAL,$MONO_VAL is down!"
fi
exit 0
in init.rc add service
add:
chmod 0777 /system/etc/3Gvoice_volume.sh
service 3Gvoice_volume /etc/3Gvoice_volume.sh
class main
user root
group radio cache aduio log
disabled
oneshot