
# begin build properties
# autogenerated by buildinfo.sh
ro.product.sw.external.version=A6600a40_S032_161104_ROW
ro.product.sw.internal.version=A6600a40_USR_S032_1611042152_M0MP1_ROW
ro.custom.internal.version=LLD3I80.1.0.2.4T32L1104_M320
ro.custom.external.version=LLD3I80.2.4_M320
ro.custom.hardware.version=H301
ro.lenovo.hardware.version=H301
ro.lenovo.build.date=201611042152
ro.lenovo.version.no=01
ro.lenovo.branch.name=ALPS.MP.M0.MP1.V2.39.1
ro.com.google.clientidbase=android-lenovo
ro.com.google.clientidbase.ms=android-lenovo
ro.com.google.clientidbase.yt=android-lenovo
ro.com.google.clientidbase.ms=android-lenovo
ro.com.google.clientidbase.am=android-lenovo
ro.com.google.clientidbase.gmm=android-lenovo
ro.build.id=MRA58K
ro.build.display.id=A6600a40_S032_161104_ROW
ro.build.version.incremental=A6600a40_S032_161104_ROW
ro.build.version.sdk=23
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=6.0
ro.build.version.security_patch=2016-10-05
ro.build.version.base_os=
ro.build.date=Fri Nov  4 21:52:25 CST 2016
ro.build.date.utc=1478267545
ro.build.type=user
ro.build.user=jenkins
ro.build.host=glsrv4
ro.build.tags=release-keys
ro.build.flavor=full_lcsh6735m_35u_m-user
ro.product.model=Lenovo A6600a40
ro.product.brand=Lenovo
ro.product.name=A6600a40
ro.product.device=A6600a40
ro.product.board=
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.cpu.abilist=armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=
ro.product.manufacturer=LENOVO
ro.product.locale=en-US
ro.wifi.channels=
ro.board.platform=mt6735m
# ro.build.product is obsolete; use ro.product.device
ro.build.product=A6600a40
# Do not try to parse description, fingerprint, or thumbprint
ro.build.description=full_lcsh6735m_35u_m-user 6.0 MRA58K 1478267301 release-keys
ro.build.fingerprint=Lenovo/A6600a40/A6600a40:6.0/MRA58K/A6600a40_S032_161104_ROW:user/release-keys
ro.build.characteristics=default
persist.sys.pwron.snd.state=1
persist.sys.pwron.snd.state1=1
persist.sys.pwron.snd.state2=1
# end build properties
persist.gsensor.encali=1
ro.lenovo.region=row
ro.lenovo.device=phone
ro.lenovo.operator=open
ro.lenovo.platform=mtk
ro.lenovo.bqb=no
ro.lenovo.wificert=no
ro.lenovo.series=Lenovo A6600
ro.lenovo.lcdsize=5.0
ro.lenovo.vibeuistyle=true
ro.lenovo.audioparaver=PVT-2016-04-13
persist.backgrounddata.enable=false
persist.lenovo.ltetype=NONE
ro.product.ota.model=LenovoA6600a40
ro.lenovo.ota.extsd=sdcard
ro.build.device.ninur=64687
ro.lxf_lenovo_standard_usb=1
#
# from device/lcsh/lcsh6735m_35u_m/system.prop
#
#
# system.prop for generic sdk
#

rild.libpath=mtk-ril.so
rild.libargs=-d /dev/ttyC0


# MTK, Infinity, 20090720 {
wifi.interface=wlan0
# MTK, Infinity, 20090720 }

# MTK, mtk03034, 20101210 {
ro.mediatek.wlan.wsc=1
# MTK, mtk03034 20101210}
# MTK, mtk03034, 20110318 {
ro.mediatek.wlan.p2p=1
# MTK, mtk03034 20110318}

# MTK, mtk03034, 20101213 {
mediatek.wlan.ctia=0
# MTK, mtk03034 20101213}


#
wifi.tethering.interface=ap0
#

ro.opengles.version=196608
#ro.kernel.qemu=1
#ro.kernel.qemu.gles=0

wifi.direct.interface=p2p0
dalvik.vm.heapgrowthlimit=128m
dalvik.vm.heapsize=256m

# USB MTP WHQL
ro.sys.usb.mtp.whql.enable=0

# Power off opt in IPO
sys.ipo.pwrdncap=2

ro.sys.usb.storage.type=mtp,mass_storage

# USB BICR function
ro.sys.usb.bicr=yes

# USB Charge only function
ro.sys.usb.charging.only=yes

# audio
ro.camera.sound.forced=0
ro.audio.silent=0

ro.zygote.preload.enable=0

# temporary enables NAV bar (soft keys)
# lct close nav bar
qemu.hw.mainkeys=1

ro.kernel.zio=38,108,105,16
#ro.kernel.qemu=1
#ro.kernel.qemu.gles=0
#ro.boot.selinux=disable
#lct modify
ro.sf.lcd_density=320

# performance
ro.mtk_perf_simple_start_win=1
ro.mtk_perf_fast_start_win=1
ro.mtk_perf_response_time=1

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=Fantastic_Clang.ogg
ro.config.notification_sound=Notice.ogg
ro.config.msg_notification=Curiosity.ogg
ro.config.alarm_alert=New_Morning.ogg
ro.carrier=unknown
dalvik.vm.heapgrowthlimit=128m
dalvik.vm.heapsize=256m
ro.mediatek.chip_ver=S01
ro.mediatek.version.release=alps-mp-m0.mp1-V2.39.1_lcsh6735m.35u.m_P62
ro.mediatek.platform=MT6735
ro.telephony.sim.count=2
persist.radio.default.sim=0
persist.radio.multisim.config=dsds
persist.gemini.sim_num=2
ro.gemini.smart_sim_switch=false
ril.specific.sm_cause=0
bgw.current3gband=0
ril.external.md=0
ro.sf.hwrotation=0
curlockscreen=1
ro.mediatek.gemini_support=true
persist.radio.fd.counter=15
persist.radio.fd.off.counter=5
persist.radio.fd.r8.counter=15
persist.radio.fd.off.r8.counter=5
drm.service.enabled=true
fmradio.driver.enable=1
ril.first.md=1
ril.flightmode.poweroffMD=1
ril.telephony.mode=0
dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt
mediatek.wlan.chip=CONSYS_MT6735
mediatek.wlan.module.postfix=_consys_mt6735
ril.read.imsi=1
ril.radiooff.poweroffMD=0
ro.frp.pst=/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/frp
ro.sys.usb.storage.type=mtp,mass_storage
ro.mediatek.version.branch=alps-mp-m0.mp1
ro.mediatek.version.sdk=4
ro.setupwizard.mode=OPTIONAL
ro.com.google.gmsversion=6.0_r6
ro.com.google.clientidbase=alps-full_lcsh6735m_35u_m-{country}
ro.com.google.clientidbase.ms=alps-full_lcsh6735m_35u_m-{country}
ro.com.google.clientidbase.yt=alps-full_lcsh6735m_35u_m-{country}
ro.com.google.clientidbase.am=alps-full_lcsh6735m_35u_m-{country}
ro.com.google.clientidbase.gmm=alps-full_lcsh6735m_35u_m-{country}
ro.mtk_gemini_support=1
persist.radio.gemini_support=1
ril.current.share_modem=2
ro.mtk_audio_profiles=1
ro.mtk_audenh_support=1
ro.mtk_besloudness_support=1
ro.mtk_bessurround_support=1
ro.mtk_bt_support=1
ro.mtk_wappush_support=1
ro.mtk_agps_app=1
ro.mtk_audio_tuning_tool_ver=V1
ro.mtk_wlan_support=1
ro.mtk_ipo_support=1
ro.mtk_gps_support=1
ro.mtk_omacp_support=1
ro.mtk_search_db_support=1
ro.mtk_dialer_search_support=1
ro.mtk_dhcpv6c_wifi=1
ro.have_aacencode_feature=1
ro.mtk_fd_support=1
ro.mtk_oma_drm_support=1
ro.mtk_widevine_drm_l3_support=1
ro.mtk_eap_sim_aka=1
ro.mtk_fm_recording_support=1
ro.mtk_audio_ape_support=1
ro.mtk_flv_playback_support=1
ro.mtk_send_rr_support=1
ro.mtk_emmc_support=1
ro.mtk_tetheringipv6_support=1
ro.mtk_shared_sdcard=1
ro.mtk_enable_md1=1
ro.mtk_flight_mode_power_off_md=1
ro.mtk_pq_support=2
ro.mtk_miravision_image_dc=1
ro.mtk_wifi_mcc_support=1
ro.mtk_sim_hot_swap=1
ro.mtk_thumbnail_play_support=1
ro.mtk_bip_scws=1
ro.mtk_multisim_ringtone=1
ro.mtk_world_phone_policy=0
ro.mtk_perfservice_support=1
ro.mtk_mobile_management=1
ro.mtk_antibricking_level=2
ro.mtk_cam_mfb_support=0
ro.mtk_lte_support=1
ro.mtk_safemedia_support=1
ro.mtk_rild_read_imsi=1
ro.sim_refresh_reset_by_modem=1
ro.mtk_passpoint_r1_support=1
ro.mtk_bg_power_saving_support=1
ro.mtk_bg_power_saving_ui=1
ro.have_aee_feature=1
ro.sim_me_lock_mode=0
ro.mtk_dual_mic_support=0
ro.mtk_is_tablet=0
ro.mtk_ims_support=1
ro.mtk_volte_support=1
persist.mtk.volte.enable=1
persist.radio.mtk_dsbp_support=1
persist.mtk_dynamic_ims_switch=0
wfd.dummy.enable=1
ro.mediatek.project.path=device/lcsh/lcsh6735m_35u_m
persist.mtk.wcn.combo.chipid=-1
service.wcn.driver.ready=no
service.wcn.coredump.mode=2
ro.com.android.mobiledata=false
persist.radio.mobile.data=0,0
persist.meta.dumpdata=0
ro.mtk_md_sbp_custom_value=0
mtk.vdec.waitkeyframeforplay=1
ro.lct_country_info_ctrl=1
ro.delete_all_recent_apps=1
ro.lct.cetest=1
persist.sys.dalvik.vm.lib.2=libart
dalvik.vm.isa.arm.variant=cortex-a53
dalvik.vm.isa.arm.features=default
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.expect.recovery_id=0xf5bbd9207572df534d50ff297bc4f3220ff69a79000000000000000000000000
