# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KXB21.14-L1.23-4
ro.build.display.id=KXB21.14-L1.23-4
ro.build.version.incremental=1
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.3
ro.build.date=Fri May 23 16:31:23 CDT 2014
ro.build.date.utc=1400880683
ro.build.type=user
ro.build.user=hudsoncm
ro.build.host=ilclbld31
ro.build.tags=release-keys
ro.product.model=XT1045
ro.product.brand=motorola
ro.product.name=peregrine_retus
ro.product.device=peregrine
ro.product.board=MSM8226
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=motorola
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm8226
# ro.build.product is obsolete; use ro.product.device
ro.build.product=peregrine
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=peregrine_retus-user 4.4.3 KXB21.14-L1.23-4 1 release-keys
ro.build.fingerprint=motorola/peregrine_retus/peregrine:4.4.3/KXB21.14-L1.23-4/1:user/release-keys
ro.build.characteristics=default
# end build properties
#
# from device/moto/peregrine/system.prop
#
#
# system.prop for msm8226
#

# Use reference RIL for initial bringup
#rild.libpath=/system/lib/libreference-ril.so
rild.libpath=/vendor/lib/libril-qc-qmi-1.so
rild.libargs=-d /dev/smd0
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
ril.subscription.types=NV,RUIM
DEVICE_PROVISIONED=1
persist.radio.msgtunnel.start=false

#
# system props for the cne module
#
persist.cne.feature=0


# Skip /sys/power/wait_for_fb_* nodes and
# force FB to be always on
debug.sf.fb_always_on=1

debug.sf.hw=1
debug.egl.hw=1
debug.composition.type=c2d
persist.hwc.mdpcomp.enable=true
debug.mdpcomp.logs=0
dalvik.vm.heapsize=36m
dev.pm.dyn_samplingrate=1

persist.demo.hdmirotationlock=false
ro.hdmi.enable=true
tunnel.decode=false
tunnel.audiovideo.decode=false
lpa.decode=true
lpa.use-stagefright=true

#system props for the MM modules

media.stagefright.enable-player=true
media.stagefright.enable-http=true
media.stagefright.enable-aac=true
media.stagefright.enable-qcp=true
media.stagefright.enable-fma2dp=true
media.stagefright.enable-scan=true
mmp.enable.3g2=true
#9273 is decimal sum of supported codecs in AAL
#codecs:(PARSER_)AVI AC3 ASF AAC QCP DTS 3G2 MP2TS
mm.enable.qcom_parser=37491

# VIDC: debug_levels
# 1:ERROR 2:HIGH 4:LOW 0:NOlogs 7:AllLogs
vidc.debug.level=1
#
# system props for the data modules
#
ro.use_data_netmgrd=true

#system props for time-services
persist.timed.enable=true

#
# system prop for opengles version
#
# 196608 is decimal for 0x30000 to report version 3
ro.opengles.version=196608

#
# System props for telephony
# System prop to turn on CdmaLTEPhone always
telephony.lteOnCdmaDevice=0

# simulate sdcard on /data/media
#
persist.fuse_sdcard=true
ro.crypto.fuse_sdcard=true

#
#snapdragon value add features
#
# System props for audio
ro.qc.sdk.audio.ssr=false
##fluencetype can be "fluence" or "fluencepro" or "none"
persist.audio.fluence.mode=endfire
persist.audio.handset.mic=digital
ro.config.vc_call_vol_steps=7
# FM maximum volume be between 0 and 8192 (0dB)
ro.audio.fm_max_volume=4096

#need rotation info in audio-land
ro.audio.monitorRotation=1

# Enable/disable cabl
ro.qualcomm.cabl=0

# system prop for NFC DT
ro.nfc.port=I2C

#
# system property for Bluetooth hci transport
#
ro.qualcomm.bt.hci_transport=smd

#
# system property for Bluetooth HFP version
#
ro.bluetooth.hfp.ver=1.6

#
# system property for Bluetooth SAP support
# Motorola disabled SAP
#
ro.qualcomm.bluetooth.sap=false

# Bluetooth LE power class
qcom.bt.le_dev_pwr_class=1

##property to choose between virtual/external wfd display
persist.sys.wfd.virtual=0
# Motorola, ams087, 09/24/2013, IKJBMR2-6432 : disable tunnel audio encode
#tunnel.audio.encode = true

# Enable SSR
persist.sys.ssr.restart_level=3
persist.sys.qc.sub.rdump.on=1

# For TCMD debug level
persist.tcmd.log.limit=0

# Disable QCOM net early sockets feature
net.early.sockets=0

# Radio RIL properties
persist.radio.no_wait_for_card=1
persist.radio.call_type=1
persist.radio.apm_sim_not_pwdn=1
persist.radio.dfr_mode_set=1
persist.radio.relay_oprt_change=1

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.build.version.full=Blur_Version.21.23.4.peregrine_retus.retus.en.US
ro.mot.build.customerid=retus
ro.mot.build.version.sdk_int=19
ro.product.display=Moto G
ro.build.version.qcom=AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.020
ro.carrier=retus
ro.fsg-id=retusa_glb
telephony.lteOnCdmaDevice=0
ro.telephony.default_network=9
ro.mot.hw.uaprof=http://uaprof.motorola.com/phoneconfig/motomb886/Profile/motomb886.rdf
ro.com.android.dataroaming=false
ro.config.ringtone=Moto.ogg
ro.config.notification_sound=Moto.ogg
ro.config.alarm_alert=Oxygen.ogg
ro.MAX_HIDDEN_APPS=12
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=96m
dalvik.vm.heapsize=256m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=2m
dalvik.vm.heapmaxfree=8m
persist.sys.logkit.ctrlcode=0
ro.vendor.extension_library=/vendor/lib/libqc-opt.so
persist.radio.apm_sim_not_pwdn=1
ro.usb.mtp=0x2e82
ro.usb.mtp_adb=0x2e76
ro.usb.ptp=0x2e83
ro.usb.ptp_adb=0x2e84
ro.usb.bpt=0x2e28
ro.usb.bpt_adb=0x2e29
ro.usb.bpteth=0x2e2a
ro.usb.bpteth_adb=0x2e2b
persist.audio.calfile0=/etc/Bluetooth_cal.acdb
persist.audio.calfile1=/etc/General_cal.acdb
persist.audio.calfile2=/etc/Global_cal.acdb
persist.audio.calfile3=/etc/Handset_cal.acdb
persist.audio.calfile4=/etc/Hdmi_cal.acdb
persist.audio.calfile5=/etc/Headset_cal.acdb
persist.audio.calfile6=/etc/Speaker_cal.acdb
ro.bug2go.magickeys=24,26
persist.sys.qc.sub.rdump.max=0
ro.adb.secure=1
ro.sf.lcd_density=320
keyguard.no_require_sim=true
ro.zygote.capsuid=0
mdc_initial_max_retry=10
persist.radio.apn_delay=5000
drm.service.enabled=true
ro.com.google.clientidbase=android-motorola
ro.com.google.clientidbase.ms=android-motorola
ro.com.google.clientidbase.am=android-motorola
ro.com.google.clientidbase.gmm=android-motorola
ro.com.google.clientidbase.yt=android-motorola
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.setupwizard.mode=OPTIONAL
ro.com.google.gmsversion=4.4.3_r1
ro.media.enc.aud.fileformat=amr
ro.media.enc.aud.codec=amrnb
persist.sys.dalvik.vm.lib=libdvm.so
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.qc.sdk.izat.premium_enabled=1
ro.qc.sdk.izat.service_mask=0x5
persist.gps.qc_nlp_in_use=1
persist.loc.nlp_name=com.qualcomm.services.location
ro.gps.agps_provider=1

