Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

defy-cm7-rc0

  • Loading branch information...
commit e04b7fb1d1556db2ea9c959e6513bb6bf2e3a36b 0 parents
@tpruvot authored
Showing with 11,636 additions and 0 deletions.
  1. +43 −0 AndroidBoard.mk
  2. +21 −0 AndroidProducts.mk
  3. +96 −0 BoardConfig.mk
  4. +49 −0 CleanSpec.mk
  5. +63 −0 README
  6. +1,315 −0 apns-conf.xml
  7. BIN  boot.img
  8. +1 −0  egl.cfg
  9. +514 −0 init.mapphone_umts.rc
  10. +497 −0 init.rc
  11. +283 −0 jordan-blobs.mk
  12. +29 −0 jordan-vendor.mk
  13. +138 −0 jordan.mk
  14. BIN  kernel
  15. +26 −0 libaudiopolicy/Android.mk
  16. +490 −0 libaudiopolicy/AudioPolicyManager.cpp
  17. +66 −0 libaudiopolicy/AudioPolicyManager.h
  18. 0  libaudiopolicy/MODULE_LICENSE_APACHE2
  19. +31 −0 liblights/Android.mk
  20. +278 −0 liblights/lights.c
  21. +46 −0 libsensors/Android.mk
  22. +88 −0 libsensors/InputEventReader.cpp
  23. +47 −0 libsensors/InputEventReader.h
  24. 0  libsensors/MODULE_LICENSE_APACHE2
  25. +286 −0 libsensors/SensorAK8973.cpp
  26. +67 −0 libsensors/SensorAK8973.h
  27. +123 −0 libsensors/SensorBase.cpp
  28. +63 −0 libsensors/SensorBase.h
  29. +212 −0 libsensors/SensorISL29030.cpp
  30. +75 −0 libsensors/SensorISL29030.h
  31. +163 −0 libsensors/SensorKXTF9.cpp
  32. +55 −0 libsensors/SensorKXTF9.h
  33. +70 −0 libsensors/kernel/akm8973_akmd.h
  34. +96 −0 libsensors/kernel/isl29030.h
  35. +128 −0 libsensors/kernel/kxtf9.h
  36. +265 −0 libsensors/nusensors.cpp
  37. +80 −0 libsensors/nusensors.h
  38. +99 −0 libsensors/sensors.c
  39. +194 −0 media_profiles.xml
  40. +10 −0 merge_cron.sh
  41. BIN  modules/act_gact.ko
  42. BIN  modules/act_mirred.ko
  43. BIN  modules/act_police.ko
  44. BIN  modules/cls_u32.ko
  45. 0  modules/dummy.ko
  46. BIN  modules/em_u32.ko
  47. BIN  modules/ifb.ko
  48. BIN  modules/kineto_gan.ko
  49. BIN  modules/modem_pm_driver.ko
  50. BIN  modules/netmux.ko
  51. BIN  modules/netmux_linkdriver.ko
  52. BIN  modules/output.ko
  53. BIN  modules/pcbc.ko
  54. BIN  modules/sch_htb.ko
  55. BIN  modules/sch_ingress.ko
  56. BIN  modules/sec.ko
  57. BIN  modules/tiap_drv.ko
  58. BIN  modules/tiwlan_drv.ko
  59. BIN  modules/tun.ko
  60. BIN  modules/vpnclient.ko
  61. BIN  modules/wl127x_test.ko
  62. BIN  overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg
  63. +344 −0 overlay/frameworks/base/core/res/res/values/config.xml
  64. +167 −0 overlay/frameworks/base/core/res/res/xml/eri.xml
  65. +61 −0 overlay/frameworks/base/core/res/res/xml/power_profile.xml
  66. +37 −0 overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
  67. +21 −0 overlay/frameworks/base/tests/ImfTest/res/values/config.xml
  68. +17 −0 overlay/packages/apps/CMParts/res/xml/config.xml
  69. +21 −0 overlay/packages/apps/Contacts/res/values/config.xml
  70. +33 −0 overlay/packages/apps/Mms/res/xml/mms_config.xml
  71. +122 −0 overlay/packages/apps/Phone/res/values/config.xml
  72. +23 −0 overlay/packages/apps/Settings/res/values/bools.xml
  73. +37 −0 overlay/packages/providers/ContactsProvider/res/values/unrestricted_packages.xml
  74. BIN  proprietary/app/FMRadio.apk
  75. BIN  proprietary/app/FMRadioService.apk
  76. BIN  proprietary/app/MotoPhonePortal.apk
  77. BIN  proprietary/app/basebandswitcherV4.0.apk
  78. BIN  proprietary/bin/akmd2
  79. BIN  proprietary/bin/ap_gain.bin
  80. BIN  proprietary/bin/ap_gain_mmul.bin
  81. BIN  proprietary/bin/battd
  82. BIN  proprietary/bin/bplogd_daemon
  83. BIN  proprietary/bin/brcm_guci_drv
  84. BIN  proprietary/bin/brcm_patchram_plus
  85. BIN  proprietary/bin/charge_only_mode
  86. BIN  proprietary/bin/dumpe2fs
  87. BIN  proprietary/bin/fmradio
  88. BIN  proprietary/bin/fmradioserver
  89. BIN  proprietary/bin/gki_pd_notifier
  90. BIN  proprietary/bin/gkilogd
  91. BIN  proprietary/bin/gkisystem
  92. BIN  proprietary/bin/iptables
  93. BIN  proprietary/bin/location
  94. BIN  proprietary/bin/mot_boot_mode
  95. +11 −0 proprietary/bin/mount_ext3.sh
  96. BIN  proprietary/bin/nvm_daemon
  97. BIN  proprietary/bin/opprofdaemon
  98. BIN  proprietary/bin/panic_daemon
  99. BIN  proprietary/bin/protocol_driver
  100. BIN  proprietary/bin/pvrsrvinit
  101. BIN  proprietary/bin/rild_tcmd
  102. BIN  proprietary/bin/usbd
  103. BIN  proprietary/bootmenu/binary/2nd-init
  104. BIN  proprietary/bootmenu/binary/adbd
  105. BIN  proprietary/bootmenu/binary/bootmenu
  106. BIN  proprietary/bootmenu/binary/logwrapper.bin
  107. BIN  proprietary/bootmenu/binary/lsof.static
  108. +1 −0  proprietary/bootmenu/config/bootmenu_bypass
  109. +7 −0 proprietary/bootmenu/config/default.prop
  110. +1 −0  proprietary/bootmenu/config/default_bootmode.conf
  111. +23 −0 proprietary/bootmenu/config/overclock.conf
  112. BIN  proprietary/bootmenu/ext/Superuser.apk
  113. BIN  proprietary/bootmenu/ext/modules/cpufreq_conservative.ko
  114. BIN  proprietary/bootmenu/ext/modules/cpufreq_interactive.ko
  115. BIN  proprietary/bootmenu/ext/modules/cpufreq_ondemand.ko
  116. BIN  proprietary/bootmenu/ext/modules/cpufreq_performance.ko
  117. BIN  proprietary/bootmenu/ext/modules/cpufreq_powersave.ko
  118. BIN  proprietary/bootmenu/ext/modules/cpufreq_smartass.ko
  119. BIN  proprietary/bootmenu/ext/modules/cpufreq_userspace.ko
  120. BIN  proprietary/bootmenu/ext/modules/overclock_defy.ko
  121. BIN  proprietary/bootmenu/ext/modules/symsearch.ko
  122. BIN  proprietary/bootmenu/ext/su
  123. BIN  proprietary/bootmenu/images/icon_error.png
  124. BIN  proprietary/bootmenu/images/icon_installing.png
  125. BIN  proprietary/bootmenu/images/indeterminate1.png
  126. BIN  proprietary/bootmenu/images/indeterminate2.png
  127. BIN  proprietary/bootmenu/images/indeterminate3.png
  128. BIN  proprietary/bootmenu/images/indeterminate4.png
  129. BIN  proprietary/bootmenu/images/indeterminate5.png
  130. BIN  proprietary/bootmenu/images/indeterminate6.png
  131. BIN  proprietary/bootmenu/images/progress_empty.png
  132. BIN  proprietary/bootmenu/images/progress_fill.png
  133. +3 −0  proprietary/bootmenu/init.d/01sysctl
  134. +9 −0 proprietary/bootmenu/recovery/recovery.fstab
  135. BIN  proprietary/bootmenu/recovery/res/images/icon_clockwork.png
  136. BIN  proprietary/bootmenu/recovery/res/images/icon_decryption.png
  137. BIN  proprietary/bootmenu/recovery/res/images/icon_done.png
  138. BIN  proprietary/bootmenu/recovery/res/images/icon_encryption.png
  139. BIN  proprietary/bootmenu/recovery/res/images/icon_error.png
  140. BIN  proprietary/bootmenu/recovery/res/images/icon_firmware_error.png
  141. BIN  proprietary/bootmenu/recovery/res/images/icon_installing.png
  142. BIN  proprietary/bootmenu/recovery/res/images/indeterminate1.png
  143. BIN  proprietary/bootmenu/recovery/res/images/indeterminate2.png
  144. BIN  proprietary/bootmenu/recovery/res/images/indeterminate3.png
  145. BIN  proprietary/bootmenu/recovery/res/images/indeterminate4.png
  146. BIN  proprietary/bootmenu/recovery/res/images/indeterminate5.png
  147. BIN  proprietary/bootmenu/recovery/res/images/indeterminate6.png
  148. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_empty.png
  149. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_empty_left_round.png
  150. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_empty_right_round.png
  151. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_fill.png
  152. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_left_round.png
  153. BIN  proprietary/bootmenu/recovery/res/images/progress_bar_right_round.png
  154. BIN  proprietary/bootmenu/recovery/res/images/progress_empty.png
  155. BIN  proprietary/bootmenu/recovery/res/images/progress_fill.png
  156. +1 −0  proprietary/bootmenu/recovery/res/keys
  157. BIN  proprietary/bootmenu/recovery/sbin/adbd
  158. BIN  proprietary/bootmenu/recovery/sbin/e2fsck
  159. +485 −0 proprietary/bootmenu/recovery/sbin/fix_permissions
  160. +15 −0 proprietary/bootmenu/recovery/sbin/killrecovery.sh
  161. +42 −0 proprietary/bootmenu/recovery/sbin/mke2fs
  162. BIN  proprietary/bootmenu/recovery/sbin/mke2fs.bin
  163. +4 −0 proprietary/bootmenu/recovery/sbin/nandroid-md5.sh
  164. BIN  proprietary/bootmenu/recovery/sbin/parted
  165. +34 −0 proprietary/bootmenu/recovery/sbin/postrecoveryboot.sh
  166. +637 −0 proprietary/bootmenu/recovery/sbin/sdparted
  167. +27 −0 proprietary/bootmenu/recovery/sbin/tune2fs
  168. BIN  proprietary/bootmenu/recovery/sbin/tune2fs.bin
  169. +14 −0 proprietary/bootmenu/script/2nd-boot.sh
  170. +47 −0 proprietary/bootmenu/script/2nd-init.sh
  171. +16 −0 proprietary/bootmenu/script/adbd.sh
  172. +198 −0 proprietary/bootmenu/script/overclock.sh
  173. +34 −0 proprietary/bootmenu/script/post_bootmenu.sh
  174. +67 −0 proprietary/bootmenu/script/pre_bootmenu.sh
  175. +120 −0 proprietary/bootmenu/script/recovery.sh
  176. +19 −0 proprietary/bootmenu/script/recoveryexit.sh
  177. +39 −0 proprietary/bootmenu/script/unroot.sh
  178. BIN  proprietary/etc/cameraCalFileDef5M.bin
  179. BIN  proprietary/etc/cameraCalFileDef8M.bin
  180. +19 −0 proprietary/etc/custom_backup_list.txt
  181. BIN  proprietary/etc/firmware/wl1271.bin
  182. BIN  proprietary/etc/fm_rx_init_1273.2.bts
  183. BIN  proprietary/etc/fm_rx_init_6450.2.bts
  184. BIN  proprietary/etc/fmc_init_1273.2.bts
  185. BIN  proprietary/etc/fmc_init_6450.2.bts
  186. +31 −0 proprietary/etc/gpsconfig.xml
  187. +55 −0 proprietary/etc/init.d/05mountsd
  188. +79 −0 proprietary/etc/location.cfg
  189. BIN  proprietary/etc/mot_ise_imager_cfg.bin
  190. +2 −0  proprietary/etc/motorola/ap_flex_version.txt
  191. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio
  192. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio1_AMR_WB
  193. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio2
  194. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio2_AMR_WB
  195. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio3
  196. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio3_AMR_WB
  197. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio4
  198. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio4_AMR_WB
  199. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio5
  200. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio5_AMR_WB
  201. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio6
  202. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio7
  203. BIN  proprietary/etc/motorola/bp_nvm_default/File_Audio8
  204. BIN  proprietary/etc/motorola/bp_nvm_default/File_GPRS
  205. BIN  proprietary/etc/motorola/bp_nvm_default/File_GSM
  206. BIN  proprietary/etc/motorola/bp_nvm_default/File_Logger
  207. BIN  proprietary/etc/motorola/bp_nvm_default/File_Seem_Flex_Tables
  208. +1 −0  proprietary/etc/motorola/bp_nvm_default/File_UMA
  209. BIN  proprietary/etc/motorola/bp_nvm_default/generic_pds_init
  210. +8 −0 proprietary/etc/motorola/bplogd.conf
  211. +1 −0  proprietary/etc/motorola/comm_drv/PLMN_VERSION.txt
  212. +28 −0 proprietary/etc/motorola/comm_drv/commdrv_fs.sh
  213. +1 −0  proprietary/etc/motorola/comm_drv/mmins_cust_emergency_number.cfg
  214. +69 −0 proprietary/etc/motorola/comm_drv/mmins_settings.cfg
  215. +269 −0 proprietary/etc/motorola/comm_drv/mmins_telephony.cfg
  216. +43 −0 proprietary/etc/motorola/comm_drv/mmins_user_settings.cfg
  217. BIN  proprietary/etc/motorola/comm_drv/plmn_text_table.bin
  218. +3 −0  proprietary/etc/motorola/panic_daemon.config
  219. +166 −0 proprietary/etc/motorola/sourcePreferences.xml
  220. +8 −0 proprietary/etc/motorola/tcmd/pkiprovision.cfg
  221. +15 −0 proprietary/etc/profile
  222. +6 −0 proprietary/etc/sysctl.conf
  223. BIN  proprietary/etc/wifi/fw_tiwlan_ap.bin
  224. BIN  proprietary/etc/wifi/fw_tiwlan_ap_rfmd.bin
  225. BIN  proprietary/etc/wifi/fw_wlan1271.bin
  226. +49 −0 proprietary/etc/wifi/hostapd.conf.templet
  227. +268 −0 proprietary/etc/wifi/tiwlan.ini
  228. +281 −0 proprietary/etc/wifi/tiwlan_ap.ini
  229. +281 −0 proprietary/etc/wifi/tiwlan_ap_rfmd.ini
  230. +268 −0 proprietary/etc/wifi/tiwlan_rfmd.ini
  231. +841 −0 proprietary/etc/wifi/wpa_supplicant.conf
  232. BIN  proprietary/lib/dsp/720p_h264vdec_sn.dll64P
  233. BIN  proprietary/lib/dsp/720p_h264venc_sn.dll64P
  234. BIN  proprietary/lib/dsp/720p_mp4vdec_sn.dll64P
  235. BIN  proprietary/lib/dsp/720p_mp4venc_sn.dll64P
  236. BIN  proprietary/lib/dsp/baseimage.dof
  237. BIN  proprietary/lib/dsp/conversions.dll64P
  238. BIN  proprietary/lib/dsp/h264ingdec_sn.dll64P
  239. BIN  proprietary/lib/dsp/h264vdec_sn.dll64P
  240. BIN  proprietary/lib/dsp/h264venc_sn.dll64P
  241. BIN  proprietary/lib/dsp/jpegenc_sn.dll64P
  242. BIN  proprietary/lib/dsp/m4venc_sn.dll64P
  243. BIN  proprietary/lib/dsp/mp3dec_sn.dll64P
  244. BIN  proprietary/lib/dsp/mp4vdec_sn.dll64P
  245. BIN  proprietary/lib/dsp/mpeg4aacdec_sn.dll64P
  246. BIN  proprietary/lib/dsp/mpeg4aacenc_sn.dll64P
  247. BIN  proprietary/lib/dsp/mpeg4ingdec_sn.dll64P
  248. BIN  proprietary/lib/dsp/mpeg4ingenc_sn.dll64P
  249. BIN  proprietary/lib/dsp/nbamrdec_sn.dll64P
  250. BIN  proprietary/lib/dsp/nbamrenc_sn.dll64P
  251. BIN  proprietary/lib/dsp/postprocessor_dualout.dll64P
  252. BIN  proprietary/lib/dsp/ringio.dll64P
  253. BIN  proprietary/lib/dsp/usn.dll64P
  254. BIN  proprietary/lib/dsp/wbamrdec_sn.dll64P
  255. BIN  proprietary/lib/dsp/wbamrenc_sn.dll64P
  256. BIN  proprietary/lib/dsp/wmadec_sn.dll64P
  257. BIN  proprietary/lib/dsp/wmv9dec_sn.dll64P
  258. BIN  proprietary/lib/egl/libEGL_POWERVR_SGX530_125.so
  259. BIN  proprietary/lib/egl/libGLESv1_CM_POWERVR_SGX530_125.so
  260. BIN  proprietary/lib/egl/libGLESv2_POWERVR_SGX530_125.so
  261. BIN  proprietary/lib/egl/libeglinfo.so
  262. BIN  proprietary/lib/egl/libgles1_texture_stream.so
  263. BIN  proprietary/lib/egl/libgles2_texture_stream.so
  264. BIN  proprietary/lib/hw/gps.jordan.so
  265. BIN  proprietary/lib/hw/gralloc.omap3.so
  266. BIN  proprietary/lib/libFMRadio.so
  267. BIN  proprietary/lib/libHPImgApi.so
  268. BIN  proprietary/lib/libIMGegl.so
  269. BIN  proprietary/lib/libLCML.so
  270. BIN  proprietary/lib/libOMX.TI.720P.Decoder.so
  271. BIN  proprietary/lib/libOMX.TI.720P.Encoder.so
  272. BIN  proprietary/lib/libOMX.TI.h264.splt.Encoder.so
  273. BIN  proprietary/lib/libOMX.TI.mp4.splt.Encoder.so
  274. BIN  proprietary/lib/libPVRScopeServices.so
  275. BIN  proprietary/lib/libarcsoft.so
  276. BIN  proprietary/lib/libaudio.so
  277. BIN  proprietary/lib/libbattd.so
  278. BIN  proprietary/lib/libbayercamera.so
  279. BIN  proprietary/lib/libbridge.so
  280. BIN  proprietary/lib/libcamera.so
  281. BIN  proprietary/lib/libcaps.so
  282. BIN  proprietary/lib/libcryptoki.so
  283. BIN  proprietary/lib/libfmradio_jni.so
  284. BIN  proprietary/lib/libfmradioplayer.so
  285. BIN  proprietary/lib/libganril.so
  286. BIN  proprietary/lib/libgki.so
  287. BIN  proprietary/lib/libglslcompiler.so
  288. BIN  proprietary/lib/libgps.so
  289. BIN  proprietary/lib/libmotdb.so
  290. BIN  proprietary/lib/libmotodbgutils.so
  291. BIN  proprietary/lib/libmsl_interface.so
  292. BIN  proprietary/lib/liboemcamera.so
  293. BIN  proprietary/lib/libpanic_daemon.so
  294. BIN  proprietary/lib/libpvr2d.so
  295. BIN  proprietary/lib/libpvrANDROID_WSEGL.so
  296. BIN  proprietary/lib/libreference-ril.so
  297. BIN  proprietary/lib/libril-moto-umts-1.so
  298. BIN  proprietary/lib/librilswitch.so
  299. BIN  proprietary/lib/libsmapi.so
  300. BIN  proprietary/lib/libsmiledetect.so
Sorry, we could not display the entire diff because too many files (351) changed.
43 AndroidBoard.mk
@@ -0,0 +1,43 @@
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# AndroidBoard.mk is a legacy mechanism to deal with a few
+# edge-cases that can't be managed otherwise. No new rules
+# should be added to this file.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# Symlink keysym file that sholes looks for
+file := $(TARGET_OUT)/usr/keychars/qtouch-touchscreen.kcm.bin
+ALL_PREBUILT += $(file)
+$(file) : $(TARGET_OUT)/usr/keychars/qwerty.kcm.bin
+ @echo "Symlink: $@ -> qwerty.kcm.bin"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf qwerty.kcm.bin $@
+
+file := $(TARGET_OUT)/usr/keychars/cpcap-key.kcm.bin
+ALL_PREBUILT += $(file)
+$(file) : $(TARGET_OUT)/usr/keychars/qwerty.kcm.bin
+ @echo "Symlink: $@ -> qwerty.kcm.bin"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf qwerty.kcm.bin $@
+
+# include the non-open-source counterpart to this file
+-include vendor/motorola/jordan/AndroidBoardVendor.mk
21 AndroidProducts.mk
@@ -0,0 +1,21 @@
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This file lists the product definition files that define
+# configurations which are actually buildable (e.g. through lunch)
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/jordan.mk
96 BoardConfig.mk
@@ -0,0 +1,96 @@
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This file sets variables that control the way modules are built
+# thorughout the system. It should not be used to conditionally
+# disable makefiles (the proper mechanism to control what gets
+# included in a build is to use PRODUCT_PACKAGES in a product
+# definition file).
+#
+
+# WARNING: This line must come *before* including the proprietary
+# variant, so that it gets overwritten by the parent (which goes
+# against the traditional rules of inheritance).
+
+USE_CAMERA_STUB := false
+BOARD_USES_GENERIC_AUDIO := false
+
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_PREINSTALL := true
+TARGET_BOOTLOADER_BOARD_NAME := jordan
+
+#Board properties
+
+TARGET_BOARD_PLATFORM := omap3
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+TARGET_ARCH_VARIANT := armv7-a-neon
+TARGET_GLOBAL_CFLAGS += -mtune=cortex-a8
+TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a8
+TARGET_OMAP3 := true
+OMAP_ENHANCEMENT := true
+COMMON_GLOBAL_CFLAGS += -DOMAP_ENHANCEMENT
+COMMON_GLOBAL_CFLAGS += -DTARGET_OMAP3
+
+
+# Wifi related defines
+BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := libCustomWifi
+WPA_SUPPLICANT_VERSION := VER_0_6_X
+BOARD_WLAN_DEVICE := tiwlan0
+#BOARD_SOFTAP_DEVICE := tiwlan0
+WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/tiwlan_drv.ko"
+BOARD_WLAN_TI_STA_DK_ROOT := system/wlan/ti/wilink_6_1
+WIFI_DRIVER_MODULE_ARG := ""
+WIFI_DRIVER_MODULE_NAME := "tiwlan_drv"
+WIFI_FIRMWARE_LOADER := "wlan_loader"
+
+
+BOARD_USE_FROYO_LIBCAMERA := true
+BOARD_USE_YUV422I_DEFAULT_COLORFORMAT := true
+BOARD_EGL_CFG := device/motorola/jordan/egl.cfg
+
+BOARD_HAVE_BLUETOOTH := true
+
+BOARD_BOOTIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00280000)
+BOARD_RECOVERYIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00500000)
+BOARD_SYSTEMIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x07500000)
+BOARD_USERDATAIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x04ac0000)
+BOARD_FLASH_BLOCK_SIZE := 131072
+
+#Recovery
+BOARD_CUSTOM_RECOVERY_KEYMAPPING:= ../../device/motorola/jordan/recovery_ui.c
+BOARD_HAS_NO_MISC_PARTITION := true
+BOARD_RECOVERY_IGNORE_BOOTABLES := true
+BOARD_DATA_DEVICE := /dev/block/mmcblk1p25
+BOARD_DATA_FILESYSTEM := ext3
+BOARD_SYSTEM_DEVICE := /dev/block/mmcblk1p21
+BOARD_SYSTEM_FILESYSTEM := ext3
+BOARD_CACHE_DEVICE := /dev/block/mmcblk1p24
+BOARD_CACHE_FILESYSTEM := ext3
+BOARD_HAS_SMALL_RECOVERY := true
+#TARGET_RECOVERY_UI_LIB := librecovery_ui_sholes librecovery_ui_generic
+#TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_generic
+
+HARDWARE_OMX := true
+BUILD_WITH_TI_AUDIO := 1
+BUILD_PV_VIDEO_ENCODERS := 1
+
+#BOARD_GPS_LIBRARIES := libgps
+#BOARD_USES_GPSSHIM := true
+#BOARD_GPS_NEEDS_XTRA := true
+#BOARD_GPS_BAD_AGPS := true
+
+BOARD_NO_RGBX_8888 := true
49 CleanSpec.mk
@@ -0,0 +1,49 @@
+# Copyright (C) 2007 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# If you don't need to do a full clean build but would like to touch
+# a file or delete some intermediate files, add a clean step to the end
+# of the list. These steps will only be run once, if they haven't been
+# run before.
+#
+# E.g.:
+# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
+# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
+#
+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
+# files that are missing or have been moved.
+#
+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
+# Use $(OUT_DIR) to refer to the "out" directory.
+#
+# If you need to re-do something that's already mentioned, just copy
+# the command and add it to the bottom of the list. E.g., if a change
+# that you made last week required touching a file and a change you
+# made today requires touching the same file, just copy the old
+# touch step and add it to the end of the list.
+#
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+
+# For example:
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
+
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
63 README
@@ -0,0 +1,63 @@
+CyanogenMod 7.1 for Motorola Defy (Android 2.3.4 AOSP)
+
+
+Download:
+=========
+
+repo init -u git://github.com/Quarx2k/android.git -b gingerbread
+
+or as alternative, automerged with quarx and cyanogen every 6 hours :
+
+repo init -u git://github.com/tpruvot/android.git -b gingerbread
+
+repo sync
+
+
+Download RomManager:
+====================
+
+mkdir vendor/cyanogen/proprietary
+cd vendor/cyanogen/proprietary
+wget http://mirror.kanged.net/recoveries/RomManager.apk
+
+RomManager is not compatible with Motorola Defy,
+you can remove it from rom build system because it needs a real Recovery Image
+
+
+Build:
+======
+
+optional :
+ export PLATFORM_DIR=$(pwd)
+ export ARCH=arm
+ export CROSS_COMPILE=arm-eabi-
+ export TARGET_OUT_INTERMEDIATES=out
+ export JAVA_HOME=/usr/lib/jvm/java-6-sun
+ export BOARD_USES_QCOM_HARDWARE=true
+ export PATH=$PLATFORM_DIR/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$JAVA_HOME/bin:$PATH
+ cd $PLATFORM_DIR
+
+ export CYANOGEN_NIGHTLY=true
+
+rm -rf out/target
+
+. build/envsetup.sh
+
+brunch jordan
+
+or...
+
+lunch cyanogen_jordan-eng
+mka bacon
+
+or (to skip recovery and boot image)
+
+mka out/target/product/jordan/system.img
+
+
+Links:
+======
+FAQ : http://forum.xda-developers.com/showthread.php?t=1065798
+
+Original Thread : http://forum.xda-developers.com/showthread.php?t=1033654
+
1,315 apns-conf.xml
1,315 additions, 0 deletions not shown
BIN  boot.img
Binary file not shown
1  egl.cfg
@@ -0,0 +1 @@
+0 1 POWERVR_SGX530_125
514 init.mapphone_umts.rc
@@ -0,0 +1,514 @@
+on init
+
+# Backward compatibility
+ symlink /dev /dev/netmux
+
+# prepare generic keypad name
+ exec /init_prep_keypad.sh
+
+ #mount ext3 mmc@system /system ro noatime nodiratime remount
+
+ mount rootfs rootfs / rw remount
+
+ symlink /dev/ttyGS0 /dev/acm0
+
+# Create mountpoints and mount tmpfs
+ mkdir /pds 0775 system system
+ mkdir /tmp 0777 system system
+ mount tmpfs tmpfs /tmp size=2m
+
+# Configure kernel options
+ # Enable automatic power control for EHCI USB IPC
+ write /sys/devices/platform/ehci-omap.0/usb1/power/level auto
+ write /sys/devices/platform/ehci-omap.0/usb1/power/autosuspend 0
+ write /sys/devices/platform/ehci-omap.0/usb1/1-3/power/level auto
+ write /sys/devices/platform/ehci-omap.0/usb1/1-3/power/autosuspend 0
+ # Reset system time
+ write /sys/class/rtc/rtc0/unsecured_rtc on
+
+ # Disable a system-wide task dump on OOM in default
+ write /proc/sys/vm/oom_dump_tasks 0
+ write /proc/sys/fs/suid_dumpable 2
+
+ # Power Management
+ write /sys/power/sleep_while_idle 1
+ write /sys/power/enable_off_mode 1
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold 86
+ write /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate 46875
+ write /sys/power/sr_vdd1_autocomp 1
+ write /sys/power/sr_vdd2_autocomp 1
+ write /sys/power/enable_abb_mode 1
+ write /sys/block/mmcblk0/bdi/read_ahead_kb 0 #test sd card.
+# Change ownership for vibrators
+ chown system system /sys/class/timed_output/lvibrator/enable
+ chown system system /sys/class/timed_output/vibrator/enable
+
+# Change permission of vibrators
+ chmod 0660 /sys/class/timed_output/lvibrator/enable
+ chmod 0660 /sys/class/timed_output/vibrator/enable
+
+# Mount mtd partitions
+ # mount /pds as r/w
+ # We chown/chmod /pds again so because mount is run as root + defaults
+ exec /system/bin/logwrapper /system/bin/mount_ext3.sh pds /pds
+ chown system system /pds
+ chmod 0775 /pds
+
+ mkdir /pds/comm_drv 0770 radio radio
+
+ mkdir /pds/public 0775 system shell
+ chown system shell /pds/public
+ chmod 0775 /pds/public
+
+# Create basic filesystem structure
+ # create moto specific dirs for mystuff
+ mkdir /data/download 0775 system system
+ mkdir /data/download/mystuff 0775 system system
+
+ # create moto specific dirs for wifi
+ mkdir /data/system 0771 system system
+ # wifi dirs
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+ mkdir /pds/wifi 0771 wifi wifi
+
+ mkdir /data/comm_drv 0770 radio radio
+ mkdir /data/gki 0770 radio radio
+ mkdir /tmp/commdrv 0770 radio radio
+
+
+ # bluetooth power up/down interface
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chmod 0660 /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill1/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill1/state
+ chmod 0660 /sys/class/rfkill/rfkill1/state
+
+
+ # following two dirs are for storing BP Flex and PDS files. NVM Daemon is using these folders
+ mkdir /data/bp_nvm
+ chown radio radio /data/bp_nvm
+ chmod 0770 /data/bp_nvm
+
+ mkdir /pds/bp_nvm
+ chown radio radio /pds/bp_nvm
+ chmod 0770 /pds/bp_nvm
+
+
+ # create logger folder
+ mkdir /data/logger 0770 radio log
+ chown radio log /data/logger
+ chmod 0770 /data/logger
+ mkdir /data/panicreports
+ chown root radio /data/panicreports
+ chmod 0777 /data/panicreports
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /pds/lost+found 0770
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /pds/lost+found
+ chmod 0770 /pds/lost+found
+
+ #Create location directory
+ mkdir /data/location 0771 radio radio
+
+ #Create opprof directory
+ mkdir /data/opprof 0770 radio shell
+
+ # Create anr directory and change permission to 777 to save trace.txt
+ mkdir /data/anr
+ chmod 0777 /data/anr
+
+# create the necessary dirs for tpapi with proper permission
+ mkdir /pds/security
+ mkdir /data/tpapi
+ mkdir /data/tpapi/etc
+ mkdir /data/tpapi/etc/tpa
+ mkdir /data/tpapi/etc/tpa/persistent
+ chmod 2770 /pds/security
+ chmod 2770 /data/tpapi
+ chmod 2770 /data/tpapi/etc
+ chmod 2770 /data/tpapi/etc/tpa
+ chmod 2770 /data/tpapi/etc/tpa/persistent
+ chown mot_tpapi mot_tpapi /pds/security
+ chown mot_tpapi mot_tpapi /data/tpapi
+ chown mot_tpapi mot_tpapi /data/tpapi/etc
+ chown mot_tpapi mot_tpapi /data/tpapi/etc/tpa
+ chown mot_tpapi mot_tpapi /data/tpapi/etc/tpa/persistent
+
+ # Create wmdrm directory
+ mkdir /pds/wmdrm 0775 mot_drm mot_drm
+
+ # Temp workaround for HP library cleanup
+ symlink /dev/hp3a-omap /dev/hp3A-omap
+
+ # Enable ADB mode
+ # write /dev/usb_device_mode msc_adb
+
+# Permissions for video
+ chmod 0770 /dev/hp3a-omap
+ chmod 0770 /dev/hplens-omap
+ chmod 0770 /dev/video0
+ chmod 0770 /dev/video1
+ chmod 0770 /dev/video2
+ chown media camera /dev/hp3a-omap
+ chown media camera /dev/hplens-omap
+ chown media camera /dev/video0
+ chown media graphics /dev/video1
+ chown media graphics /dev/video2
+
+
+mount rootfs rootfs / ro remount
+
+on early-boot
+
+# Install BP related kernel modules
+ #Start the engine modules for netmux first for other daemons depends on it
+ insmod /system/lib/modules/netmux.ko
+ insmod /system/lib/modules/netmux_linkdriver.ko
+ insmod /system/lib/modules/sec.ko
+ insmod /system/lib/modules/modem_pm_driver.ko
+ insmod /system/lib/modules/kineto_gan.ko
+ #insmod /system/lib/modules/vpnclient.ko
+ insmod /system/lib/modules/tun.ko
+
+# Adjust the out of memory thresholds to account for the larget
+# space on sholes. These numbers are in pages (4k). Must be kept
+# in sync with init.rc. This must be done before the regular init.rc
+# since these properies can't change once set.
+ setprop ro.FOREGROUND_APP_MEM 3072
+ setprop ro.VISIBLE_APP_MEM 4608
+ setprop ro.SECONDARY_SERVER_MEM 9216
+ setprop ro.BACKUP_APP_MEM 9216
+ setprop ro.HOME_APP_MEM 9216
+ setprop ro.HIDDEN_APP_MEM 10752
+ setprop ro.CONTENT_PROVIDER_MEM 12288
+ setprop ro.EMPTY_APP_MEM 12288
+
+ chmod 0666 /dev/DspBridge
+ class_start media_early_init
+
+on boot
+
+# Overwrite what init.rc selected for the memory killer params to match above.
+
+ write /sys/module/lowmemorykiller/parameters/minfree 3072,4608,9216,10752,12288,12288
+
+# Change the ownership of led files.
+ chown system system /sys/class/leds/lcd-backlight/als
+ chown system system /sys/class/leds/lcd-backlight/pwm_mode
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chmod 0660 /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chmod 0660 /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/keyboard1-backlight/brightness
+ chmod 0660 /sys/class/leds/keyboard1-backlight/brightness
+ chown system system /sys/class/leds/keyboard2-backlight/brightness
+ chmod 0660 /sys/class/leds/keyboard2-backlight/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chmod 0660 /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/red/blink
+ chmod 0660 /sys/class/leds/red/blink
+ chown system system /sys/class/leds/red/brightness
+ chmod 0660 /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chmod 0660 /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chmod 0660 /sys/class/leds/blue/brightness
+ chmod 0660 /sys/class/leds/torch-flash/camera_strobe
+ chmod 0660 /sys/class/leds/torch-flash/flash_light
+ chown system system /sys/class/leds/torch-flash/camera_strobe
+ chown system system /sys/class/leds/torch-flash/flash_light
+ chown system system /sys/class/leds/spotlight/brightness
+ chmod 0660 /sys/class/backlight/adp8870_bl/brightness
+ chown system system /sys/class/backlight/adp8870_bl/brightness
+ chmod 0660 /sys/class/leds/adp8870-led7/brightness
+ chown system system /sys/class/leds/adp8870-led7/brightness
+ chmod 0666 /sys/class/leds/spotlight/brightness
+
+# Define TCP buffer sizes for various networks
+# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
+ setprop net.tcp.buffersize.umts 64000,128000,256000,4096,16384,110208
+ setprop net.tcp.buffersize.edge 16384,35040,65536,4096,16384,35040
+
+# Camera related
+ chmod 0660 /dev/hplens-omap
+ chown media camera /dev/hplens-omap
+
+# Enable panic on softlockup
+ write /proc/sys/kernel/softlockup_panic 1
+
+# Start services
+ exec /system/bin/mot_boot_mode
+
+# Set core max size (2G)
+ setrlimit 4 2147483648 2147483648
+
+# The properties introduced by moto
+on property:sys.chargeonly.mode=1
+ start battd
+ start console
+ write /data/simpin lock
+ exec /system/bin/charge_only_mode
+# Power up to normal
+on property:tcmd.suspend=0
+ class_start pre-zygote_services
+ class_start zygote_services
+ class_start post-zygote_services
+# Power up to suspend
+on property:tcmd.suspend=1
+ class_start pre-zygote_services
+ class_start post-zygote_services
+# Normal to suspend
+on property:tcmd.suspend=2
+ class_stop zygote_services
+
+# Moto safe power down
+on property:sys.reboot=1
+ stop ssmgrd
+ exec /system/bin/sleep 10
+ exec /system/bin/reboot
+on property:sys.shutdown=1
+ stop ssmgrd
+ exec /system/bin/sleep 10
+ exec /system/bin/reboot -p
+
+on property:init.svc.wpa_supplicant=stopped
+ stop dhcpcd
+
+#service telnet /system/bin/telnetd
+# class pre-zygote_services
+# oneshot
+
+service usbd /system/bin/usbd
+ class pre-zygote_services
+
+service nvm-daemon /system/bin/nvm_daemon
+ class pre-zygote_services
+ user radio
+ group radio
+
+# start commdrv pds script
+service start_commdrv /system/bin/sh /system/etc/motorola/comm_drv/commdrv_fs.sh
+ class pre-zygote_services
+ oneshot
+ user radio
+ group radio system cache
+
+service gkisystem /system/bin/gkisystem
+ class pre-zygote_services
+ socket location_shim stream 660 radio system
+ socket gpshal_socket stream 660 radio system
+ socket opprofdaemon stream 660 radio system
+ socket gkilog_sock stream 660 radio radio
+ group radio system mot_accy mot_secclkd
+ onrestart exec /system/bin/gki_pd_notifier
+
+
+service rild_tcmd /system/bin/rild_tcmd
+ class pre-zygote_services
+ socket rild_tcmd stream 0660 radio mot_tcmd
+ user radio
+ group radio
+
+service battd /system/bin/battd
+ class pre-zygote_services
+ socket battdsock stream 0660 mot_accy mot_accy
+ user root
+ group mot_accy mot_pwric
+ oneshot
+
+service bplogd_daemon /system/bin/bplogd_daemon
+ class pre-zygote_services
+ socket dlog_cmds stream 660 radio log
+ socket bp_pd_status stream 660 radio log
+ socket bp_aol_cmd stream 666 radio log
+ user radio
+ group radio inet log sdcard_rw mount
+ oneshot
+
+service ssmgrd /system/xbin/ssmgrd
+ class post-zygote_services
+ group radio input mot_pwric
+ oneshot
+
+service hciattach /system/bin/hciattach -n -t 10 /dev/ttyS1 texasalt 3000000 flow
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+
+service hciattach_rfmd /system/bin/hciattach -n -t 10 /dev/ttyS1 texasalt_rfmd 3000000 flow
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+
+#service btdhcpd /system/bin/dnsmasq -C /etc/btpan.conf
+# class post-zygote_services
+# user root
+# disabled
+# oneshot
+
+service map /system/bin/sdptool add --channel=20 --network=1 MAP
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+#service tcmd /system/bin/tcmd
+# class post-zygote_services
+# group mot_tcmd radio mot_pwric input system log camera graphics mot_accy sdcard_rw audio inet bluetooth wifi compass #net_bt_admin mot_tombstone mot_tpapi mount
+# socket local_tcmd stream 0660 mot_tcmd mot_tcmd
+# socket batch_socket stream 0600 mot_tcmd mot_tcmd
+# oneshot
+
+service tcmdhelp /system/bin/tcmdhelp
+ class post-zygote_services
+ socket tcmdhelp stream 0600 mot_tcmd mot_tcmd
+ oneshot
+ disabled
+
+# turn on wifi for tcmd step one
+on property:tcmd.load_wlan=1
+ insmod /system/lib/modules/tiwlan_drv.ko
+# turn on wifi for tcmd step two
+on property:tcmd.load_wlan=2
+ start wlan_loader
+# turn on wifi for tcmd step three
+on property:tcmd.load_wlan=3
+ exec /system/bin/ifconfig tiwlan0 up
+# turn off wifi for tcmd step one
+on property:tcmd.unload_wlan=1
+ exec /system/bin/ifconfig tiwlan0 down
+# turn off wifi for tcmd step two
+on property:tcmd.unload_wlan=2
+ exec /system/bin/rmmod tiwlan_drv
+ setprop wlan.driver.status unloaded
+
+# turn on bluetooth for FM tcmd
+on property:tcmd.fm_mod=1
+ stop hciattach
+ stop hciattach_rfmd
+ start bt_init
+# turn off bluetooth for FM tcmd
+on property:tcmd.fm_mod=0
+ stop hciattach
+ stop hciattach_rfmd
+# turn on bluetooth for tcmd
+on property:tcmd.bt_mod=1
+ stop hciattach
+ stop hciattach_rfmd
+ insmod /system/lib/modules/wl127x_test.ko
+#turn off bluetooth for tcmd
+on property:tcmd.bt_mod=0
+ exec /system/bin/rmmod wl127x_test
+#execute tcmdhelp
+on property:tcmd.start_tcmdhelp=1
+ start tcmdhelp
+
+service panic_daemon /system/bin/panic_daemon
+ class post-zygote_services
+ user radio
+ group log radio system graphics sdcard_rw
+ socket panic_daemon stream 660 radio radio
+ onrestart exec /system/bin/reboot
+
+# Ecompass daemon
+service akmd2 /system/bin/akmd2
+ class post-zygote_services
+ user compass
+ group compass misc input
+
+service wlan_loader /system/bin/wlan_loader -f /system/etc/wifi/fw_wlan1271.bin -i /system/etc/wifi/tiwlan.ini -e /pds/wifi/nvs_map.bin
+ class post-zygote_services
+ disabled
+ oneshot
+
+service wpa_supplicant /system/bin/wpa_supplicant -Dtiwlan0 -itiwlan0 -c/data/misc/wifi/wpa_supplicant.conf
+ class post-zygote_services
+
+# we will start as root and wpa_supplicant will switch to user wifi
+# after setting up the capabilities required for WEXT
+# user wifi
+# group wifi inet keystore
+ socket wpa_tiwlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+service dhcpcd_tiwlan0 /system/bin/dhcpcd -ABKL tiwlan0
+ class post-zygote_services
+ disabled
+ oneshot
+service autoip /system/bin/dhcpcd -BK tiwlan0
+ class post-zygote_services
+ disabled
+ oneshot
+service btdhcpcd /system/bin/dhcpcd -ABKL bnep0
+ class post-zygote_services
+ disabled
+ oneshot
+service btautoip /system/bin/dhcpcd -BK bnep0
+ class post-zygote_services
+ disabled
+ oneshot
+service baseimage /system/bin/dspexec -v -T /system/lib/dsp/baseimage.dof
+ class media_early_init
+ user media
+ group media graphics
+ oneshot
+service pvrsrv /system/bin/pvrsrvinit
+ class post-zygote_services
+ user root
+ oneshot
+
+service pppd /system/bin/pppd silent ipparam dun plugin /system/lib/libpppd_plugin.so
+ class post-zygote_services
+ user root
+ disabled
+ oneshot
+
+service locDrv /system/bin/brcm_guci_drv -config /system/etc/gpsconfig.xml
+ class post-zygote_services
+ user radio
+ group radio inet sdcard_rw
+
+#service modemlog /system/bin/modemlog
+# class pre-zygote_services
+# oneshot
+
+# aplogd is controlled by the persist.service.aplogd.enable system property
+#service aplogd /system/bin/aplogd
+# class post-zygote_services
+# socket ap_aol_cmd stream 666 system system
+# group log system sdcard_rw
+# oneshot
+
+service gkilogd /system/bin/gkilogd
+ class post-zygote_services
+ socket gki_aol_cmd stream 660 radio log
+ user radio
+ group radio log sdcard_rw
+
+service fmradio /system/bin/fmradioserver
+ class post-zygote_services
+ disabled
+ group bluetooth
+
+#start Authentec VPN service
+#service vpnclientpm /system/bin/vpnclientpm
+# class post-zygote_services
+# oneshot
+# user root
+
+#IKCBS-226 start RescueStarter for MobileRescue
+#service RescueStarter /system/bin/RescueStarter
+# user nobody
+# group input graphics
+# class post-zygote_services
497 init.rc
@@ -0,0 +1,497 @@
+on init
+
+sysclktz 0
+
+loglevel 3
+
+# setup the global environment
+ export PATH /sbin:/system/sbin:/system/bin:/system/xbin
+ export LD_LIBRARY_PATH /system/lib
+ export ANDROID_BOOTLOGO 1
+ export ANDROID_CACHE /cache
+ export ANDROID_ROOT /system
+ export ANDROID_ASSETS /system/app
+ export ANDROID_DATA /data
+ export DOWNLOAD_CACHE /cache/download
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export ASEC_MOUNTPOINT /mnt/asec
+ export LOOP_MOUNTPOINT /mnt/obb
+ export SD_EXT_DIRECTORY /sd-ext
+ export BOOTCLASSPATH /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
+
+# Backward compatibility
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+ mkdir /mnt/sdcard 0000 system system
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+
+# Backwards Compat - XXX: Going away in G*
+ symlink /mnt/sdcard /sdcard
+
+ mkdir /system
+ mkdir /data 0771 system system
+ mkdir /cache 0771 system cache
+
+# mkdir /config 0500 root root
+
+ # Directory for putting things only root should see.
+ mkdir /mnt/secure 0700 root root
+
+ # Directory for staging bindmounts
+ mkdir /mnt/secure/staging 0700 root root
+
+ # Directory-target for where the secure container
+ # imagefile directory will be bind-mounted
+ mkdir /mnt/secure/asec 0700 root root
+
+ # Secure container public mount points.
+ mkdir /mnt/asec 0700 root system
+ mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
+
+ mkdir /sd-ext 0771 system system
+
+ # Filesystem image public mount points.
+ mkdir /mnt/obb 0700 root system
+ mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
+
+ mount rootfs rootfs / ro remount
+
+
+ write /proc/sys/kernel/panic_on_oops 1
+ write /proc/sys/kernel/hung_task_timeout_secs 0
+ write /proc/cpu/alignment 4
+ write /proc/sys/kernel/sched_latency_ns 10000000
+ write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ write /proc/sys/kernel/sched_compat_yield 1
+ write /proc/sys/kernel/sched_child_runs_first 0
+
+# Create cgroup mount points for process groups
+ mkdir /dev/cpuctl
+ mount cgroup none /dev/cpuctl cpu
+ chown system system /dev/cpuctl
+ chown system system /dev/cpuctl/tasks
+ chmod 0777 /dev/cpuctl/tasks
+ write /dev/cpuctl/cpu.shares 1024
+
+ mkdir /dev/cpuctl/fg_boost
+ chown system system /dev/cpuctl/fg_boost/tasks
+ chmod 0777 /dev/cpuctl/fg_boost/tasks
+ write /dev/cpuctl/fg_boost/cpu.shares 1024
+
+ mkdir /dev/cpuctl/bg_non_interactive
+ chown system system /dev/cpuctl/bg_non_interactive/tasks
+ chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
+ # 5.0 %
+ write /dev/cpuctl/bg_non_interactive/cpu.shares 52
+
+# mount mtd partitions
+ # Mount /system rw first to give the filesystem a chance to save a checkpoint
+# mount yaffs2 mtd@system /system
+# mount yaffs2 mtd@system /system ro remount
+# exec /system/bin/logwrapper /system/bin/mount_ext3.sh userdata /data
+ # We chown/chmod /data again so because mount is run as root + defaults
+# mount yaffs2 mtd@userdata /data nosuid nodev
+
+ chown system system /data
+ chmod 0771 /data
+
+ # Mount compressed filesystems
+ #mount squashfs loop@/system/lib/modules/modules.sqf /system/lib/modules ro
+ #mount squashfs loop@/system/xbin/xbin.sqf /system/xbin ro
+
+ # Create dump dir and collect dumps.
+ # Do this before we mount cache so eventually we can use cache for
+ # storing dumps on platforms which do not have a dedicated dump partition.
+
+ mkdir /data/dontpanic
+ chown root log /data/dontpanic
+ chmod 0777 /data/dontpanic
+
+ # Collect apanic data, free resources and re-arm trigger
+ copy /proc/apanic_console /data/dontpanic/apanic_console
+ chown root log /data/dontpanic/apanic_console
+ chmod 0777 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0777 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
+ # Same reason as /data above
+ # mount yaffs2 mtd@cache /cache nosuid nodev
+ exec /system/bin/logwrapper /system/bin/mount_ext3.sh cache /cache
+ chown system cache /cache
+ chmod 0771 /cache
+ mkdir /cache/download 0777 system cache
+
+ # This may have been created by the recovery system with odd permissions
+ chown system cache /cache/recovery
+ chmod 0770 /cache/recovery
+
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+
+# create basic filesystem structure
+ mkdir /data/misc 01771 system misc
+ mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetooth 0770 system system
+ mkdir /data/misc/keystore 0700 keystore keystore
+ mkdir /data/misc/vpn 0770 system system
+ mkdir /data/misc/systemkeys 0700 system system
+ mkdir /data/misc/vpn/profiles 0770 system system
+ # give system access to wpa_supplicant.conf for backup and restore
+ mkdir /data/misc/wifi 0770 wifi wifi
+ chmod 0770 /data/misc/wifi
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/misc/wifi/hostapd.sockets 0770 wifi wifi
+ chown mot_tcmd shell /data/local
+ chown mot_tcmd shell /data/local/12m
+ chown mot_tcmd shell /data/local/12m/batch
+ mkdir /data/local 0771 mot_tcmd shell
+ mkdir /data/local/tmp 0771 mot_tcmd shell
+ mkdir /data/data 0771 system system
+ mkdir /data/app-private 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+ mkdir /data/dropbear 0755 root shell
+
+ # create dalvik-cache and double-check the perms
+ mkdir /data/dalvik-cache 0771 system system
+ chown system system /data/dalvik-cache
+ chmod 0771 /data/dalvik-cache
+
+ mkdir /cache/dalvik-cache 0771 system system
+ chown system system /cache/dalvik-cache
+ chmod 0771 /cache/dalvik-cache
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /data/lost+found 0770
+ mkdir /cache/lost+found 0770
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /data/lost+found
+ chmod 0770 /data/lost+found
+ chown root root /cache/lost+found
+ chmod 0770 /cache/lost+found
+
+ # allow net_raw to have access to /dev/socket directory
+ chown root net_raw /dev/socket
+ chmod 0775 /dev/socket
+
+ # allow system to modify cpufreq control files
+ chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+ chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+ chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
+on boot
+# basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+# set RLIMIT_NICE to allow priorities from 19 to -20
+ setrlimit 13 40 40
+
+# Define the oom_adj values for the classes of processes that can be
+# killed by the kernel. These are used in ActivityManagerService.
+ setprop ro.FOREGROUND_APP_ADJ 0
+ setprop ro.VISIBLE_APP_ADJ 1
+ setprop ro.PERCEPTIBLE_APP_ADJ 0
+ setprop ro.HEAVY_WEIGHT_APP_ADJ 3
+ setprop ro.SECONDARY_SERVER_ADJ 4
+ setprop ro.BACKUP_APP_ADJ 5
+ setprop ro.HOME_APP_ADJ 6
+ setprop ro.HIDDEN_APP_MIN_ADJ 7
+ setprop ro.EMPTY_APP_ADJ 15
+
+# Define the memory thresholds at which the above process classes will
+# be killed. These numbers are in pages (4k).
+ setprop ro.FOREGROUND_APP_MEM 1536
+ setprop ro.VISIBLE_APP_MEM 2048
+ setprop ro.PERCEPTIBLE_APP_MEM 1536
+ setprop ro.HEAVY_WEIGHT_APP_MEM 4096
+ setprop ro.SECONDARY_SERVER_MEM 6144
+ setprop ro.BACKUP_APP_MEM 6144
+ setprop ro.HOME_APP_MEM 3072
+ setprop ro.HIDDEN_APP_MEM 6144
+ setprop ro.EMPTY_APP_MEM 8192
+
+# Write value must be consistent with the above properties.
+# Note that the driver only supports 6 slots, so we have combined some of
+# the classes into the same memory level; the associated processes of higher
+# classes will still be killed first.
+ write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
+
+ write /proc/sys/vm/overcommit_memory 1
+ write /proc/sys/vm/min_free_order_shift 4
+ write /proc/sys/vm/min_free_kbytes 4096
+
+ write /sys/module/lowmemorykiller/parameters/minfree 2048,3072,6144,7168,8192,8192
+
+ # Set init its forked children's oom_adj.
+ write /proc/1/oom_adj -16
+
+ # Tweak background writeout
+ write /proc/sys/vm/dirty_expire_centisecs 200
+ write /proc/sys/vm/dirty_background_ratio 5
+
+ # Permissions for System Server and daemons.
+ chown radio system /sys/android_power/state
+ chown radio system /sys/android_power/request_state
+ chown radio system /sys/android_power/acquire_full_wake_lock
+ chown radio system /sys/android_power/acquire_partial_wake_lock
+ chown radio system /sys/android_power/release_wake_lock
+ chown radio system /sys/power/state
+ chown radio system /sys/power/wake_lock
+ chown radio system /sys/power/wake_unlock
+ chown radio system /sys/camera_led_status/led_ril_status
+ chown system system /sys/camera_led_status/led_wimax_status
+ chown system system /sys/camera_led_status/led_hotspot_status
+ chown media system /sys/android_camera/cam_mode
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ chmod 0666 /sys/class/leds/spotlight/brightness
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
+ chown system system /sys/class/leds/vtkey-backlight/brightness
+ chown system system /sys/class/leds/caps/brightness
+ chown system system /sys/class/leds/func/brightness
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/amber/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/leds/green/blink
+ chown system system /sys/class/leds/green/off_timer
+ chown system system /sys/class/leds/amber/blink
+ chown system system /sys/class/leds/amber/off_timer
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown system system /sys/kernel/ipv4/tcp_wmem_min
+ chown system system /sys/kernel/ipv4/tcp_wmem_def
+ chown system system /sys/kernel/ipv4/tcp_wmem_max
+ chown system system /sys/kernel/ipv4/tcp_rmem_min
+ chown system system /sys/kernel/ipv4/tcp_rmem_def
+ chown system system /sys/kernel/ipv4/tcp_rmem_max
+ chown root radio /proc/cmdline
+
+# Define TCP buffer sizes for various networks
+# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
+ setprop net.tcp.buffersize.default 65536,131072,262144,65536,131072,262144
+ setprop net.tcp.buffersize.wifi 65536,131072,262144,65536,131072,262144
+ setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
+ setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
+
+# Include extra init file
+ import /system/etc/init.local.rc
+
+# Run sysinit
+ exec /system/bin/sysinit
+# class_start default
+
+service console /system/bin/sh
+ class pre-zygote_services
+ console
+ disabled
+ user shell
+ group log
+
+on property:ro.secure=0
+ start console
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+ class pre-zygote_services
+ disabled
+
+# adbd on at boot in emulator
+on property:ro.kernel.qemu=1
+ start adbd
+
+on property:persist.service.adb.enable=1
+ start adbd
+
+on property:persist.service.adb.enable=0
+ stop adbd
+
+service servicemanager /system/bin/servicemanager
+ class pre-zygote_services
+ user system
+ critical
+ onrestart restart zygote
+ onrestart restart media
+
+service vold /system/bin/vold
+ class pre-zygote_services
+ socket vold stream 0660 root mount
+ ioprio be 2
+
+service netd /system/bin/netd
+ class pre-zygote_services
+ socket netd stream 0660 root system
+
+service debuggerd /system/bin/debuggerd
+ class pre-zygote_services
+
+service ril-daemon /system/bin/rild
+ class pre-zygote_services
+ socket rild stream 660 root radio
+ socket rild-debug stream 660 radio system
+ user root
+ group radio cache inet misc system audio sdcard_rw net_admin net_raw
+
+service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
+ class zygote_services
+ socket zygote stream 666
+ onrestart write /sys/android_power/request_state wake
+ onrestart write /sys/power/state on
+ onrestart restart media
+ onrestart restart netd
+
+service media /system/bin/mediaserver
+ class zygote_services
+ user media
+ group system audio camera graphics inet net_bt net_bt_admin net_raw mot_drm input mot_tpapi mot_secclkd sdcard_rw
+ ioprio rt 4
+
+service bootanim /system/bin/bootanimation
+ class post-zygote_services
+ user graphics
+ group graphics
+ disabled
+ oneshot
+
+service dbus /system/bin/dbus-daemon --system --nofork
+ class post-zygote_services
+ socket dbus stream 660 bluetooth bluetooth
+ user bluetooth
+ group bluetooth net_bt_admin
+
+service bluetoothd /system/bin/bluetoothd -n
+ class post-zygote_services
+ socket bluetooth stream 660 bluetooth bluetooth
+ socket dbus_bluetooth stream 660 bluetooth bluetooth
+ # init.rc does not yet support applying capabilities, so run as root and
+ # let bluetoothd drop uid to bluetooth with the right linux capabilities
+ group bluetooth net_bt_admin misc
+ disabled
+
+service hfag /system/bin/sdptool add --channel=10 HFAG
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service opush /system/bin/sdptool add --channel=12 OPUSH
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service pbap /system/bin/sdptool add --channel=19 PBAP
+ class post-zygote_services
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service installd /system/bin/installd
+ class post-zygote_services
+ socket installd stream 600 system system
+
+service racoon /system/bin/racoon
+ class post-zygote_services
+ socket racoon stream 600 system system
+ # racoon will setuid to vpn after getting necessary resources.
+ group net_admin
+ disabled
+ oneshot
+
+service mtpd /system/bin/mtpd
+ class post-zygote_services
+ socket mtpd stream 600 system system
+ user vpn
+ group vpn net_admin net_raw
+ disabled
+ oneshot
+
+service keystore /system/bin/keystore /data/misc/keystore
+ class post-zygote_services
+ user keystore
+ group keystore
+ socket keystore stream 666
+
+service dumpstate /system/bin/dumpstate -s
+ class post-zygote_services
+ socket dumpstate stream 0660 shell log
+ disabled
+ oneshot
+
+service ap_fmloader /system/bin/wlan_loader -f /system/etc/wifi/fw_tiwlan_ap.bin -i /system/etc/wifi/tiwlan_ap.ini -e /pds/wifi/nvs_map.bin
+ class post-zygote_services
+ disabled
+ oneshot
+
+service hostapd /system/bin/Hostapd -d /data/misc/wifi/hostapd.conf
+ class post-zygote_services
+ socket hostapd_tiwlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service dnsmasq /system/bin/logwrapper /system/bin/dnsmasq_mot -C/data/misc/wifi/dns.conf -k
+ class post-zygote_services
+ group wifi
+ disabled
+ oneshot
+
+service mynet_start /system/bin/sh /data/misc/wifi/forward_start.sh
+ class post-zygote_services
+ disabled
+ oneshot
+
+service mynet_stop /system/bin/sh /data/misc/wifi/forward_stop.sh
+ class post-zygote_services
+ disabled
+ oneshot
+
+
283 jordan-blobs.mk
@@ -0,0 +1,283 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This file is generated by device/motorola/sholes/extract-files.sh
+
+# Prebuilt libraries that are needed to build open-source libraries
+# media config xml file
+
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/qwerty.kl:system/usr/keylayout/qwerty.kl
+
+#device/motorola/jordan/proprietary/lib/libgps.so:system/lib/libgps.so
+#device/motorola/jordan/proprietary/lib/libgps.so:obj/lib/libgps.so
+# LIBS
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/lib/libcamera.so:obj/lib/libcamera.so \
+ device/motorola/jordan/proprietary/lib/libcamera.so:system/lib/libcamera.so \
+ device/motorola/jordan/proprietary/lib/libaudio.so:obj/lib/libaudio.so \
+ device/motorola/jordan/proprietary/lib/libaudio.so:system/lib/libaudio.so \
+ device/motorola/jordan/proprietary/lib/libarcsoft.so:system/lib/libarcsoft.so \
+ device/motorola/jordan/proprietary/lib/libbayercamera.so:system/lib/libbayercamera.so \
+ device/motorola/jordan/proprietary/lib/libcaps.so:system/lib/libcaps.so \
+ device/motorola/jordan/proprietary/lib/libIMGegl.so:system/lib/libIMGegl.so \
+ device/motorola/jordan/proprietary/lib/libpvr2d.so:system/lib/libpvr2d.so \
+ device/motorola/jordan/proprietary/lib/libpvrANDROID_WSEGL.so:system/lib/libpvrANDROID_WSEGL.so \
+ device/motorola/jordan/proprietary/lib/libpvrANDROID_WSEGL.so:system/lib/libpvrANDROID_WSEGL.so \
+ device/motorola/jordan/proprietary/lib/libPVRScopeServices.so:system/lib/libPVRScopeServices.so \
+ device/motorola/jordan/proprietary/lib/libsmiledetect.so:system/lib/libsmiledetect.so \
+ device/motorola/jordan/proprietary/lib/libsrv_init.so:system/lib/libsrv_init.so \
+ device/motorola/jordan/proprietary/lib/libsrv_um.so:system/lib/libsrv_um.so \
+ device/motorola/jordan/proprietary/lib/libsoccamera.so:system/lib/libsoccamera.so \
+ device/motorola/jordan/proprietary/lib/libbattd.so:system/lib/libbattd.so \
+ device/motorola/jordan/proprietary/lib/libcryptoki.so:system/lib/libcryptoki.so \
+ device/motorola/jordan/proprietary/lib/libganril.so:system/lib/libganril.so \
+ device/motorola/jordan/proprietary/lib/libgki.so:system/lib/libgki.so \
+ device/motorola/jordan/proprietary/lib/libglslcompiler.so:system/lib/libglslcompiler.so \
+ device/motorola/jordan/proprietary/lib/libHPImgApi.so:system/lib/libHPImgApi.so \
+ device/motorola/jordan/proprietary/lib/libmotdb.so:system/lib/libmotdb.so \
+ device/motorola/jordan/proprietary/lib/libmotodbgutils.so:system/lib/libmotodbgutils.so \
+ device/motorola/jordan/proprietary/lib/libmotdb.so:system/lib/libmotdb.so \
+ device/motorola/jordan/proprietary/lib/libmsl_interface.so:system/lib/libmsl_interface.so \
+ device/motorola/jordan/proprietary/lib/libssmgr.so:system/lib/libssmgr.so \
+ device/motorola/jordan/proprietary/lib/libtpa.so:system/lib/libtpa.so \
+ device/motorola/jordan/proprietary/lib/libtpa_core.so:system/lib/libtpa_core.so \
+ device/motorola/jordan/proprietary/lib/libreference-ril.so:system/lib/libreference-ril.so \
+ device/motorola/jordan/proprietary/lib/libril-moto-umts-1.so:system/lib/libril-moto-umts-1.so \
+ device/motorola/jordan/proprietary/lib/librilswitch.so:system/lib/librilswitch.so \
+ device/motorola/jordan/proprietary/lib/libsmapi.so:system/lib/libsmapi.so \
+ device/motorola/jordan/proprietary/lib/hw/gralloc.omap3.so:system/lib/hw/gralloc.omap3.so \
+ device/motorola/jordan/proprietary/lib/hw/gps.jordan.so:system/lib/hw/gps.jordan.so \
+ device/motorola/jordan/proprietary/lib/dsp/baseimage.dof:system/lib/dsp/baseimage.dof \
+ device/motorola/jordan/proprietary/lib/dsp/conversions.dll64P:system/lib/dsp/conversions.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/h264vdec_sn.dll64P:system/lib/dsp/h264vdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/h264venc_sn.dll64P:system/lib/dsp/h264venc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/jpegenc_sn.dll64P:system/lib/dsp/jpegenc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/m4venc_sn.dll64P:system/lib/dsp/m4venc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mp3dec_sn.dll64P:system/lib/dsp/mp3dec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mp4vdec_sn.dll64P:system/lib/dsp/mp4vdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mpeg4aacdec_sn.dll64P:system/lib/dsp/mpeg4aacdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mpeg4aacenc_sn.dll64P:system/lib/dsp/mpeg4aacenc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/nbamrdec_sn.dll64P:system/lib/dsp/nbamrdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/nbamrenc_sn.dll64P:system/lib/dsp/nbamrenc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/postprocessor_dualout.dll64P:system/lib/dsp/postprocessor_dualout.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/ringio.dll64P:system/lib/dsp/ringio.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/usn.dll64P:system/lib/dsp/usn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/wbamrdec_sn.dll64P:system/lib/dsp/wbamrdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/wbamrenc_sn.dll64P:system/lib/dsp/wbamrenc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/wmadec_sn.dll64P:system/lib/dsp/wmadec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/720p_h264vdec_sn.dll64P:system/lib/dsp/720p_h264vdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mpeg4ingenc_sn.dll64P:system/lib/dsp/mpeg4ingenc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/h264ingdec_sn.dll64P:system/lib/dsp/h264ingdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/mpeg4ingdec_sn.dll64P:system/lib/dsp/mpeg4ingdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/720p_mp4vdec_sn.dll64P:system/lib/dsp/720p_mp4vdec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/wmadec_sn.dll64P:system/lib/dsp/wmadec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/720p_h264venc_sn.dll64P:system/lib/dsp/720p_h264venc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/720p_mp4venc_sn.dll64P:system/lib/dsp/720p_mp4venc_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/dsp/wmv9dec_sn.dll64P:system/lib/dsp/wmv9dec_sn.dll64P \
+ device/motorola/jordan/proprietary/lib/egl/libeglinfo.so:system/lib/egl/libeglinfo.so \
+ device/motorola/jordan/proprietary/lib/egl/libEGL_POWERVR_SGX530_125.so:system/lib/egl/libEGL_POWERVR_SGX530_125.so \
+ device/motorola/jordan/proprietary/lib/egl/libgles1_texture_stream.so:system/lib/egl/libgles1_texture_stream.so \
+ device/motorola/jordan/proprietary/lib/egl/libgles2_texture_stream.so:system/lib/egl/libgles2_texture_stream.so \
+ device/motorola/jordan/proprietary/lib/egl/libGLESv1_CM_POWERVR_SGX530_125.so:system/lib/egl/libGLESv1_CM_POWERVR_SGX530_125.so \
+ device/motorola/jordan/proprietary/lib/egl/libGLESv2_POWERVR_SGX530_125.so:system/lib/egl/libGLESv2_POWERVR_SGX530_125.so \
+ device/motorola/jordan/proprietary/lib/libOMX.TI.720P.Decoder.so:system/lib/libOMX.TI.720P.Decoder.so \
+ device/motorola/jordan/proprietary/lib/libOMX.TI.720P.Encoder.so:system/lib/libOMX.TI.720P.Encoder.so \
+ device/motorola/jordan/proprietary/lib/libOMX.TI.mp4.splt.Encoder.so:system/lib/libOMX.TI.mp4.splt.Encoder.so \
+ device/motorola/jordan/proprietary/lib/libOMX.TI.h264.splt.Encoder.so:system/lib/libOMX.TI.h264.splt.Encoder.so \
+ device/motorola/jordan/proprietary/lib/libLCML.so:system/lib/libLCML.so \
+ device/motorola/jordan/proprietary/lib/libFMRadio.so:system/lib/libFMRadio.so \
+ device/motorola/jordan/proprietary/lib/libfmradio_jni.so:system/lib/libfmradio_jni.so \
+ device/motorola/jordan/proprietary/lib/libfmradioplayer.so:system/lib/libfmradioplayer.so \
+ device/motorola/jordan/proprietary/lib/liboemcamera.so:system/lib/liboemcamera.so \
+ device/motorola/jordan/proprietary/lib/libpanic_daemon.so:system/lib/libpanic_daemon.so \
+ device/motorola/jordan/proprietary/lib/libbridge.so:system/lib/libbridge.so \
+ device/motorola/jordan/proprietary/lib/modules/modules.alias:system/lib/modules/modules.alias \
+ device/motorola/jordan/proprietary/lib/modules/modules.dep:system/lib/modules/modules.dep
+
+#etc
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/etc/wifi/fw_tiwlan_ap.bin:system/etc/wifi/fw_tiwlan_ap.bin \
+ device/motorola/jordan/proprietary/etc/wifi/fw_tiwlan_ap_rfmd.bin:system/etc/wifi/fw_tiwlan_ap_rfmd.bin \
+ device/motorola/jordan/proprietary/etc/wifi/fw_wlan1271.bin:system/etc/wifi/fw_wlan1271.bin \
+ device/motorola/jordan/proprietary/etc/wifi/hostapd.conf.templet:system/etc/wifi/hostapd.conf.templet \
+ device/motorola/jordan/proprietary/etc/wifi/tiwlan.ini:system/etc/wifi/tiwlan.ini \
+ device/motorola/jordan/proprietary/etc/wifi/tiwlan_ap.ini:system/etc/wifi/tiwlan_ap.ini \
+ device/motorola/jordan/proprietary/etc/wifi/tiwlan_ap_rfmd.ini:system/etc/wifi/tiwlan_ap_rfmd.ini \
+ device/motorola/jordan/proprietary/etc/wifi/tiwlan_rfmd.ini:system/etc/wifi/tiwlan_rfmd.ini \
+ device/motorola/jordan/proprietary/etc/wifi/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf \
+ device/motorola/jordan/proprietary/etc/firmware/wl1271.bin:system/etc/firmware/wl1271.bin \
+ device/motorola/jordan/proprietary/etc/cameraCalFileDef5M.bin:system/etc/cameraCalFileDef5M.bin \
+ device/motorola/jordan/proprietary/etc/cameraCalFileDef8M.bin:system/etc/cameraCalFileDef8M.bin \
+ device/motorola/jordan/proprietary/etc/mot_ise_imager_cfg.bin:system/etc/mot_ise_imager_cfg.bin \
+ device/motorola/jordan/proprietary/etc/gpsconfig.xml:system/etc/gpsconfig.xml \
+ device/motorola/jordan/proprietary/etc/location.cfg:system/etc/location.cfg \
+ device/motorola/jordan/proprietary/etc/fmc_init_1273.2.bts:system/etc/fmc_init_1273.2.bts \
+ device/motorola/jordan/proprietary/etc/fmc_init_6450.2.bts:system/etc/fmc_init_6450.2.bts \
+ device/motorola/jordan/proprietary/etc/fm_rx_init_1273.2.bts:system/etc/fm_rx_init_1273.2.bts \
+ device/motorola/jordan/proprietary/etc/fm_rx_init_6450.2.bts:system/etc/fm_rx_init_6450.2.bts \
+ device/motorola/jordan/proprietary/etc/profile:system/etc/profile \
+ device/motorola/jordan/proprietary/etc/sysctl.conf:system/etc/sysctl.conf \
+ device/motorola/jordan/media_profiles.xml:system/etc/media_profiles.xml \
+ device/motorola/jordan/proprietary/etc/init.d/05mountsd:system/etc/init.d/05mountsd \
+ device/motorola/jordan/recovery.fstab:system/etc/recovery.fstab \
+ device/motorola/jordan/proprietary/etc/custom_backup_list.txt:system/etc/custom_backup_list.txt
+
+#Moto etc
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/etc/motorola/sourcePreferences.xml:system/etc/motorola/sourcePreferences.xml \
+ device/motorola/jordan/proprietary/etc/motorola/panic_daemon.config:system/etc/motorola/panic_daemon.config \
+ device/motorola/jordan/proprietary/etc/motorola/ap_flex_version.txt:system/etc/motorola/ap_flex_version.txt \
+ device/motorola/jordan/proprietary/etc/motorola/bplogd.conf:system/etc/motorola/bplogd.conf \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio:system/etc/motorola/bp_nvm_default/File_Audio \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio1_AMR_WB:system/etc/motorola/bp_nvm_default/File_Audio1_AMR_WB \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio2:system/etc/motorola/bp_nvm_default/File_Audio2 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio2_AMR_WB:system/etc/motorola/bp_nvm_default/File_Audio2_AMR_WB \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio3:system/etc/motorola/bp_nvm_default/File_Audio3 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio3_AMR_WB:system/etc/motorola/bp_nvm_default/File_Audio3_AMR_WB \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio4:system/etc/motorola/bp_nvm_default/File_Audio4 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio4_AMR_WB:system/etc/motorola/bp_nvm_default/File_Audio4_AMR_WB \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio5:system/etc/motorola/bp_nvm_default/File_Audio5 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio5_AMR_WB:system/etc/motorola/bp_nvm_default/File_Audio5_AMR_WB \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio6:system/etc/motorola/bp_nvm_default/File_Audio6 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio7:system/etc/motorola/bp_nvm_default/File_Audio7 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Audio8:system/etc/motorola/bp_nvm_default/File_Audio8 \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_GPRS:system/etc/motorola/bp_nvm_default/File_GPRS \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_GSM:system/etc/motorola/bp_nvm_default/File_GSM \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Logger:system/etc/motorola/bp_nvm_default/File_Logger \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_Seem_Flex_Tables:system/etc/motorola/bp_nvm_default/File_Seem_Flex_Tables \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_UMA:system/etc/motorola/bp_nvm_default/File_UMA \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/generic_pds_init:system/etc/motorola/bp_nvm_default/generic_pds_init \
+ device/motorola/jordan/proprietary/etc/motorola/bp_nvm_default/File_UMA:system/etc/motorola/bp_nvm_default/File_UMA \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/commdrv_fs.sh:system/etc/motorola/comm_drv/commdrv_fs.sh \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/mmins_cust_emergency_number.cfg:system/etc/motorola/comm_drv/mmins_cust_emergency_number.cfg \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/mmins_settings.cfg:system/etc/motorola/comm_drv/mmins_settings.cfg \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/mmins_telephony.cfg:system/etc/motorola/comm_drv/mmins_telephony.cfg \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/mmins_user_settings.cfg:system/etc/motorola/comm_drv/mmins_user_settings.cfg \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/plmn_text_table.bin:system/etc/motorola/comm_drv/plmn_text_table.bin \
+ device/motorola/jordan/proprietary/etc/motorola/comm_drv/PLMN_VERSION.txt:system/etc/motorola/comm_drv/PLMN_VERSION.txt \
+ device/motorola/jordan/proprietary/etc/motorola/tcmd/pkiprovision.cfg:system/etc/motorola/tcmd/pkiprovision.cfg
+
+#bin
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/bin/pvrsrvinit:system/bin/pvrsrvinit \
+ device/motorola/jordan/proprietary/bin/dumpe2fs:system/bin/dumpe2fs \
+ device/motorola/jordan/proprietary/bin/battd:system/bin/battd \
+ device/motorola/jordan/proprietary/bin/protocol_driver:system/bin/protocol_driver \
+ device/motorola/jordan/proprietary/bin/panic_daemon:system/bin/panic_daemon \
+ device/motorola/jordan/proprietary/bin/opprofdaemon:system/bin/opprofdaemon \
+ device/motorola/jordan/proprietary/bin/nvm_daemon:system/bin/nvm_daemon \
+ device/motorola/jordan/proprietary/bin/gkisystem:system/bin/gkisystem \
+ device/motorola/jordan/proprietary/bin/gki_pd_notifier:system/bin/gki_pd_notifier \
+ device/motorola/jordan/proprietary/bin/ap_gain_mmul.bin:system/bin/ap_gain_mmul.bin \
+ device/motorola/jordan/proprietary/bin/ap_gain.bin:system/bin/ap_gain.bin \
+ device/motorola/jordan/proprietary/bin/gkilogd:system/bin/gkilogd \
+ device/motorola/jordan/proprietary/bin/iptables:system/bin/iptables \
+ device/motorola/jordan/proprietary/bin/fmradioserver:system/bin/fmradioserver \
+ device/motorola/jordan/proprietary/bin/fmradio:system/bin/fmradio \
+ device/motorola/jordan/proprietary/bin/mount_ext3.sh:system/bin/mount_ext3.sh \
+ device/motorola/jordan/proprietary/bin/brcm_patchram_plus:system/bin/brcm_patchram_plus \
+ device/motorola/jordan/proprietary/bin/brcm_guci_drv:system/bin/brcm_guci_drv \
+ device/motorola/jordan/proprietary/bin/bplogd_daemon:system/bin/bplogd_daemon \
+ device/motorola/jordan/proprietary/bin/akmd2:system/bin/akmd2 \
+ device/motorola/jordan/proprietary/bin/rild_tcmd:system/bin/rild_tcmd \
+ device/motorola/jordan/proprietary/bin/mot_boot_mode:system/bin/mot_boot_mode \
+ device/motorola/jordan/proprietary/bin/usbd:system/bin/usbd \
+ device/motorola/jordan/proprietary/bin/location:system/bin/location \
+ device/motorola/jordan/proprietary/bin/charge_only_mode:system/bin/charge_only_mode \
+ device/motorola/jordan/proprietary/bin/panic_daemon:system/bin/panic_daemon \
+ device/motorola/jordan/proprietary/xbin/groups:system/xbin/groups \
+ device/motorola/jordan/proprietary/xbin/ssmgrd:system/xbin/ssmgrd
+#app
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/app/FMRadio.apk:system/app/FMRadio.apk \
+ device/motorola/jordan/proprietary/app/FMRadioService.apk:system/app/FMRadioService.apk \
+ device/motorola/jordan/proprietary/app/basebandswitcherV4.0.apk:system/app/basebandswitcherV4.0.apk \
+ device/motorola/jordan/proprietary/app/MotoPhonePortal.apk:system/app/MotoPhonePortal.apk
+
+#Bootmenu
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/init.mapphone_umts.rc:system/bootmenu/2nd-init/init.mapphone_umts.rc \
+ device/motorola/jordan/init.rc:system/bootmenu/2nd-init/init.rc \
+ device/motorola/jordan/proprietary/bootmenu/binary/2nd-init:system/bootmenu/binary/2nd-init \
+ device/motorola/jordan/proprietary/bootmenu/binary/adbd:system/bootmenu/binary/adbd \
+ device/motorola/jordan/proprietary/bootmenu/binary/bootmenu:system/bootmenu/binary/bootmenu \
+ device/motorola/jordan/proprietary/bootmenu/binary/bootmenu:system/bin/bootmenu \
+ device/motorola/jordan/proprietary/bootmenu/binary/logwrapper.bin:system/bootmenu/binary/logwrapper.bin \
+ device/motorola/jordan/proprietary/bootmenu/binary/logwrapper.bin:system/bin/logwrapper.bin \
+ device/motorola/jordan/proprietary/bootmenu/config/bootmenu_bypass:system/bootmenu/config/bootmenu_bypass \
+ device/motorola/jordan/proprietary/bootmenu/config/default.prop:system/bootmenu/config/default.prop \
+ device/motorola/jordan/proprietary/bootmenu/config/default_bootmode.conf:system/bootmenu/config/default_bootmode.conf \
+ device/motorola/jordan/proprietary/bootmenu/config/overclock.conf:system/bootmenu/config/overclock.conf \
+ device/motorola/jordan/proprietary/bootmenu/ext/su:system/bootmenu/ext/su \
+ device/motorola/jordan/proprietary/bootmenu/ext/Superuser.apk:system/bootmenu/ext/Superuser.apk \
+ device/motorola/jordan/proprietary/bootmenu/images/icon_error.png:system/bootmenu/images/icon_error.png \
+ device/motorola/jordan/proprietary/bootmenu/images/icon_installing.png:system/bootmenu/images/icon_installing.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate1.png:system/bootmenu/images/indeterminate1.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate2.png:system/bootmenu/images/indeterminate2.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate3.png:system/bootmenu/images/indeterminate3.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate4.png:system/bootmenu/images/indeterminate4.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate5.png:system/bootmenu/images/indeterminate5.png \
+ device/motorola/jordan/proprietary/bootmenu/images/indeterminate6.png:system/bootmenu/images/indeterminate6.png \
+ device/motorola/jordan/proprietary/bootmenu/images/progress_empty.png:system/bootmenu/images/progress_empty.png \
+ device/motorola/jordan/proprietary/bootmenu/images/progress_fill.png:system/bootmenu/images/progress_fill.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/keys:system/bootmenu/recovery/res/keys \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/icon_error.png:system/bootmenu/recovery/res/images/icon_error.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/icon_done.png:system/bootmenu/recovery/res/images/icon_done.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/icon_installing.png:system/bootmenu/recovery/res/images/icon_installing.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate1.png:system/bootmenu/recovery/res/images/indeterminate1.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate2.png:system/bootmenu/recovery/res/images/indeterminate2.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate3.png:system/bootmenu/recovery/res/images/indeterminate3.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate4.png:system/bootmenu/recovery/res/images/indeterminate4.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate5.png:system/bootmenu/recovery/res/images/indeterminate5.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/indeterminate6.png:system/bootmenu/recovery/res/images/indeterminate6.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/progress_empty.png:system/bootmenu/recovery/res/images/progress_empty.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/progress_fill.png:system/bootmenu/recovery/res/images/progress_fill.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/res/images/icon_clockwork.png:system/bootmenu/recovery/res/images/icon_clockwork.png \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/adbd:system/bootmenu/recovery/sbin/adbd \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/e2fsck:system/bootmenu/recovery/sbin/e2fsck \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/fix_permissions:system/bootmenu/recovery/sbin/fix_permissions \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/killrecovery.sh:system/bootmenu/recovery/sbin/killrecovery.sh \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/nandroid-md5.sh:system/bootmenu/recovery/sbin/nandroid-md5.sh \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/parted:system/bootmenu/recovery/sbin/parted \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/postrecoveryboot.sh:system/bootmenu/recovery/sbin/postrecoveryboot.sh \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/sdparted:system/bootmenu/recovery/sbin/sdparted \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/mke2fs:system/bootmenu/recovery/sbin/mke2fs \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/mke2fs.bin:system/bootmenu/recovery/sbin/mke2fs.bin \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/tune2fs:system/bootmenu/recovery/sbin/tune2fs \
+ device/motorola/jordan/proprietary/bootmenu/recovery/sbin/tune2fs.bin:system/bootmenu/recovery/sbin/tune2fs.bin \
+ device/motorola/jordan/proprietary/bootmenu/binary/lsof.static:system/bootmenu/binary/lsof \
+ device/motorola/jordan/proprietary/bootmenu/recovery/recovery.fstab:system/bootmenu/recovery/recovery.fstab \
+ device/motorola/jordan/proprietary/bootmenu/script/2nd-init.sh:system/bootmenu/script/2nd-init.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/2nd-boot.sh:system/bootmenu/script/2nd-boot.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/adbd.sh:system/bootmenu/script/adbd.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/overclock.sh:system/bootmenu/script/overclock.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/post_bootmenu.sh:system/bootmenu/script/post_bootmenu.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/pre_bootmenu.sh:system/bootmenu/script/pre_bootmenu.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/recovery.sh:system/bootmenu/script/recovery.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/recoveryexit.sh:system/bootmenu/script/recoveryexit.sh \
+ device/motorola/jordan/proprietary/bootmenu/script/unroot.sh:system/bootmenu/script/unroot.sh \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_conservative.ko:system/bootmenu/ext/modules/cpufreq_conservative.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_interactive.ko:system/bootmenu/ext/modules/cpufreq_interactive.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_ondemand.ko:system/bootmenu/ext/modules/cpufreq_ondemand.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_performance.ko:system/bootmenu/ext/modules/cpufreq_performance.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_powersave.ko:system/bootmenu/ext/modules/cpufreq_powersave.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_smartass.ko:system/bootmenu/ext/modules/cpufreq_smartass.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/cpufreq_userspace.ko:system/bootmenu/ext/modules/cpufreq_userspace.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/overclock_defy.ko:system/bootmenu/ext/modules/overclock_defy.ko \
+ device/motorola/jordan/proprietary/bootmenu/ext/modules/symsearch.ko:system/bootmenu/ext/modules/symsearch.ko
+
+#extra
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/proprietary/media/Moto.ogg:system/media/audio/ringtones/Moto.ogg
29 jordan-vendor.mk
@@ -0,0 +1,29 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+
+# Live wallpaper packages
+PRODUCT_PACKAGES := \
+ LiveWallpapers \
+ LiveWallpapersPicker \
+ MagicSmokeWallpapers \
+ VisualizationWallpapers \
+ librs_jni
+
+# Publish that we support the live wallpaper feature.
+PRODUCT_COPY_FILES := \
+ packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:/system/etc/permissions/android.software.live_wallpaper.xml
+
+
138 jordan.mk
@@ -0,0 +1,138 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# This is the product configuration for a generic GSM passion,
+# not specialized for any geography.
+#
+
+# The gps config appropriate for this device
+$(call inherit-product, device/common/gps/gps_us_supl.mk)
+
+## (1) First, the most specific values, i.e. the aspects that are specific to GSM
+
+## (3) Finally, the least specific parts, i.e. the non-GSM-specific aspects
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.wifi.channels=14 \
+ ro.media.capture.classification=classH \
+ ro.media.capture.flip=horizontalandvertical \
+ ro.media.capture.flashIntensity=41 \
+ ro.media.capture.torchIntensity=25 \
+ ro.mtp_available=0 \
+ persist.sys.purgeable_assets=0 \
+ ro.com.android.wifi-watchlist=GoogleGuest \
+ ro.error.receiver.system.apps=com.google.android.feedback \
+ ro.setupwizard.enterprise_mode=1 \
+ ro.com.google.clientidbase=android-verizon \
+ ro.com.google.locationfeatures=1 \
+ 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.config.vc_call_vol_steps=7 \
+ ro.telephony.call_ring.multiple=false \
+ windowsmgr.max_events_per_sec=70 \
+ ro.telephony.call_ring.delay=3000 \
+ ro.url.safetylegal=http://www.motorola.com/staticfiles/Support/legal/?model=A855 \
+ ro.setupwizard.enable_bypass=1 \
+ ro.default_usb_mode=4 \
+ ro.media.dec.jpeg.memcap=20000000 \
+ dalvik.vm.lockprof.threshold=500 \
+ ro.kernel.android.checkjni=0 \
+ dalvik.vm.dexopt-data-only=1 \
+ dalvik.vm.dexopt-flags=m=y
+
+DEVICE_PACKAGE_OVERLAYS += device/motorola/jordan/overlay
+
+PRODUCT_COPY_FILES += \
+ frameworks/base/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
+ frameworks/base/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
+ frameworks/base/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
+ frameworks/base/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
+ frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
+ frameworks/base/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
+ frameworks/base/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/base/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \
+ frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
+
+
+PRODUCT_PACKAGES += \
+ librs_jni \
+ tiwlan.ini \
+ dspexec \
+ Stk \
+ libbridge \
+ overlay.omap3 \
+ wlan_cu \
+ libtiOsLib \
+ wlan_loader \
+ libCustomWifi \
+ wpa_supplicant.conf \
+ dhcpcd.conf \
+ libOMX.TI.AAC.encode \
+ libOMX.TI.AAC.decode \
+ libOMX.TI.AMR.decode \
+ libOMX.TI.AMR.encode \
+ libOMX.TI.WBAMR.encode \
+ libOMX.TI.MP3.decode \
+ libOMX.TI.WBAMR.decode \
+ libOMX.TI.WMA.decode \
+ libOMX.TI.JPEG.Encoder \
+ libOMX.TI.Video.Decoder \
+ libOMX.TI.Video.encoder \
+ libVendor_ti_omx \
+ libLCML \
+ libOMX_Core \
+ gps.jordan \
+ sensors.jordan \
+ lights.jordan \
+ libaudiopolicy \
+ bootmenu_busybox \
+ Usb
+
+# Add DroidSSHd (dropbear) Management App - tpruvot/android_app_droidsshd @ github
+PRODUCT_PACKAGES += DroidSSHD
+
+
+# we have enough storage space to hold precise GC data
+PRODUCT_TAGS += dalvik.gc.type-precise
+
+# Passion uses high-density artwork where available
+PRODUCT_LOCALES += hdpi
+
+PRODUCT_COPY_FILES += \
+ device/motorola/jordan/vold.fstab:system/etc/vold.fstab\
+ device/motorola/jordan/apns-conf.xml:system/etc/apns-conf.xml
+
+# copy all kernel modules under the "modules" directory to system/lib/modules
+PRODUCT_COPY_FILES += $(shell \
+ find device/motorola/jordan/modules -name '*.ko' \
+ | sed -r 's/^\/?(.*\/)([^/ ]+)$$/\1\2:system\/lib\/modules\/\2/' \
+ | tr '\n' ' ')
+
+# Prebuilt boot.img
+LOCAL_KERNEL := device/motorola/jordan/kernel
+PRODUCT_COPY_FILES += \
+ $(LOCAL_KERNEL):kernel
+
+# media profiles and capabilities spec
+$(call inherit-product, device/motorola/jordan/jordan-blobs.mk)
+$(call inherit-product, device/motorola/jordan/jordan-vendor.mk)
+# stuff common to all HTC phones
+#$(call inherit-product, device/htc/common/common.mk)
+
+$(call inherit-product, build/target/product/full_base.mk)
+
+PRODUCT_NAME := generic_jordan
+PRODUCT_DEVICE := MB525
BIN  kernel
Binary file not shown
26 libaudiopolicy/Android.mk
@@ -0,0 +1,26 @@
+
+ifeq ($(TARGET_BOOTLOADER_BOARD_NAME),jordan)
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:= \
+ AudioPolicyManager.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+ libcutils \
+ libutils \
+ libmedia
+
+LOCAL_STATIC_LIBRARIES := libaudiopolicybase
+
+LOCAL_MODULE:= libaudiopolicy
+
+ifeq ($(BOARD_HAVE_BLUETOOTH),true)
+ LOCAL_CFLAGS += -DWITH_A2DP
+endif
+
+include $(BUILD_SHARED_LIBRARY)
+
+endif
490 libaudiopolicy/AudioPolicyManager.cpp
@@ -0,0 +1,490 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "AudioPolicyManager"
+//#define LOG_NDEBUG 0
+#include <utils/Log.h>
+#include "AudioPolicyManager.h"
+#include <media/mediarecorder.h>
+
+namespace android {
+
+
+// Max volume for streams when playing over bluetooth SCO device while in call: -18dB
+#define IN_CALL_SCO_VOLUME_MAX 0.126
+// Min music volume for 3.5mm jack in car dock: -10dB
+#define CAR_DOCK_MUSIC_MINI_JACK_VOLUME_MIN 0.316
+
+// ----------------------------------------------------------------------------
+// AudioPolicyManager implementation for qsd8k platform
+// Common audio policy manager code is implemented in AudioPolicyManagerBase class
+// ----------------------------------------------------------------------------
+
+// --- class factory
+
+
+extern "C" AudioPolicyInterface* createAudioPolicyManager(AudioPolicyClientInterface *clientInterface)
+{
+ return new AudioPolicyManager(clientInterface);
+}
+
+extern "C" void destroyAudioPolicyManager(AudioPolicyInterface *interface)
+{
+ delete interface;
+}
+
+// ---
+#ifdef HAVE_FM_RADIO
+status_t AudioPolicyManager::setDeviceConnectionState(AudioSystem::audio_devices device,
+ AudioSystem::device_connection_state state,
+ const char *device_address)
+{
+
+ LOGV("setDeviceConnectionState() device: %x, state %d, address %s", device, state, device_address);
+
+ // connect/disconnect only 1 device at a time
+ if (AudioSystem::popCount(device) != 1) return BAD_VALUE;
+
+ if (strlen(device_address) >= MAX_DEVICE_ADDRESS_LEN) {
+ LOGE("setDeviceConnectionState() invalid address: %s", device_address);
+ return BAD_VALUE;
+ }
+
+ // handle output devices
+ if (AudioSystem::isOutputDevice(device)) {
+
+ switch (state)
+ {
+ // handle output device connection
+ case AudioSystem::DEVICE_STATE_AVAILABLE:
+ if (mAvailableOutputDevices & device) {
+ LOGW("setDeviceConnectionState() device already connected: %x", device);
+ return INVALID_OPERATION;
+ }
+ LOGV("setDeviceConnectionState() connecting device %x", device);
+
+ // register new device as available
+ mAvailableOutputDevices |= device;
+ {
+ if (AudioSystem::isBluetoothScoDevice(device)) {
+ LOGV("setDeviceConnectionState() BT SCO device, address %s", device_address);
+ // keep track of SCO device address
+ mScoDeviceAddress = String8(device_address, MAX_DEVICE_ADDRESS_LEN);
+ }
+ }
+ break;
+ // handle output device disconnection
+ case AudioSystem::DEVICE_STATE_UNAVAILABLE: {
+ if (!(mAvailableOutputDevices & device)) {
+ LOGW("setDeviceConnectionState() device not connected: %x", device);
+ return INVALID_OPERATION;
+ }
+
+
+ LOGV("setDeviceConnectionState() disconnecting device %x", device);
+ // remove device from available output devices
+ mAvailableOutputDevices &= ~device;
+
+ {
+ if (AudioSystem::isBluetoothScoDevice(device)) {
+ mScoDeviceAddress = "";
+ }
+ }
+ } break;
+
+ default:
+ LOGE("setDeviceConnectionState() invalid state: %x", state);
+ return BAD_VALUE;
+ }
+
+ // request routing change if necessary
+ uint32_t newDevice = getNewDevice(mHardwareOutput, false);
+
+ if(device & AudioSystem::DEVICE_OUT_FM_ALL) {
+ if (state == AudioSystem::DEVICE_STATE_AVAILABLE) {
+ mOutputs.valueFor(mHardwareOutput)->changeRefCount(AudioSystem::FM, 1);
+ }
+ else {
+ mOutputs.valueFor(mHardwareOutput)->changeRefCount(AudioSystem::FM, -1);
+ }
+ if(newDevice == 0){
+ newDevice = getDeviceForStrategy(STRATEGY_MEDIA, false);
+ }
+ }
+ updateDeviceForStrategy();
+ setOutputDevice(mHardwareOutput, newDevice);
+
+ if (device == AudioSystem::DEVICE_OUT_WIRED_HEADSET) {
+ device = AudioSystem::DEVICE_IN_WIRED_HEADSET;
+ } else if (device == AudioSystem::DEVICE_OUT_BLUETOOTH_SCO ||
+ device == AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_HEADSET ||
+ device == AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT) {
+ device = AudioSystem::DEVICE_IN_BLUETOOTH_SCO_HEADSET;
+ } else {
+ return NO_ERROR;
+ }
+ }
+ // handle input devices
+ if (AudioSystem::isInputDevice(device)) {
+
+ switch (state)
+ {
+ // handle input device connection
+ case AudioSystem::DEVICE_STATE_AVAILABLE: {
+ if (mAvailableInputDevices & device) {
+ LOGW("setDeviceConnectionState() device already connected: %d", device);
+ return INVALID_OPERATION;
+ }
+ mAvailableInputDevices |= device;
+ }
+ break;
+
+ // handle input device disconnection
+ case AudioSystem::DEVICE_STATE_UNAVAILABLE: {
+ if (!(mAvailableInputDevices & device)) {
+ LOGW("setDeviceConnectionState() device not connected: %d", device);
+ return INVALID_OPERATION;
+ }
+ mAvailableInputDevices &= ~device;
+ } break;
+
+ default:
+ LOGE("setDeviceConnectionState() invalid state: %x", state);
+ return BAD_VALUE;
+ }
+
+ audio_io_handle_t activeInput = getActiveInput();
+ if (activeInput != 0) {
+ AudioInputDescriptor *inputDesc = mInputs.valueFor(activeInput);
+ uint32_t newDevice = getDeviceForInputSource(inputDesc->mInputSource);
+ if (newDevice != inputDesc->mDevice) {
+ LOGV("setDeviceConnectionState() changing device from %x to %x for input %d",
+ inputDesc->mDevice, newDevice, activeInput);
+ inputDesc->mDevice = newDevice;
+ AudioParameter param = AudioParameter();
+ param.addInt(String8(AudioParameter::keyRouting), (int)newDevice);
+ mpClientInterface->setParameters(activeInput, param.toString());
+ }
+ }
+
+ return NO_ERROR;
+ }
+
+ LOGW("setDeviceConnectionState() invalid device: %x", device);
+ return BAD_VALUE;
+}
+#endif
+
+uint32_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strategy, bool fromCache)
+{
+ uint32_t device = 0;
+
+ if (fromCache) {
+ device = mDeviceForStrategy[strategy];
+ LOGV("getDeviceForStrategy() from cache strategy %d, device %x", strategy, device);
+ return device;
+ }
+
+ switch (strategy) {
+ case STRATEGY_DTMF:
+ if (mPhoneState != AudioSystem::MODE_IN_CALL) {
+ // when off call, DTMF strategy follows the same rules as MEDIA strategy
+ device = getDeviceForStrategy(STRATEGY_MEDIA, false);
+ break;
+ }
+ // when in call, DTMF and PHONE strategies follow the same rules
+ // FALL THROUGH
+
+ case STRATEGY_PHONE:
+ // for phone strategy, we first consider the forced use and then the available devices by order
+ // of priority
+ switch (mForceUse[AudioSystem::FOR_COMMUNICATION]) {
+ case AudioSystem::FORCE_BT_SCO:
+ if (mPhoneState != AudioSystem::MODE_IN_CALL || strategy != STRATEGY_DTMF) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT;
+ if (device) break;
+ }
+ // otherwise (not docked) continue with selection
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
+ if (device) break;
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO;
+ if (device) break;
+ // if SCO device is requested but no SCO device is available, fall back to default case
+ // FALL THROUGH
+
+ default: // FORCE_NONE
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADPHONE;
+ if (device) break;
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET;
+ if (device) break;
+ // when not in call:
+ if (mPhoneState != AudioSystem::MODE_IN_CALL) {
+ // - if we are docked to a BT CAR dock, give A2DP preference over earpiece
+ // - if we are docked to a BT DESK dock, give speaker preference over earpiece
+ if (mForceUse[AudioSystem::FOR_DOCK] == AudioSystem::FORCE_BT_CAR_DOCK) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP;
+ } else if (mForceUse[AudioSystem::FOR_DOCK] == AudioSystem::FORCE_BT_DESK_DOCK) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
+ }
+ if (device) break;
+ // - phone strategy should route STREAM_VOICE_CALL to A2DP
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP;
+ if (device) break;
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
+ if (device) break;
+ }
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_EARPIECE;
+ if (device == 0) {
+ LOGE("getDeviceForStrategy() earpiece device not found");
+ }
+ break;
+
+ case AudioSystem::FORCE_SPEAKER:
+ if (mPhoneState != AudioSystem::MODE_IN_CALL || strategy != STRATEGY_DTMF) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT;
+ if (device) break;
+ }
+ // when not in call:
+ if (mPhoneState != AudioSystem::MODE_IN_CALL) {
+ // - if we are docked to a BT CAR dock, give A2DP preference over phone spkr
+ if (mForceUse[AudioSystem::FOR_DOCK] == AudioSystem::FORCE_BT_CAR_DOCK) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP;
+ if (device) break;
+ }
+ // - phone strategy should route STREAM_VOICE_CALL to A2DP speaker
+ // when forcing to speaker output
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER;
+ if (device) break;
+ }
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
+ if (device == 0) {
+ LOGE("getDeviceForStrategy() speaker device not found");
+ }
+ break;
+ }
+ break;
+
+ case STRATEGY_SONIFICATION:
+ case STRATEGY_MEDIA_SONIFICATION:
+
+ // If incall, just select the STRATEGY_PHONE device: The rest of the behavior is handled by
+ // handleIncallSonification().
+ if (mPhoneState == AudioSystem::MODE_IN_CALL) {
+ device = getDeviceForStrategy(STRATEGY_PHONE, false);
+ break;
+ }
+ // If not incall:
+ // - if we are docked to a BT CAR dock, don't duplicate for the sonification strategy
+ // - if we are docked to a BT DESK dock, use only speaker for the sonification strategy
+ if (mForceUse[AudioSystem::FOR_DOCK] != AudioSystem::FORCE_BT_CAR_DOCK) {
+ if (strategy == STRATEGY_SONIFICATION) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
+ if (device == 0) {
+ LOGE("getDeviceForStrategy() speaker device not found");
+ }
+ }
+ if (mForceUse[AudioSystem::FOR_DOCK] == AudioSystem::FORCE_BT_DESK_DOCK) {
+ if (mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADPHONE) {
+ device |= AudioSystem::DEVICE_OUT_WIRED_HEADPHONE;
+ } else if (mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET) {
+ device |= AudioSystem::DEVICE_OUT_WIRED_HEADSET;
+ }
+ break;
+ }
+ } else {
+ device = 0;
+ }
+ // The second device used for sonification is the same as the device used by media strategy
+ // Note that when docked, we pick the device below (no duplication)
+ // FALL THROUGH
+
+ case STRATEGY_MEDIA: {
+#ifdef HAVE_FM_RADIO
+ //To route FM stream to speaker when headset is connected, a new switch case is added.
+ //case AudioSystem::FORCE_SPEAKER for STRATEGY_MEDIA will come only when we need to route
+ //FM stream to speaker.
+ uint32_t device2 = 0;
+ if (mForceUse[AudioSystem::FOR_MEDIA] == AudioSystem::FORCE_SPEAKER) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
+ }
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL;
+ }
+#else
+ uint32_t device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL;
+#endif
+#ifdef WITH_A2DP
+ if (mA2dpOutput != 0) {
+ if (device2 == 0) {
+ // play ringtone over speaker (or speaker + headset) if in car dock
+ // because A2DP is suspended in this case
+ if (mForceUse[AudioSystem::FOR_DOCK] == AudioSystem::FORCE_BT_CAR_DOCK &&
+ strategy == STRATEGY_SONIFICATION &&
+ mPhoneState == AudioSystem::MODE_RINGTONE) {
+ device2 = mAvailableOutputDevices &
+ (AudioSystem::DEVICE_OUT_SPEAKER |
+ AudioSystem::DEVICE_OUT_WIRED_HEADPHONE |
+ AudioSystem::DEVICE_OUT_WIRED_HEADSET);
+ }
+ }
+ }
+#endif
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADPHONE;
+ }
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET;
+ }
+#ifdef WITH_A2DP
+ if (mA2dpOutput != 0) {
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP;
+ }
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
+ }
+ if (device2 == 0) {
+ device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER;
+ }
+ }
+#endif
+ if (device2 == 0) {
+ device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
+ }
+
+#ifdef HAVE_FM_RADIO
+ if (mAvailableOutputDevices & AudioSystem::DEVICE_OUT_FM_ALL) {
+ if (device2 & AudioSystem::DEVICE_OUT_SPEAKER)
+ device |= AudioSystem::DEVICE_OUT_FM_SPEAKER;
+ else
+ device |= AudioSystem::DEVICE_OUT_FM;
+ }
+#endif
+
+ // device is DEVICE_OUT_SPEAKER if we come from case STRATEGY_SONIFICATION, 0 otherwise
+ device |= device2;
+ if (device == 0) {
+ LOGE("getDeviceForStrategy() speaker device not found");
+ }
+ // Do not play media stream if in call and the requested device woul