summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoratinm <atinm.dev@gmail.com>2011-05-18 18:15:15 -0400
committeratinm <atinm.dev@gmail.com>2011-05-18 18:15:15 -0400
commita640164cd3d354c407d1dce3b654be92a7dbc16a (patch)
tree93f967a446da44688381c55bd73d35dbb0b3c7df
downloaddevice_samsung_galaxysmtd-a640164cd3d354c407d1dce3b654be92a7dbc16a.zip
device_samsung_galaxysmtd-a640164cd3d354c407d1dce3b654be92a7dbc16a.tar.gz
device_samsung_galaxysmtd-a640164cd3d354c407d1dce3b654be92a7dbc16a.tar.bz2
Refactored into galaxysmtd
Change-Id: I82af7904ec373d415dfb34069d8f7d6981cc8fc7
-rw-r--r--.gitignore1
-rw-r--r--Android.mk42
-rw-r--r--AndroidBoard.mk8
-rw-r--r--AndroidProducts.mk29
-rw-r--r--BoardConfig.mk102
-rw-r--r--CleanSpec.mk60
-rw-r--r--aries-keypad.kl7
-rwxr-xr-xasound.conf775
-rw-r--r--bcm4329.kobin0 -> 271476 bytes
-rw-r--r--bml_over_mtd.sh44
-rw-r--r--board-info.txt3
-rw-r--r--cifs.kobin0 -> 2582136 bytes
-rw-r--r--cypress-touchkey.kcm64
-rw-r--r--cypress-touchkey.kl4
-rw-r--r--egl.cfg1
-rw-r--r--full_galaxysmtd.mk37
-rw-r--r--galaxysmtd.mk172
-rw-r--r--init.aries.rc338
-rw-r--r--init.rc218
-rwxr-xr-xkernelbin0 -> 2485620 bytes
-rw-r--r--media_profiles.xml215
-rw-r--r--modem.binbin0 -> 12582912 bytes
-rw-r--r--overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpgbin0 -> 298259 bytes
-rw-r--r--overlay/frameworks/base/core/res/res/values-de/arrays.xml26
-rw-r--r--overlay/frameworks/base/core/res/res/values-fi-rFI/arrays.xml28
-rw-r--r--overlay/frameworks/base/core/res/res/values-fr/arrays.xml25
-rw-r--r--overlay/frameworks/base/core/res/res/values-it/arrays.xml31
-rwxr-xr-xoverlay/frameworks/base/core/res/res/values-pt-rBR/arrays.xml36
-rw-r--r--overlay/frameworks/base/core/res/res/values-ru/arrays.xml10
-rw-r--r--overlay/frameworks/base/core/res/res/values-sv/arrays.xml28
-rw-r--r--overlay/frameworks/base/core/res/res/values-uk/arrays.xml10
-rw-r--r--overlay/frameworks/base/core/res/res/values-zh-rTW/arrays.xml39
-rw-r--r--overlay/frameworks/base/core/res/res/values/arrays.xml125
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml185
-rw-r--r--overlay/frameworks/base/core/res/res/xml/power_profile.xml60
-rw-r--r--overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml22
-rw-r--r--overlay/frameworks/base/tests/ImfTest/res/values/config.xml21
-rw-r--r--overlay/packages/apps/Contacts/res/values/config.xml21
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass.jpgbin0 -> 420605 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass_small.jpgbin0 -> 27168 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains.jpgbin0 -> 323665 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains_small.jpgbin0 -> 19299 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam.jpgbin0 -> 39209 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam_small.jpgbin0 -> 6547 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse.jpgbin0 -> 42199 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse_small.jpgbin0 -> 5871 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle.jpgbin0 -> 154313 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle_small.jpgbin0 -> 8190 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars.jpgbin0 -> 439193 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars_small.jpgbin0 -> 33400 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream.jpgbin0 -> 42360 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream_small.jpgbin0 -> 5707 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights.jpgbin0 -> 227572 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights_small.jpgbin0 -> 23522 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset.jpgbin0 -> 206025 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset_small.jpgbin0 -> 14751 bytes
-rw-r--r--overlay/packages/apps/Launcher2/res/values-hdpi/wallpapers.xml36
-rw-r--r--overlay/packages/apps/Phone/res/values/config.xml36
-rw-r--r--overlay/packages/apps/Settings/res/values/bools.xml21
-rw-r--r--overlay/packages/wallpapers/Basic/res/drawable-hdpi/nexus_thumb.pngbin0 -> 14743 bytes
-rw-r--r--overlay/packages/wallpapers/Basic/res/drawable-hdpi/pyramid_background.pngbin0 -> 688177 bytes
-rw-r--r--overlay/packages/wallpapers/Basic/res/raw/nexus.rs313
-rw-r--r--overlay/packages/wallpapers/Basic/res/values/surfacemode.xml18
-rw-r--r--qwerty.kl90
-rw-r--r--recovery.fstab14
-rw-r--r--recovery.rc280
-rw-r--r--s3c-keypad.kcm64
-rw-r--r--s3c-keypad.kl11
-rw-r--r--sec_jack.kl3
-rw-r--r--setup-makefiles.sh107
-rw-r--r--setup_fs.c75
-rwxr-xr-xsetupenv.sh5
-rw-r--r--system.prop8
-rw-r--r--tun.kobin0 -> 211392 bytes
-rw-r--r--ueventd.aries.rc23
-rw-r--r--unzip-files.sh207
-rw-r--r--updater.sh121
-rw-r--r--vendorsetup.sh23
-rw-r--r--vold.fstab19
79 files changed, 4261 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..346a4af
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+initramfs/*
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..54e40d4
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,42 @@
+# 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.
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),galaxysmtd)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := s3c-keypad.kcm
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_KEY_CHAR_MAP)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := cypress-touchkey.kcm
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_KEY_CHAR_MAP)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := setup_fs.c
+LOCAL_MODULE := setup_fs
+LOCAL_MODULE_TAGS := optional
+#LOCAL_SHARED_LIBRARIES += libext4_utils libz
+include $(BUILD_EXECUTABLE)
+
+ifneq ($(TARGET_SIMULATOR),true)
+include $(call all-makefiles-under,$(LOCAL_PATH))
+endif
+
+endif
+
+
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
new file mode 100644
index 0000000..09344c1
--- /dev/null
+++ b/AndroidBoard.mk
@@ -0,0 +1,8 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET)
+
+# include the non-open-source counterpart to this file
+-include vendor/samsung/galaxysmtd/AndroidBoardVendor.mk
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
new file mode 100644
index 0000000..36ffb5e
--- /dev/null
+++ b/AndroidProducts.mk
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2008 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 should set PRODUCT_MAKEFILES to a list of product makefiles
+# to expose to the build system. LOCAL_DIR will already be set to
+# the directory containing this file.
+#
+# This file may not rely on the value of any variable other than
+# LOCAL_DIR; do not use any conditionals, and do not look up the
+# value of any variable that isn't set in this file or in a file that
+# it includes.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/full_galaxysmtd.mk
diff --git a/BoardConfig.mk b/BoardConfig.mk
new file mode 100644
index 0000000..fd26b2b
--- /dev/null
+++ b/BoardConfig.mk
@@ -0,0 +1,102 @@
+# 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.
+
+# BoardConfig.mk
+#
+# Product-specific compile-time definitions.
+#
+
+# Set this up here so that BoardVendorConfig.mk can override it
+BOARD_USES_GENERIC_AUDIO := false
+
+BOARD_USES_LIBSECRIL_STUB := true
+
+# Use the non-open-source parts, if they're present
+-include vendor/samsung/galaxysmtd/BoardConfigVendor.mk
+
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+TARGET_ARCH_VARIANT := armv7-a-neon
+ARCH_ARM_HAVE_TLS_REGISTER := true
+TARGET_GLOBAL_CFLAGS += -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
+TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
+
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_RADIOIMAGE := true
+
+TARGET_PROVIDES_INIT := true
+TARGET_PROVIDES_INIT_TARGET_RC := true
+TARGET_BOARD_PLATFORM := s5pv210
+TARGET_BOOTLOADER_BOARD_NAME := aries
+TARGET_RECOVERY_INITRC := device/samsung/galaxysmtd/recovery.rc
+
+# Releasetools
+TARGET_RELEASETOOL_OTA_FROM_TARGET_SCRIPT := ./device/samsung/aries-common/releasetools/aries_ota_from_target_files
+TARGET_RELEASETOOL_IMG_FROM_TARGET_SCRIPT := ./device/samsung/aries-common/releasetools/aries_img_from_target_files
+
+# Camera
+USE_CAMERA_STUB := false
+ifeq ($(USE_CAMERA_STUB),false)
+BOARD_CAMERA_LIBRARIES := libcamera
+endif
+
+# Bluetooth
+BOARD_HAVE_BLUETOOTH := true
+BOARD_HAVE_BLUETOOTH_BCM := true
+
+# Video Devices
+BOARD_USES_OVERLAY := true
+BOARD_V4L2_DEVICE := /dev/video1
+BOARD_CAMERA_DEVICE := /dev/video0
+BOARD_SECOND_CAMERA_DEVICE := /dev/video2
+
+# FM Radio
+BOARD_HAVE_FM_RADIO := true
+BOARD_GLOBAL_CFLAGS += -DHAVE_FM_RADIO
+
+BOARD_NAND_PAGE_SIZE := 4096 -s 128
+BOARD_KERNEL_BASE := 0x32000000
+BOARD_KERNEL_PAGESIZE := 4096
+BOARD_KERNEL_CMDLINE := console=ttyFIQ0,115200 init=/init no_console_suspend
+TARGET_PREBUILT_KERNEL := device/samsung/galaxysmtd/kernel
+
+BOARD_BOOTIMAGE_PARTITION_SIZE := 7864320
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 196608000
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 2013265920
+BOARD_FLASH_BLOCK_SIZE := 4096
+
+# Connectivity - Wi-Fi
+WPA_SUPPLICANT_VERSION := VER_0_6_X
+BOARD_WPA_SUPPLICANT_DRIVER := WEXT
+BOARD_WLAN_DEVICE := bcm4329
+WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcm4329.ko"
+WIFI_DRIVER_FW_STA_PATH := "/vendor/firmware/fw_bcm4329.bin"
+WIFI_DRIVER_FW_AP_PATH := "/vendor/firmware/fw_bcm4329_apsta.bin"
+WIFI_DRIVER_MODULE_NAME := "bcm4329"
+WIFI_DRIVER_MODULE_ARG := "firmware_path=/vendor/firmware/fw_bcm4329.bin nvram_path=/vendor/firmware/nvram_net.txt"
+
+# Vold
+BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true
+
+# Recovery
+TARGET_USERIMAGES_USE_EXT4 := true
+BOARD_HAS_NO_SELECT_BUTTON := true
+BOARD_USES_BML_OVER_MTD := true
+BOARD_CUSTOM_BOOTIMG_MK := device/samsung/aries-common/shbootimg.mk
+TARGET_RECOVERY_PRE_COMMAND="echo 1 > /cache/.startrecovery; sync;"
+
+# Include aries specific stuff
+-include device/samsung/aries-common/Android.mk
+
+TARGET_OTA_ASSERT_DEVICE := aries,galaxys,galaxysmtd,GT-I9000,GT-I9000M,GT-I9000T
diff --git a/CleanSpec.mk b/CleanSpec.mk
new file mode 100644
index 0000000..29c0551
--- /dev/null
+++ b/CleanSpec.mk
@@ -0,0 +1,60 @@
+# 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/*)
+$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm)
+
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+$(call add-clean-step, rm -rf $(TARGET_OUT)/build.prop)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/SHARED_LIBRARIES/libaudio_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/SHARED_LIBRARIES/libaudio_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/STATIC_LIBRARIES/libasound_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/EXECUTABLES/alsa_*)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/system/bin/alsa_*)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/system/etc/asound.conf)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/system/usr/share/alsa)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/PACKAGING/systemimage_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/galaxysmtd/obj/SHARED_LIBRARIES/libaudio_intermediates)
diff --git a/aries-keypad.kl b/aries-keypad.kl
new file mode 100644
index 0000000..b959f06
--- /dev/null
+++ b/aries-keypad.kl
@@ -0,0 +1,7 @@
+key 115 VOLUME_UP WAKE
+key 114 VOLUME_DOWN WAKE
+key 116 POWER WAKE
+key 139 MENU VIRTUAL
+key 102 HOME WAKE
+key 158 BACK VIRTUAL
+key 217 SEARCH VIRTUAL
diff --git a/asound.conf b/asound.conf
new file mode 100755
index 0000000..a279e39
--- /dev/null
+++ b/asound.conf
@@ -0,0 +1,775 @@
+# Android ALSA configuration file for the WM8994 audio.
+
+
+##################################################################################################################
+#
+# {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+# # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 9:R_SPK_HP
+# {name "FM Radio Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+# # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 9:R_SPK_HP
+# {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC
+# {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+#
+##################################################################################################################
+
+
+##
+## Mixer Devices
+##
+
+ctl.AndroidPlayback {
+ type hw
+ card 0
+}
+
+ctl.AndroidRecord {
+ type hw
+ card 0
+}
+
+
+##
+## Playback Devices
+##
+
+pcm.AndroidPlayback {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headphone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headphone_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headset_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headphone_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_fmradio {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "FM Radio Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset_fmradio {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "FM Radio Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headset_fmradio {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "FM Radio Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 8} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headphone_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 9} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headset_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headphone_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headphone_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headset_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_Headphone_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio playback"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+
+##
+## Capture device
+##
+
+pcm.AndroidRecord {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Microphone {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Earpiece_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headset_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headphone_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Bluetooth_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio capture"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_Headset_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_Headphone_normal {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio capture"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headset_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio capture"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headphone_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0 # Must be of type "digital audio capture"
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP
+ ]
+ }
+}
+
+pcm.AndroidRecord_Earpiece_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headset_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Headphone_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Bluetooth_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_Headset_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
+
+pcm.AndroidRecord_Speaker_Headphone_incall {
+ type hooks
+ slave.pcm default
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ # Enable audio output from the DSP
+ {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC
+ {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT
+ ]
+ }
+}
diff --git a/bcm4329.ko b/bcm4329.ko
new file mode 100644
index 0000000..6a46218
--- /dev/null
+++ b/bcm4329.ko
Binary files differ
diff --git a/bml_over_mtd.sh b/bml_over_mtd.sh
new file mode 100644
index 0000000..be73e15
--- /dev/null
+++ b/bml_over_mtd.sh
@@ -0,0 +1,44 @@
+#!/sbin/busybox sh
+#
+# bml_over_mtd.sh
+# Take care of bad blocks while flashing kernel image to boot partition
+#
+
+PARTITION=$1
+PARTITION_START_BLOCK=$2
+RESERVOIRPARTITION=$3
+RESERVOIR_START_BLOCK=$4
+IMAGE=$5
+
+# remove old log
+rm -rf /sdcard/bml_over_mtd.log
+
+# everything is logged into /sdcard/bml_over_mtd.log
+exec >> /sdcard/bml_over_mtd.log 2>&1
+
+set -x
+export PATH=/:/sbin:/system/xbin:/system/bin:$PATH
+
+busybox cat <<EOF
+########################################################################################
+#
+# Flashing boot image with bml_over_mtd on `busybox date`
+#
+########################################################################################
+EOF
+
+# scan boot partition for bad blocks
+/tmp/bml_over_mtd scan $PARTITION
+status=$?
+
+# if exit status is 15 use bml_over_mtd, otherwise use flash_image
+if test $status -eq 15
+then
+ echo "Running bml_over_mtd..."
+ /tmp/bml_over_mtd flash $PARTITION $PARTITION_START_BLOCK $RESERVOIRPARTITION $RESERVOIR_START_BLOCK $IMAGE
+else
+ echo "Running flash_image..."
+ /sbin/flash_image $PARTITION $IMAGE
+fi
+
+exit
diff --git a/board-info.txt b/board-info.txt
new file mode 100644
index 0000000..7c6f0d0
--- /dev/null
+++ b/board-info.txt
@@ -0,0 +1,3 @@
+require board=aries
+require version-bootloader=I9000XXJPK
+require version-baseband=I9000XXJVK
diff --git a/cifs.ko b/cifs.ko
new file mode 100644
index 0000000..56ed9a3
--- /dev/null
+++ b/cifs.ko
Binary files differ
diff --git a/cypress-touchkey.kcm b/cypress-touchkey.kcm
new file mode 100644
index 0000000..8056364
--- /dev/null
+++ b/cypress-touchkey.kcm
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '2' 'a' 'A' '#' 0x00
+B 'B' '2' 'b' 'B' '<' 0x00
+C 'C' '2' 'c' 'C' '9' 0x00E7
+D 'D' '3' 'd' 'D' '5' 0x00
+E 'E' '3' 'e' 'E' '2' 0x0301
+F 'F' '3' 'f' 'F' '6' 0x00A5
+G 'G' '4' 'g' 'G' '-' '_'
+H 'H' '4' 'h' 'H' '[' '{'
+I 'I' '4' 'i' 'I' '$' 0x0302
+J 'J' '5' 'j' 'J' ']' '}'
+K 'K' '5' 'k' 'K' '"' '~'
+L 'L' '5' 'l' 'L' ''' '`'
+M 'M' '6' 'm' 'M' '!' 0x00
+N 'N' '6' 'n' 'N' '>' 0x0303
+O 'O' '6' 'o' 'O' '(' 0x00
+P 'P' '7' 'p' 'P' ')' 0x00
+Q 'Q' '7' 'q' 'Q' '*' 0x0300
+R 'R' '7' 'r' 'R' '3' 0x20AC
+S 'S' '7' 's' 'S' '4' 0x00DF
+T 'T' '8' 't' 'T' '+' 0x00A3
+U 'U' '8' 'u' 'U' '&' 0x0308
+V 'V' '8' 'v' 'V' '=' '^'
+W 'W' '9' 'w' 'W' '1' 0x00
+X 'X' '9' 'x' 'X' '8' 0xEF00
+Y 'Y' '9' 'y' 'Y' '%' 0x00A1
+Z 'Z' '9' 'z' 'Z' '7' 0x00
+
+# on pc keyboards
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+TAB 0x9 0x9 0x9 0x9 0x9 0x9
+0 '0' '0' '0' ')' ')' ')'
+1 '1' '1' '1' '!' '!' '!'
+2 '2' '2' '2' '@' '@' '@'
+3 '3' '3' '3' '#' '#' '#'
+4 '4' '4' '4' '$' '$' '$'
+5 '5' '5' '5' '%' '%' '%'
+6 '6' '6' '6' '^' '^' '^'
+7 '7' '7' '7' '&' '&' '&'
+8 '8' '8' '8' '*' '*' '*'
+9 '9' '9' '9' '(' '(' '('
+
+GRAVE '`' '`' '`' '~' '`' '~'
+MINUS '-' '-' '-' '_' '-' '_'
+EQUALS '=' '=' '=' '+' '=' '+'
+LEFT_BRACKET '[' '[' '[' '{' '[' '{'
+RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
+BACKSLASH '\' '\' '\' '|' '\' '|'
+SEMICOLON ';' ';' ';' ':' ';' ':'
+APOSTROPHE ''' ''' ''' '"' ''' '"'
+STAR '*' '*' '*' '*' '*' '*'
+POUND '#' '#' '#' '#' '#' '#'
+PLUS '+' '+' '+' '+' '+' '+'
+
diff --git a/cypress-touchkey.kl b/cypress-touchkey.kl
new file mode 100644
index 0000000..79d6480
--- /dev/null
+++ b/cypress-touchkey.kl
@@ -0,0 +1,4 @@
+key 139 MENU VIRTUAL
+key 102 HOME VIRTUAL
+key 158 BACK VIRTUAL
+key 217 SEARCH VIRTUAL
diff --git a/egl.cfg b/egl.cfg
new file mode 100644
index 0000000..3e1a8c6
--- /dev/null
+++ b/egl.cfg
@@ -0,0 +1 @@
+0 1 POWERVR_SGX540_120
diff --git a/full_galaxysmtd.mk b/full_galaxysmtd.mk
new file mode 100644
index 0000000..694b898
--- /dev/null
+++ b/full_galaxysmtd.mk
@@ -0,0 +1,37 @@
+# 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 is the build configuration for a full Android
+# build for crespo hardware. This cleanly combines a set of
+# device-specific aspects (drivers) with a device-agnostic
+# product configuration (apps).
+#
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
+# This is where we'd set a backup provider if we had one
+#$(call inherit-product, device/sample/products/backup_overlay.mk)
+$(call inherit-product, device/samsung/galaxysmtd/galaxysmtd.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full.mk)
+
+# Galaxy S uses high-density artwork where available
+PRODUCT_LOCALES += hdpi
+
+# Discard inherited values and use our own instead.
+PRODUCT_NAME := full_galaxysmtd
+PRODUCT_DEVICE := galaxysmtd
+PRODUCT_BRAND := samsung
+PRODUCT_MANUFACTURER := samsung
+PRODUCT_MODEL := GT-I9000
diff --git a/galaxysmtd.mk b/galaxysmtd.mk
new file mode 100644
index 0000000..24e3d85
--- /dev/null
+++ b/galaxysmtd.mk
@@ -0,0 +1,172 @@
+# 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 the device-specific product definition file for
+# crespo. It lists all the overlays, files, modules and properties
+# that are specific to this hardware: i.e. those are device-specific
+# drivers, configuration files, settings, etc...
+
+# Note that crespo is not a fully open device. Some of the drivers
+# aren't publicly available in all circumstances, which means that some
+# of the hardware capabilities aren't present in builds where those
+# drivers aren't available. Such cases are handled by having this file
+# separated into two halves: this half here contains the parts that
+# are available to everyone, while another half in the vendor/ hierarchy
+# augments that set with the parts that are only relevant when all the
+# associated drivers are available. Aspects that are irrelevant but
+# harmless in no-driver builds should be kept here for simplicity and
+# transparency. There are two variants of the half that deals with
+# the unavailable drivers: one is directly checked into the unreleased
+# vendor tree and is used by engineers who have access to it. The other
+# is generated by setup-makefile.sh in the same directory as this files,
+# and is used by people who have access to binary versions of the drivers
+# but not to the original vendor tree. Be sure to update both.
+
+
+# These is the hardware-specific overlay, which points to the location
+# of hardware-specific resource overrides, typically the frameworks and
+# application settings that are stored in resourced.
+DEVICE_PACKAGE_OVERLAYS := device/samsung/galaxysmtd/overlay
+
+# These are the hardware-specific configuration files
+PRODUCT_COPY_FILES := \
+ device/samsung/galaxysmtd/asound.conf:system/etc/asound.conf \
+ device/samsung/galaxysmtd/vold.fstab:system/etc/vold.fstab \
+ device/samsung/galaxysmtd/egl.cfg:system/lib/egl/egl.cfg
+
+# Init files
+PRODUCT_COPY_FILES += \
+ device/samsung/galaxysmtd/init.rc:root/init.rc \
+ device/samsung/galaxysmtd/init.aries.rc:root/init.aries.rc \
+ device/samsung/galaxysmtd/ueventd.aries.rc:root/ueventd.aries.rc \
+ device/samsung/galaxysmtd/setupenv.sh:recovery/root/sbin/setupenv.sh
+
+
+# Prebuilt kl keymaps
+PRODUCT_COPY_FILES += \
+ device/samsung/galaxysmtd/cypress-touchkey.kl:system/usr/keylayout/cypress-touchkey.kl \
+ device/samsung/galaxysmtd/sec_jack.kl:system/usr/keylayout/sec_jack.kl \
+ device/samsung/galaxysmtd/aries-keypad.kl:system/usr/keylayout/aries-keypad.kl \
+ device/samsung/galaxysmtd/s3c-keypad.kl:system/usr/keylayout/s3c-keypad.kl
+
+# Generated kcm keymaps
+PRODUCT_PACKAGES := \
+ cypress-touchkey.kcm \
+ s3c-keypad.kcm
+
+# Filesystem management tools
+PRODUCT_PACKAGES += \
+ make_ext4fs \
+ setup_fs
+
+# These are the OpenMAX IL configuration files
+PRODUCT_COPY_FILES += \
+ device/samsung/aries-common/sec_mm/sec_omx/sec_omx_core/secomxregistry:system/etc/secomxregistry \
+ device/samsung/galaxysmtd/media_profiles.xml:system/etc/media_profiles.xml
+
+# These are the OpenMAX IL modules
+PRODUCT_PACKAGES += \
+ libSEC_OMX_Core.aries \
+ libOMX.SEC.AVC.Decoder.aries \
+ libOMX.SEC.M4V.Decoder.aries \
+ libOMX.SEC.M4V.Encoder.aries \
+ libOMX.SEC.AVC.Encoder.aries
+
+# Misc other modules
+PRODUCT_PACKAGES += \
+ lights.aries \
+ overlay.aries \
+ sensors.aries
+
+# Libs
+PRODUCT_PACKAGES += \
+ libcamera \
+ libstagefrighthw
+
+# apns config file
+PRODUCT_COPY_FILES += \
+ vendor/cyanogen/prebuilt/common/etc/apns-conf.xml:system/etc/apns-conf.xml
+
+# These are the hardware-specific features
+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.camera.front.xml:system/etc/permissions/android.hardware.camera.front.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.xml:system/etc/permissions/android.hardware.location.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.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
+ frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
+ packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml
+
+# The OpenGL ES API level that is natively supported by this device.
+# This is a 16.16 fixed point number
+PRODUCT_PROPERTY_OVERRIDES := \
+ ro.opengles.version=131072
+
+# These are the hardware-specific settings that are stored in system properties.
+# Note that the only such settings should be the ones that are too low-level to
+# be reachable from resources or other mechanisms.
+PRODUCT_PROPERTY_OVERRIDES += \
+ wifi.interface=eth0 \
+ wifi.supplicant_scan_interval=20 \
+ dalvik.vm.heapsize=32m
+
+# enable Google-specific location features,
+# like NetworkLocationProvider and LocationCollector
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.com.google.locationfeatures=1 \
+ ro.com.google.networklocation=1
+
+# Extended JNI checks
+# The extended JNI checks will cause the system to run more slowly, but they can spot a variety of nasty bugs
+# before they have a chance to cause problems.
+# Default=true for development builds, set by android buildsystem.
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.kernel.android.checkjni=0 \
+ dalvik.vm.checkjni=false
+
+# we have enough storage space to hold precise GC data
+PRODUCT_TAGS += dalvik.gc.type-precise
+
+# Screen density is actually considered a locale (since it is taken into account
+# the the build-time selection of resources). The product definitions including
+# this file must pay attention to the fact that the first entry in the final
+# PRODUCT_LOCALES expansion must not be a density.
+PRODUCT_LOCALES := hdpi
+
+# kernel modules
+PRODUCT_COPY_FILES += \
+ device/samsung/galaxysmtd/bcm4329.ko:system/lib/modules/bcm4329.ko \
+ device/samsung/galaxysmtd/cifs.ko:system/lib/modules/cifs.ko \
+ device/samsung/galaxysmtd/tun.ko:system/lib/modules/tun.ko
+
+ifeq ($(TARGET_PREBUILT_KERNEL),)
+ LOCAL_KERNEL := device/samsung/galaxysmtd/kernel
+else
+ LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
+endif
+
+PRODUCT_COPY_FILES += \
+ $(LOCAL_KERNEL):kernel
+
+# See comment at the top of this file. This is where the other
+# half of the device-specific product definition file takes care
+# of the aspects that require proprietary drivers that aren't
+# commonly available
+$(call inherit-product-if-exists, vendor/samsung/galaxysmtd/galaxysmtd-vendor.mk)
diff --git a/init.aries.rc b/init.aries.rc
new file mode 100644
index 0000000..60f8298
--- /dev/null
+++ b/init.aries.rc
@@ -0,0 +1,338 @@
+on boot
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+
+# Backwards Compat - XXX: Going away in G*
+ symlink /system/etc /etc
+ symlink /mnt/sdcard /sdcard
+ symlink /mnt/emmc /emmc
+
+# Include extra init file
+ import /system/etc/init.local.rc
+
+# Run sysinit
+ exec /system/bin/sysinit
+
+ setprop ro.build.product aries
+ setprop ro.product.device aries
+ setprop ro.radio.noril yes
+ setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
+
+# fake some battery state
+ setprop status.battery.state Slow
+ setprop status.battery.level 5
+ setprop status.battery.level_raw 50
+ setprop status.battery.level_scale 9
+
+# wi-fi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+
+# phone
+ setprop ro.telephony.call_ring.multiple 0
+
+# change permission for uart_switch
+ chown radio radio /sys/class/sec/uart_switch/UART_SEL/value
+ chown compass root /sys/class/input/input3/distortion
+ chown compass root /sys/class/input/input3/offsets
+ chown compass root /sys/class/input/input3/shape
+ chown compass root /sys/class/input/input3/threshold
+ chmod 660 /sys/class/sec/uart_switch/UART_SEL/value
+
+# change permission for compass
+ chown compass input /sys/class/input/input3/offsets
+ chown compass input /sys/class/input/input3/shape
+ chown compass input /sys/class/input/input3/distortion
+ chown compass input /sys/class/input/input3/threshold
+# create data/gps for GPS demon
+ mkdir /data/gps 700 gps system
+ chown gps system /data/gps
+ chown gps root /sys/class/sec/gps/GPS_PWR_EN/value
+ chmod 660 /sys/class/sec/gps/GPS_PWR_EN/value
+
+on fs
+ mount yaffs2 mtd@system /system
+ mount yaffs2 mtd@cache /cache
+ mount ext4 /dev/block/mmcblk0p2 /data wait nosuid nodev noatime nodiratime noauto_da_alloc
+ mount yaffs2 mtd@datadata /datadata
+
+# We chown/chmod /efs because mount is run as root + defaults
+ mkdir /efs 0775 radio radio
+ mount yaffs2 /dev/block/mtdblock4 /efs
+ chown radio radio /efs
+ chmod 770 /efs/bluetooth
+ chmod 770 /efs/imei
+
+# permissions for bluetooth.
+ chown bluetooth bluetooth /efs/bluetooth
+ chown bluetooth bluetooth ro.bt.bdaddr_path
+ chown bluetooth bluetooth /dev/s3c2410_serial0
+ chmod 0600 /dev/s3c2410_serial0
+ chmod 0660 /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
+
+# Permissions for System Server and daemons.
+ chown system system /sys/class/backlight/s5p_bl/brightness
+
+
+
+on post-fs
+ # once everything is setup, no need to modify /
+ #mount rootfs rootfs / ro remount
+
+ # remove /sbin/sh so that "adb install" can work properly
+ exec /sbin/setupenv.sh
+
+ # We chown/chmod /data and /datadata again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+ chown system system /datadata
+ chmod 0771 /datadata
+
+ # 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 0750 /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 0640 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0640 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
+ # Same reason as /data above
+ chown system cache /cache
+ chmod 0771 /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/local 0771 shell shell
+ mkdir /data/local/tmp 0771 shell shell
+ #mkdir /data/data 0771 system system
+ # symlink /data/data to /datadata for performance
+ symlink /datadata /data/data
+
+ mkdir /data/app-private 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+
+ # 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
+
+
+service gpsd /system/vendor/bin/gpsd -c /vendor/etc/gps.xml
+ socket gps seqpacket 0660 gps system
+ user gps
+ group system inet
+
+# 3D init
+service pvrsrvinit /system/vendor/bin/pvrsrvinit
+ user root
+ group root
+ oneshot
+
+service wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/misc/wifi/wpa_supplicant.conf
+ socket wpa_eth0 dgram 0660 wifi wifi
+ disabled
+ oneshot
+
+service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
+ disabled
+ oneshot
+
+service hciattach /system/bin/brcm_patchram_plus --enable_hci --enable_lpm \
+ --baudrate 3000000 --patchram /vendor/firmware/bcm4329.hcd /dev/s3c2410_serial0
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+# bugreport is triggered by holding down volume down, volume up and power
+service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
+ disabled
+ oneshot
+ keycodes 114 115 116
+
+service servicemanager /system/bin/servicemanager
+ user system
+ critical
+ onrestart restart zygote
+ onrestart restart media
+
+service vold /system/bin/vold
+ socket vold stream 0660 root mount
+ ioprio be 2
+
+service netd /system/bin/netd
+ socket netd stream 0660 root system
+
+service debuggerd /system/bin/debuggerd
+
+service ril-daemon /system/bin/rild
+ socket rild stream 660 root radio
+ socket rild-debug stream 660 radio system
+ user root
+ group radio cache inet misc audio sdcard_rw net_admin net_raw
+
+service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
+ 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
+ user media
+ group system audio camera graphics inet net_bt net_bt_admin net_raw
+ ioprio rt 4
+
+service bootanim /system/bin/bootanimation
+ user graphics
+ group graphics
+ disabled
+ oneshot
+
+service dbus /system/bin/dbus-daemon --system --nofork
+ socket dbus stream 660 bluetooth bluetooth
+ user bluetooth
+ group bluetooth net_bt_admin
+
+service bluetoothd /system/bin/bluetoothd -n
+ 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
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service opush /system/bin/sdptool add --channel=12 OPUSH
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service pbap /system/bin/sdptool add --channel=19 PBAP
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service installd /system/bin/installd
+ socket installd stream 600 system system
+
+service racoon /system/bin/racoon
+ 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
+ socket mtpd stream 600 system system
+ user vpn
+ group vpn net_admin net_raw
+ disabled
+ oneshot
+
+service keystore /system/bin/keystore /data/misc/keystore
+ user keystore
+ group keystore
+ socket keystore stream 666
+
+service dumpstate /system/bin/dumpstate -s
+ socket dumpstate stream 0660 shell log
+ disabled
+ oneshot
+
+service orientationd /system/vendor/bin/orientationd
+ user compass
+ group system input
+
+service geomagneticd /system/vendor/bin/geomagneticd
+ user compass
+ group system input
+
+service tvout /system/bin/tvoutserver
+ user system
+ group graphics
+
+service console /system/bin/sh
+ console
+ disabled
+ user shell
+ group log
+
+on property:ro.secure=0
+ start console
diff --git a/init.rc b/init.rc
new file mode 100644
index 0000000..37e48a3
--- /dev/null
+++ b/init.rc
@@ -0,0 +1,218 @@
+on early-init
+ start ueventd
+
+on init
+
+sysclktz 0
+
+loglevel 9
+
+# setup the global environment
+ export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
+ export LD_LIBRARY_PATH /vendor/lib:/system/lib
+ export ANDROID_BOOTLOGO 1
+ export ANDROID_CACHE /cache
+ export ANDROID_ROOT /system
+ export ANDROID_ASSETS /system/app
+ export ANDROID_DATA /data
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export PHONE_STORAGE /mnt/emmc
+ 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 /sys/kernel/debug /d
+
+# Right now vendor lives on the same filesystem as system,
+# but someday that may change.
+ symlink /system/vendor /vendor
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+ mkdir /mnt/sdcard 0000 system system
+ mkdir /mnt/emmc 0000 system system
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+ mkdir /system
+ mkdir /data 0771 system system
+ mkdir /datadata 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
+
+ # Filesystem image public mount points.
+ mkdir /mnt/obb 0700 root system
+ mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
+
+ mkdir /sd-ext 0771 system system
+
+ 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
+
+on fs
+# mount mtd partitions
+ # Mount /system rw first to give the filesystem a chance to save a checkpoint
+ mount yaffs2 mtd@system /system
+
+
+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 2
+ 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 2048
+ setprop ro.VISIBLE_APP_MEM 3072
+ setprop ro.PERCEPTIBLE_APP_MEM 4096
+ setprop ro.HEAVY_WEIGHT_APP_MEM 4096
+ setprop ro.SECONDARY_SERVER_MEM 6144
+ setprop ro.BACKUP_APP_MEM 6144
+ setprop ro.HOME_APP_MEM 6144
+ setprop ro.HIDDEN_APP_MEM 7168
+ 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,4,7,15
+
+ write /proc/sys/vm/overcommit_memory 1
+ write /proc/sys/vm/min_free_order_shift 4
+ write /sys/module/lowmemorykiller/parameters/minfree 2048,3072,4096,6144,7168,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
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ 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/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/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/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 4096,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
+ 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
+
+ class_start default
+
+## Daemon processes to be run by init.
+##
+service ueventd /sbin/ueventd
+ critical
+
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+ 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
+
diff --git a/kernel b/kernel
new file mode 100755
index 0000000..ca3ad23
--- /dev/null
+++ b/kernel
Binary files differ
diff --git a/media_profiles.xml b/media_profiles.xml
new file mode 100644
index 0000000..788dbd8
--- /dev/null
+++ b/media_profiles.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0">
+ <EncoderProfile quality="hd" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="3000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="256000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="60">
+ <Video codec="h264"
+ bitRate="1000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="256000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="12000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="1" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="1000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="1" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="1" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="8192" maxBitRate="96000"
+ minSampleRate="8000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="5525" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <!--
+ FIXME:
+ We do not check decoder capabilities at present
+ At present, we only check whether windows media is visible
+ for TEST applications. For other applications, we do
+ not perform any checks at all.
+ -->
+ <VideoDecoderCap name="wmv" enabled="false"/>
+ <AudioDecoderCap name="wma" enabled="false"/>
+</MediaSettings>
diff --git a/modem.bin b/modem.bin
new file mode 100644
index 0000000..74e498c
--- /dev/null
+++ b/modem.bin
Binary files differ
diff --git a/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg b/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg
new file mode 100644
index 0000000..811149b
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/frameworks/base/core/res/res/values-de/arrays.xml b/overlay/frameworks/base/core/res/res/values-de/arrays.xml
new file mode 100644
index 0000000..7f97684
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-de/arrays.xml
@@ -0,0 +1,26 @@
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+
+<!-- Defines the shutdown options shown in the reboot dialog. -->
+<resources>
+ <array name="shutdown_reboot_options">
+ <item>Neu starten</item>
+ <item>Recovery</item>
+ </array>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-fi-rFI/arrays.xml b/overlay/frameworks/base/core/res/res/values-fi-rFI/arrays.xml
new file mode 100644
index 0000000..00eb6cb
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-fi-rFI/arrays.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, Google Inc.
+**
+** 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>Käynnistä uudelleen</item>
+ <item>Recovery</item>
+ </array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-fr/arrays.xml b/overlay/frameworks/base/core/res/res/values-fr/arrays.xml
new file mode 100644
index 0000000..69eeb7a
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-fr/arrays.xml
@@ -0,0 +1,25 @@
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<resources>
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>Redémarrage</item>
+ <item>Recovery</item>
+ </array>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-it/arrays.xml b/overlay/frameworks/base/core/res/res/values-it/arrays.xml
new file mode 100644
index 0000000..3984c9a
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-it/arrays.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+
+
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>Riavvia</item>
+ <item>Recovery</item>
+ </array>
+
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-pt-rBR/arrays.xml b/overlay/frameworks/base/core/res/res/values-pt-rBR/arrays.xml
new file mode 100755
index 0000000..7cde789
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-pt-rBR/arrays.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, Google Inc.
+**
+** 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.
+*/
+-->
+<resources>
+
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_lat_lng">
+ <item>-22863878</item>
+ <item>-43244097</item>
+ </integer-array>
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_zoom">
+ <item>3</item>
+ </integer-array>
+
+ <array name="shutdown_reboot_options">
+ <item>Reiniciar</item>
+ <item>Recuperação</item>
+ </array>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-ru/arrays.xml b/overlay/frameworks/base/core/res/res/values-ru/arrays.xml
new file mode 100644
index 0000000..88a5b21
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-ru/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <array name="shutdown_reboot_options">
+ <item>Перезагрузить</item>
+ <item>Recovery</item>
+ </array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-sv/arrays.xml b/overlay/frameworks/base/core/res/res/values-sv/arrays.xml
new file mode 100644
index 0000000..d5adb37
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-sv/arrays.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>Omstart</item>
+ <item>Recovery</item>
+ </array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-uk/arrays.xml b/overlay/frameworks/base/core/res/res/values-uk/arrays.xml
new file mode 100644
index 0000000..9b0081d
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-uk/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <array name="shutdown_reboot_options">
+ <item>Перезавантажити</item>
+ <item>Реж. відновлення</item>
+ </array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-zh-rTW/arrays.xml b/overlay/frameworks/base/core/res/res/values-zh-rTW/arrays.xml
new file mode 100644
index 0000000..fca8906
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-zh-rTW/arrays.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, Google Inc.
+**
+** 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.
+*/
+-->
+<resources>
+
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_lat_lng">
+ <item>25022112</item>
+ <item>121478019</item>
+ </integer-array>
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_zoom">
+ <item>3</item>
+ </integer-array>
+
+
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>重新開機</item>
+ <item>Recovery</item>
+ </array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values/arrays.xml b/overlay/frameworks/base/core/res/res/values/arrays.xml
new file mode 100644
index 0000000..3b32312
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/arrays.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- Do not translate. These are all of the drawable resources that should be preloaded by
+ the zygote process before it starts forking application processes. -->
+ <array name="preloaded_drawables">
+ <item>@drawable/sym_def_app_icon</item>
+ <item>@drawable/arrow_down_float</item>
+ <item>@drawable/btn_check</item>
+ <item>@drawable/btn_check_label_background</item>
+ <item>@drawable/btn_check_off</item>
+ <item>@drawable/btn_check_on</item>
+ <item>@drawable/btn_default</item>
+ <item>@drawable/btn_default_small</item>
+ <item>@drawable/btn_dropdown</item>
+ <item>@drawable/btn_plus</item>
+ <item>@drawable/btn_minus</item>
+ <item>@drawable/btn_radio</item>
+ <item>@drawable/btn_star</item>
+ <item>@drawable/btn_toggle</item>
+ <item>@drawable/ic_emergency</item>
+ <item>@drawable/divider_horizontal_bright</item>
+ <item>@drawable/divider_horizontal_dark</item>
+ <item>@drawable/edit_text</item>
+ <item>@drawable/expander_group</item>
+ <item>@drawable/list_selector_background</item>
+ <item>@drawable/menu_background</item>
+ <item>@drawable/menu_background_fill_parent_width</item>
+ <item>@drawable/menu_selector</item>
+ <item>@drawable/panel_background</item>
+ <item>@drawable/popup_bottom_bright</item>
+ <item>@drawable/popup_bottom_dark</item>
+ <item>@drawable/popup_bottom_medium</item>
+ <item>@drawable/popup_center_bright</item>
+ <item>@drawable/popup_center_dark</item>
+ <item>@drawable/popup_full_dark</item>
+ <item>@drawable/popup_top_bright</item>
+ <item>@drawable/popup_top_dark</item>
+ <item>@drawable/progress_horizontal</item>
+ <item>@drawable/progress_indeterminate_horizontal</item>
+ <item>@drawable/progress_small</item>
+ <item>@drawable/progress_small_titlebar</item>
+ <item>@drawable/screen_background_dark</item>
+ <item>@drawable/screen_background_light</item>
+ <item>@drawable/scrollbar_handle_horizontal</item>
+ <item>@drawable/scrollbar_handle_vertical</item>
+ <item>@drawable/spinner_dropdown_background</item>
+ <item>@drawable/text_select_handle_left</item>
+ <item>@drawable/text_select_handle_middle</item>
+ <item>@drawable/text_select_handle_right</item>
+ <item>@drawable/title_bar</item>
+ <item>@drawable/title_bar_shadow</item>
+ <!-- Visual lock screen -->
+ <item>@drawable/indicator_code_lock_drag_direction_green_up</item>
+ <item>@drawable/indicator_code_lock_drag_direction_red_up</item>
+ <item>@drawable/indicator_code_lock_point_area_default</item>
+ <item>@drawable/indicator_code_lock_point_area_green</item>
+ <item>@drawable/indicator_code_lock_point_area_red</item>
+ <!-- overscroll -->
+ <item>@drawable/overscroll_glow</item>
+ <item>@drawable/overscroll_edge</item>
+ </array>
+
+ <!-- Do not translate. These are all of the color state list resources that should be
+ preloaded by the zygote process before it starts forking application processes. -->
+ <array name="preloaded_color_state_lists">
+ <item>@color/hint_foreground_dark</item>
+ <item>@color/hint_foreground_light</item>
+ <item>@color/primary_text_dark</item>
+ <item>@color/primary_text_dark_disable_only</item>
+ <item>@color/primary_text_light</item>
+ <item>@color/primary_text_light_disable_only</item>
+ <item>@color/primary_text_light_nodisable</item>
+ <item>@color/secondary_text_dark</item>
+ <item>@color/secondary_text_light</item>
+ <item>@color/tab_indicator_text</item>
+ <item>@color/tertiary_text_dark</item>
+ <item>@color/tertiary_text_light</item>
+ <item>#ff000000</item>
+ <item>#00000000</item>
+ <item>#ffffffff</item>
+ </array>
+
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_lat_lng">
+ <item>36149777</item>
+ <item>-95993398</item>
+ </integer-array>
+ <!-- Do not translate. -->
+ <integer-array name="maps_starting_zoom">
+ <item>3</item>
+ </integer-array>
+
+ <!-- Defines the shutdown options shown in the reboot dialog. -->
+ <array name="shutdown_reboot_options">
+ <item>Reboot</item>
+ <item>Recovery</item>
+ </array>
+
+ <!-- Do not translate. Defines the shutdown actions passed to the kernel.
+ The first item should be empty for regular reboot. -->
+ <string-array name="shutdown_reboot_actions">
+ <item></item>
+ <item>recovery</item>
+ </string-array>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..6bed89b
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+ <!-- Flag indicating whether we should enable the automatic brightness in Settings.
+ config_hardware_automatic_brightness_available is not set, so we will use software implementation -->
+ <bool name="config_automatic_brightness_available">true</bool>
+
+ <!-- There is no charging LED. -->
+ <bool name="config_unplugTurnsOnScreen">true</bool>
+
+ <!-- Our amoled doesn't animate well. -->
+ <bool name="config_animateScreenLights">false</bool>
+
+ <!-- disable menu hard key on Crespo in non-pattern lockscreen -->
+ <bool name="config_disableMenuKeyInLockScreen">true</bool>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 zones as follows:
+
+ Zone 0: 0 <= LUX < array[0]
+ Zone 1: array[0] <= LUX < array[1]
+ ...
+ Zone N: array[N - 1] <= LUX < array[N]
+ Zone N + 1: array[N] <= LUX < infinity
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>10</item>
+ <item>160</item>
+ <item>225</item>
+ <item>320</item>
+ <item>640</item>
+ <item>1280</item>
+ <item>2600</item>
+ <item>10240</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>35</item>
+ <item>55</item>
+ <item>70</item>
+ <item>100</item>
+ <item>150</item>
+ <item>175</item>
+ <item>200</item>
+ <item>255</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Array of output values for button backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ -->
+ <integer-array name="config_autoBrightnessButtonBacklightValues">
+ <item>255</item>
+ <item>255</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ </integer-array>
+
+ <!-- Array of output values for keyboard backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ Crespo has no keyboard so all values are zero.
+ -->
+ <integer-array name="config_autoBrightnessKeyboardBacklightValues">
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ </integer-array>
+
+ <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
+ specified -->
+ <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
+
+ <integer name="config_deskDockKeepsScreenOn">0</integer>
+ <integer name="config_carDockKeepsScreenOn">1</integer>
+
+ <!-- Default color for notification LED is white -->
+ <color name="config_defaultNotificationColor">#ffffffff</color>
+
+ <!-- Default blink frequency for notification LED is 9 seconds. -->
+ <integer name="config_defaultNotificationLedOff">9000</integer>
+
+ <!-- Component name of the service providing network location support. -->
+ <string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string>
+
+ <!-- Component name of the service providing geocoder API support. -->
+ <string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string>
+
+
+ <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
+ Please don't copy them, copy anything else. -->
+
+ <!-- This string array should be overridden by the device to present a list of network
+ attributes. This is used by the connectivity manager to decide which networks can coexist
+ based on the hardware -->
+ <!-- An Array of "[Connection name],[ConnectivityManager connection type],
+ [associated radio-type],[priority] -->
+ <string-array translatable="false" name="networkAttributes">
+ <item>"wifi,1,1,1"</item>
+ <item>"mobile,0,0,0"</item>
+ <item>"mobile_mms,2,0,2"</item>
+ <item>"mobile_supl,3,0,2"</item>
+ <item>"mobile_dun,4,0,4"</item>
+ <item>"mobile_hipri,5,0,3"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb0"</item>
+ </string-array>
+
+ <!-- Regex array of allowable upstream ifaces for tethering - for example if you want
+ tethering on a new interface called "foo2" add <item>"foo\\d"</item> to the array -->
+ <string-array translatable="false" name="config_tether_upstream_regexs">
+ <item>"rmnet\\d"</item>
+ <item>"eth\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wl0.1"</item>
+ </string-array>
+
+
+ <!-- Boolean indicating if we require the use of DUN on mobile for tethering -->
+ <bool translatable="false" name="config_tether_dun_required">false</bool>
+
+ <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
+ <integer-array name="config_keyboardTapVibePattern">
+ <item>30</item>
+ </integer-array>
+
+ <!-- Vibrator pattern for feedback about booting with safe mode disabled -->
+ <integer-array name="config_safeModeDisabledVibePattern">
+ <item>1</item>
+ </integer-array>
+
+ <!-- crespo doesn't handle this blur effect very quickly. -->
+ <bool name="config_sf_slowBlur">true</bool>
+
+
+ <!-- Boolean indicating if restoring network selection should be skipped -->
+ <!-- The restoring is handled by modem if it is true -->
+ <bool translatable="false" name="skip_restoring_network_selection">true</bool>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
new file mode 100644
index 0000000..a00f060
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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.
+*/
+-->
+
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">49</item>
+ <item name="bluetooth.active">142</item> <!-- In call -->
+ <item name="bluetooth.on">0.3</item>
+ <!-- CPU wakelock held for 830ms on bluetooth headset at command. 43mA * 830 -->
+ <item name="bluetooth.at">35690</item>
+ <item name="screen.full">260</item>
+ <item name="wifi.on">4</item>
+ <item name="wifi.active">120</item>
+ <item name="wifi.scan">220</item>
+ <item name="dsp.audio">88</item>
+ <item name="dsp.video">88</item>
+ <item name="radio.active">185</item>
+ <item name="gps.on">50</item>
+ <item name="battery.capacity">1500</item>
+ <item name="radio.scanning">88</item>
+ <array name="radio.on"> <!-- Strength 0 to BINS-1 -->
+ <value>3.4</value>
+ <value>3.4</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>100000</value>
+ <value>200000</value>
+ <value>400000</value>
+ <value>800000</value>
+ <value>1000000</value>
+ </array>
+ <!-- Power consumption in suspend -->
+ <item name="cpu.idle">1.4</item>
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">44</item>
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>55.4</value>
+ <value>82.1</value>
+ <value>113.7</value>
+ <value>205.4</value>
+ <value>259.0</value>
+ </array>
+</device>
diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
new file mode 100644
index 0000000..a6af5fd
--- /dev/null
+++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * 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.
+ */
+-->
+<resources>
+ <bool name="def_accelerometer_rotation">true</bool>
+ <bool name="def_screen_brightness_automatic_mode">true</bool>
+</resources>
diff --git a/overlay/frameworks/base/tests/ImfTest/res/values/config.xml b/overlay/frameworks/base/tests/ImfTest/res/values/config.xml
new file mode 100644
index 0000000..157d04a
--- /dev/null
+++ b/overlay/frameworks/base/tests/ImfTest/res/values/config.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * 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.
+ */
+-->
+<resources>
+ <bool name="def_expect_ime_autopop">true</bool>
+</resources>
diff --git a/overlay/packages/apps/Contacts/res/values/config.xml b/overlay/packages/apps/Contacts/res/values/config.xml
new file mode 100644
index 0000000..6e48cd8
--- /dev/null
+++ b/overlay/packages/apps/Contacts/res/values/config.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Crespo-specific Contacts app resources. -->
+<resources>
+ <!-- Enable the onscreen "Dial" button in the dialer. -->
+ <bool name="config_show_onscreen_dial_button">true</bool>
+</resources>
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass.jpg
new file mode 100644
index 0000000..5518d6d
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass_small.jpg
new file mode 100644
index 0000000..a1751e2
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_grass_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains.jpg
new file mode 100644
index 0000000..95c59ea
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains_small.jpg
new file mode 100644
index 0000000..956e8f0
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_mountains_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam.jpg
new file mode 100644
index 0000000..4bc7ff3
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam_small.jpg
new file mode 100644
index 0000000..f034b33
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_phasebeam_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse.jpg
new file mode 100644
index 0000000..2f96d02
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse_small.jpg
new file mode 100644
index 0000000..34ca847
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_pulse_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle.jpg
new file mode 100644
index 0000000..f4a3934
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle_small.jpg
new file mode 100644
index 0000000..d580182
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_shuttle_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars.jpg
new file mode 100644
index 0000000..8f3ec2d
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars_small.jpg
new file mode 100644
index 0000000..ba76f18
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stars_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream.jpg
new file mode 100644
index 0000000..fdd4aaf
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream_small.jpg
new file mode 100644
index 0000000..432d67d
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_stream_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights.jpg
new file mode 100644
index 0000000..a8b6880
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights_small.jpg
new file mode 100644
index 0000000..11c253e
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_street_lights_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset.jpg
new file mode 100644
index 0000000..660040e
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset_small.jpg
new file mode 100644
index 0000000..ed79925
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_sunset_small.jpg
Binary files differ
diff --git a/overlay/packages/apps/Launcher2/res/values-hdpi/wallpapers.xml b/overlay/packages/apps/Launcher2/res/values-hdpi/wallpapers.xml
new file mode 100644
index 0000000..40033cf
--- /dev/null
+++ b/overlay/packages/apps/Launcher2/res/values-hdpi/wallpapers.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2009 Google Inc.
+ *
+ * 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.
+ -->
+
+<resources>
+ <string-array name="wallpapers" translatable="false">
+ <item>wallpaper_street_lights</item>
+ <item>wallpaper_stream</item>
+ <item>wallpaper_phasebeam</item>
+ <item>wallpaper_pulse</item>
+ <item>wallpaper_nexusrain</item>
+ <item>wallpaper_stars</item>
+ <item>wallpaper_canyon</item>
+ <item>wallpaper_grass</item>
+ <item>wallpaper_zanzibar</item>
+ <item>wallpaper_cloud</item>
+ <item>wallpaper_monumentvalley</item>
+ <item>wallpaper_mountains</item>
+ <item>wallpaper_sunset</item>
+ <item>wallpaper_goldengate</item>
+ <item>wallpaper_shuttle</item>
+ </string-array>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values/config.xml b/overlay/packages/apps/Phone/res/values/config.xml
new file mode 100644
index 0000000..69d82c1
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values/config.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Crespo-specific phone app resources. -->
+<resources>
+
+ <!-- Enable the onscreen touch UI for all states of the in-call UI. -->
+ <bool name="allow_incoming_call_touch_ui">true</bool>
+ <bool name="allow_in_call_touch_ui">true</bool>
+
+ <!-- This is a device with capacitive buttons, so disable the feature
+ where BACK rejects the current incoming call. (Since it's so
+ easy to press the key accidentally as you pull the phone out of
+ your pocket.) -->
+ <bool name="allow_back_key_to_reject_incoming_call">false</bool>
+
+ <!-- Enable the onscreen "Dial" button in the emergency dialer. -->
+ <bool name="config_show_onscreen_dial_button">true</bool>
+
+ <!-- This device implements a noise suppression device for in call audio-->
+ <bool name="has_in_call_noise_suppression">true</bool>
+
+</resources>
diff --git a/overlay/packages/apps/Settings/res/values/bools.xml b/overlay/packages/apps/Settings/res/values/bools.xml
new file mode 100644
index 0000000..cc816c0
--- /dev/null
+++ b/overlay/packages/apps/Settings/res/values/bools.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<resources>
+ <!-- Whether or not there is a notification led that is too intrusive to be pulsing
+ constantly -->
+ <bool name="has_intrusive_led">false</bool>
+</resources>
diff --git a/overlay/packages/wallpapers/Basic/res/drawable-hdpi/nexus_thumb.png b/overlay/packages/wallpapers/Basic/res/drawable-hdpi/nexus_thumb.png
new file mode 100644
index 0000000..84462e2
--- /dev/null
+++ b/overlay/packages/wallpapers/Basic/res/drawable-hdpi/nexus_thumb.png
Binary files differ
diff --git a/overlay/packages/wallpapers/Basic/res/drawable-hdpi/pyramid_background.png b/overlay/packages/wallpapers/Basic/res/drawable-hdpi/pyramid_background.png
new file mode 100644
index 0000000..2310a91
--- /dev/null
+++ b/overlay/packages/wallpapers/Basic/res/drawable-hdpi/pyramid_background.png
Binary files differ
diff --git a/overlay/packages/wallpapers/Basic/res/raw/nexus.rs b/overlay/packages/wallpapers/Basic/res/raw/nexus.rs
new file mode 100644
index 0000000..df79689
--- /dev/null
+++ b/overlay/packages/wallpapers/Basic/res/raw/nexus.rs
@@ -0,0 +1,313 @@
+// 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.
+
+#pragma version(1)
+#pragma stateVertex(PVOrtho)
+#pragma stateStore(PSSolid)
+
+#define MAX_PULSES 20
+#define MAX_EXTRAS 40
+#define PULSE_SIZE 14 // Size in pixels of a cell
+#define HALF_PULSE_SIZE 7
+#define GLOW_SIZE 64 // Size of the leading glow in pixels
+#define HALF_GLOW_SIZE 32
+#define SPEED 0.2f // (200 / 1000) Pixels per ms
+#define SPEED_VARIANCE 0.3f
+#define PULSE_NORMAL 0
+#define PULSE_EXTRA 1
+#define TRAIL_SIZE 40 // Number of cells in a trail
+#define MAX_DELAY 2000 // Delay between a pulse going offscreen and restarting
+
+struct pulse_s {
+ int pulseType;
+ float originX;
+ float originY;
+ int color;
+ int startTime;
+ float dx;
+ float dy;
+ float scale;
+ int active;
+};
+struct pulse_s gPulses[MAX_PULSES];
+
+struct pulse_s gExtras[MAX_EXTRAS];
+
+int gNow;
+
+
+void setColor(int c) {
+ if (State->mode == 1) {
+ // sholes red
+ color(0.9f, 0.1f, 0.1f, 0.8f);
+ } else if (c == 0) {
+ // red
+ color(1.0f, 0.0f, 0.0f, 0.8f);
+ } else if (c == 1) {
+ // green
+ color(0.0f, 0.8f, 0.0f, 0.8f);
+ } else if (c == 2) {
+ // blue
+ color(0.0f, 0.4f, 0.9f, 0.8f);
+ } else if (c == 3) {
+ // yellow
+ color(1.0f, 0.8f, 0.0f, 0.8f);
+ }
+}
+
+void initPulse(struct pulse_s * pulse, int pulseType) {
+ float scale = randf2(0.7f, 1.7f);
+ pulse->scale = scale;
+ if (randf(1) > 0.5f) {
+ pulse->originX = (int)randf(State->width * 2 / PULSE_SIZE) * PULSE_SIZE;
+ pulse->dx = 0;
+ if (randf(1) > 0.5f) {
+ // Top
+ pulse->originY = 0;
+ pulse->dy = scale;
+ } else {
+ // Bottom
+ pulse->originY = State->height / scale;
+ pulse->dy = -scale;
+ }
+ } else {
+ pulse->originY = (int)randf(State->height / PULSE_SIZE) * PULSE_SIZE;
+ pulse->dy = 0;
+ if (randf(1) > 0.5f) {
+ // Left
+ pulse->originX = 0;
+ pulse->dx = scale;
+ } else {
+ // Right
+ pulse->originX = State->width * 2 / scale;
+ pulse->dx = -scale;
+ }
+ }
+ pulse->startTime = gNow + (int)randf(MAX_DELAY);
+
+ pulse->color = (int)randf(4.0f);
+
+ pulse->pulseType = pulseType;
+ if (pulseType == PULSE_EXTRA) {
+ pulse->active = 0;
+ } else {
+ pulse->active = 1;
+ }
+}
+
+void initPulses() {
+ gNow = uptimeMillis();
+ int i;
+ for (i=0; i<MAX_PULSES; i++) {
+ initPulse(&gPulses[i], PULSE_NORMAL);
+ }
+ for (i=0; i<MAX_EXTRAS; i++) {
+ struct pulse_s * p = &gExtras[i];
+ p->pulseType = PULSE_EXTRA;
+ p->active = 0;
+ }
+}
+
+void drawBackground(int width, int height) {
+ bindProgramFragment(NAMED_PFTextureBG);
+ bindTexture(NAMED_PFTextureBG, 0, NAMED_TBackground);
+ color(1.0f, 1.0f, 1.0f, 1.0f);
+ if (State->rotate) {
+ drawRect(0.0f, 0.0f, height*2, width, 0.0f);
+ } else {
+ drawRect(0.0f, 0.0f, width*2, height, 0.0f);
+ }
+}
+
+void drawPulses(struct pulse_s * pulseSet, int setSize) {
+ bindProgramFragment(NAMED_PFTexture);
+ bindProgramFragmentStore(NAMED_PSBlend);
+
+ float matrix[16];
+ float modelMatrix[16];
+
+ int i;
+ for (i=0; i<setSize; i++) {
+ struct pulse_s * p = &pulseSet[i];
+
+ int delta = gNow - p->startTime;
+
+ if (p->active != 0 && delta >= 0) {
+
+ matrixLoadIdentity(modelMatrix);
+ if (State->rotate) {
+ //matrixLoadRotate(modelMatrix, 90.0f, 0.0f, 0.0f, 1.0f);
+ //matrixTranslate(modelMatrix, 0.0f, -height, 1.0f);
+ // XXX: HAX: do not slide display in landscape
+ } else {
+ matrixTranslate(modelMatrix, -(State->xOffset * State->width), 0, 0);
+ }
+ matrixScale(modelMatrix, p->scale, p->scale, 1.0f);
+ vpLoadModelMatrix(modelMatrix);
+
+ float x = p->originX + (p->dx * SPEED * delta);
+ float y = p->originY + (p->dy * SPEED * delta);
+
+ matrixLoadIdentity(matrix);
+ if (p->dx < 0) {
+ vpLoadTextureMatrix(matrix);
+ float xx = x + (TRAIL_SIZE * PULSE_SIZE);
+ if (xx <= 0) {
+ initPulse(p, p->pulseType);
+ } else {
+ setColor(p->color);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TPulse);
+ drawRect(x, y, xx, y + PULSE_SIZE, 0.0f);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TGlow);
+ drawRect(x + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ x + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ 0.0f);
+ }
+ } else if (p->dx > 0) {
+ x += PULSE_SIZE; // need to start on the other side of this cell
+ vpLoadTextureMatrix(matrix);
+ float xx = x - (TRAIL_SIZE * PULSE_SIZE);
+ if (xx >= State->width * 2) {
+ initPulse(p, p->pulseType);
+ } else {
+ setColor(p->color);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TPulse);
+ drawRect(x, y, xx, y + PULSE_SIZE, 0.0f);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TGlow);
+ drawRect(x - HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ x - HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ 0.0f);
+ }
+ } else if (p->dy < 0) {
+ vpLoadTextureMatrix(matrix);
+ float yy = y + (TRAIL_SIZE * PULSE_SIZE);
+ if (yy <= 0) {
+ initPulse(p, p->pulseType);
+ } else {
+ setColor(p->color);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TPulseVert);
+ drawRect(x, yy, x + PULSE_SIZE, y, 0.0f);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TGlow);
+ drawRect(x + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ x + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ y + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ 0.0f);
+ }
+ } else if (p->dy > 0) {
+ y += PULSE_SIZE; // need to start on the other side of this cell
+ vpLoadTextureMatrix(matrix);
+ float yy = y - (TRAIL_SIZE * PULSE_SIZE);
+ if (yy >= State->height) {
+ initPulse(p, p->pulseType);
+ } else {
+ setColor(p->color);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TPulseVert);
+ drawRect(x, yy, x + PULSE_SIZE, y, 0.0f);
+ bindTexture(NAMED_PFTexture, 0, NAMED_TGlow);
+ drawRect(x + HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ y - HALF_PULSE_SIZE - HALF_GLOW_SIZE,
+ x + HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ y - HALF_PULSE_SIZE + HALF_GLOW_SIZE,
+ 0.0f);
+ }
+ }
+ }
+ }
+
+
+ matrixLoadIdentity(matrix);
+ vpLoadTextureMatrix(matrix);
+}
+
+void addTap(int x, int y) {
+ int i;
+ int count = 0;
+ int color = (int)randf(4.0f);
+ float scale = randf2(0.9f, 1.9f);
+ x = (int)(x / PULSE_SIZE) * PULSE_SIZE;
+ y = (int)(y / PULSE_SIZE) * PULSE_SIZE;
+ for (i=0; i<MAX_EXTRAS; i++) {
+ struct pulse_s * p = &gExtras[i];
+ if (p->active == 0) {
+ p->originX = x/scale;
+ p->originY = y/scale;
+ p->scale = scale;
+
+ if (count == 0) {
+ p->dx = scale;
+ p->dy = 0.0f;
+ } else if (count == 1) {
+ p->dx = -scale;
+ p->dy = 0.0f;
+ } else if (count == 2) {
+ p->dx = 0.0f;
+ p->dy = scale;
+ } else if (count == 3) {
+ p->dx = 0.0f;
+ p->dy = -scale;
+ }
+
+ p->active = 1;
+ p->color = color;
+ color++;
+ if (color >= 4) {
+ color = 0;
+ }
+ p->startTime = gNow;
+ count++;
+ if (count == 4) {
+ break;
+ }
+ }
+ }
+}
+
+int main(int index) {
+
+ gNow = uptimeMillis();
+
+ if (Command->command != 0) {
+ //debugF("x", Command->x);
+ //debugF("y", Command->y);
+ Command->command = 0;
+ addTap(Command->x, Command->y);
+ }
+
+ int width = State->width;
+ int height = State->height;
+
+ float matrix[16];
+ matrixLoadIdentity(matrix);
+ if (State->rotate) {
+ //matrixLoadRotate(matrix, 90.0f, 0.0f, 0.0f, 1.0f);
+ //matrixTranslate(matrix, 0.0f, -height, 1.0f);
+ // XXX: HAX: do not slide display in landscape
+ } else {
+ matrixTranslate(matrix, -(State->xOffset * width), 0, 0);
+ }
+
+ vpLoadModelMatrix(matrix);
+
+ drawBackground(width, height);
+
+ drawPulses(gPulses, MAX_PULSES);
+ drawPulses(gExtras, MAX_EXTRAS);
+
+ return 45;
+}
diff --git a/overlay/packages/wallpapers/Basic/res/values/surfacemode.xml b/overlay/packages/wallpapers/Basic/res/values/surfacemode.xml
new file mode 100644
index 0000000..37774ed
--- /dev/null
+++ b/overlay/packages/wallpapers/Basic/res/values/surfacemode.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources>
+ <bool name="use_32bit">true</bool>
+</resources>
diff --git a/qwerty.kl b/qwerty.kl
new file mode 100644
index 0000000..0b1ea74
--- /dev/null
+++ b/qwerty.kl
@@ -0,0 +1,90 @@
+key 399 GRAVE
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 1 BACK WAKE_DROPPED
+key 158 BACK WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
+key 107 ENDCALL WAKE_DROPPED
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 139 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 127 SEARCH WAKE_DROPPED
+key 217 SEARCH WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
+key 115 VOLUME_UP WAKE
+key 114 VOLUME_DOWN WAKE
+key 116 POWER WAKE
+key 212 CAMERA
+
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+key 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 43 BACKSLASH
+
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 39 SEMICOLON
+key 40 APOSTROPHE
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 53 SLASH
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 100 ALT_RIGHT
+key 42 SHIFT_LEFT
+key 54 SHIFT_RIGHT
+key 15 TAB
+key 57 SPACE
+key 150 EXPLORER
+key 155 ENVELOPE
+
+key 12 MINUS
+key 13 EQUALS
+key 215 AT
+
+
diff --git a/recovery.fstab b/recovery.fstab
new file mode 100644
index 0000000..0de500a
--- /dev/null
+++ b/recovery.fstab
@@ -0,0 +1,14 @@
+# mount point fstype device
+
+/recovery mtd recovery
+/boot mtd boot
+/radio mtd radio
+
+/system yaffs2 system
+/cache yaffs2 cache
+/datadata yaffs2 datadata
+
+/sdcard vfat /dev/block/mmcblk0p1
+/data ext4 /dev/block/mmcblk0p2
+
+/emmc vfat /dev/block/mmcblk1p1
diff --git a/recovery.rc b/recovery.rc
new file mode 100644
index 0000000..33be688
--- /dev/null
+++ b/recovery.rc
@@ -0,0 +1,280 @@
+on early-init
+ start ueventd
+
+on init
+
+sysclktz 0
+
+loglevel 9
+
+# setup the global environment
+ export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
+ export LD_LIBRARY_PATH /vendor/lib:/system/lib
+ export ANDROID_BOOTLOGO 1
+ export ANDROID_ROOT /system
+ export ANDROID_ASSETS /system/app
+ export ANDROID_DATA /data
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export PHONE_STORAGE /mnt/emmc
+ export ASEC_MOUNTPOINT /mnt/asec
+ export LOOP_MOUNTPOINT /mnt/obb
+ 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
+
+# symlink /misc to /etc for recovery
+ symlink /misc /etc
+
+# Backward compatibility
+ symlink /sys/kernel/debug /d
+
+# Right now vendor lives on the same filesystem as system,
+# but someday that may change.
+ symlink /system/vendor /vendor
+
+# create temp folder for recovery
+ mkdir /tmp
+
+# create mountpoints
+ mkdir /sdcard 0000 system system
+ mkdir /emmc 0000 system system
+
+# for emergencyboot
+ symlink /sdcard /mnt/sdcard
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+ mkdir /system
+ mkdir /data 0771 system system
+ mkdir /cache 0770 system cache
+ mkdir /config 0500 root root
+ mkdir /efs
+
+ # 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
+
+ # Filesystem image public mount points.
+ mkdir /mnt/obb 0700 root system
+ mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
+
+ 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
+
+on fs
+# 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@cache /cache
+ #mount ext4 /dev/block/mmcblk0p2 /data nosuid nodev noatime nodiratime noauto_da_alloc
+ #mount yaffs2 mtd@datadata /datadata
+
+on post-fs
+ # once everything is setup, no need to modify /
+ #mount rootfs rootfs / ro remount
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+
+ # 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 0750 /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 0640 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0640 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
+ # Same reason as /data above
+ chown system cache /cache
+ chmod 0770 /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/local 0771 shell shell
+ mkdir /data/local/tmp 0771 shell 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
+
+ # 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
+
+ # 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
+
+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
+
+ # 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
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ 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/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/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/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 4096,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
+ 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
+
+ write /dev/graphics/fb3 1
+
+ class_start default
+
+## Daemon processes to be run by init.
+##
+service ueventd /sbin/ueventd
+ critical
+
+service console /sbin/sh
+ console
+ disabled
+ user shell
+ group log
+
+on property:ro.secure=0
+ start console
+
+service recovery /sbin/recovery
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+ 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
diff --git a/s3c-keypad.kcm b/s3c-keypad.kcm
new file mode 100644
index 0000000..8056364
--- /dev/null
+++ b/s3c-keypad.kcm
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '2' 'a' 'A' '#' 0x00
+B 'B' '2' 'b' 'B' '<' 0x00
+C 'C' '2' 'c' 'C' '9' 0x00E7
+D 'D' '3' 'd' 'D' '5' 0x00
+E 'E' '3' 'e' 'E' '2' 0x0301
+F 'F' '3' 'f' 'F' '6' 0x00A5
+G 'G' '4' 'g' 'G' '-' '_'
+H 'H' '4' 'h' 'H' '[' '{'
+I 'I' '4' 'i' 'I' '$' 0x0302
+J 'J' '5' 'j' 'J' ']' '}'
+K 'K' '5' 'k' 'K' '"' '~'
+L 'L' '5' 'l' 'L' ''' '`'
+M 'M' '6' 'm' 'M' '!' 0x00
+N 'N' '6' 'n' 'N' '>' 0x0303
+O 'O' '6' 'o' 'O' '(' 0x00
+P 'P' '7' 'p' 'P' ')' 0x00
+Q 'Q' '7' 'q' 'Q' '*' 0x0300
+R 'R' '7' 'r' 'R' '3' 0x20AC
+S 'S' '7' 's' 'S' '4' 0x00DF
+T 'T' '8' 't' 'T' '+' 0x00A3
+U 'U' '8' 'u' 'U' '&' 0x0308
+V 'V' '8' 'v' 'V' '=' '^'
+W 'W' '9' 'w' 'W' '1' 0x00
+X 'X' '9' 'x' 'X' '8' 0xEF00
+Y 'Y' '9' 'y' 'Y' '%' 0x00A1
+Z 'Z' '9' 'z' 'Z' '7' 0x00
+
+# on pc keyboards
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+TAB 0x9 0x9 0x9 0x9 0x9 0x9
+0 '0' '0' '0' ')' ')' ')'
+1 '1' '1' '1' '!' '!' '!'
+2 '2' '2' '2' '@' '@' '@'
+3 '3' '3' '3' '#' '#' '#'
+4 '4' '4' '4' '$' '$' '$'
+5 '5' '5' '5' '%' '%' '%'
+6 '6' '6' '6' '^' '^' '^'
+7 '7' '7' '7' '&' '&' '&'
+8 '8' '8' '8' '*' '*' '*'
+9 '9' '9' '9' '(' '(' '('
+
+GRAVE '`' '`' '`' '~' '`' '~'
+MINUS '-' '-' '-' '_' '-' '_'
+EQUALS '=' '=' '=' '+' '=' '+'
+LEFT_BRACKET '[' '[' '[' '{' '[' '{'
+RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
+BACKSLASH '\' '\' '\' '|' '\' '|'
+SEMICOLON ';' ';' ';' ':' ';' ':'
+APOSTROPHE ''' ''' ''' '"' ''' '"'
+STAR '*' '*' '*' '*' '*' '*'
+POUND '#' '#' '#' '#' '#' '#'
+PLUS '+' '+' '+' '+' '+' '+'
+
diff --git a/s3c-keypad.kl b/s3c-keypad.kl
new file mode 100644
index 0000000..2bcff82
--- /dev/null
+++ b/s3c-keypad.kl
@@ -0,0 +1,11 @@
+key 42 VOLUME_UP WAKE
+key 58 VOLUME_DOWN WAKE
+key 50 HOME WAKE_DROPPED
+key 26 ENDCALL WAKE_DROPPED
+key 34 BACK WAKE_DROPPED
+key 57 DPAD_LEFT WAKE_DROPPED
+key 49 DPAD_RIGHT WAKE_DROPPED
+key 25 DPAD_UP WAKE_DROPPED
+key 41 DPAD_DOWN WAKE_DROPPED
+key 33 DPAD_CENTER WAKE_DROPPED
+key 10 POWER WAKE
diff --git a/sec_jack.kl b/sec_jack.kl
new file mode 100644
index 0000000..92d6553
--- /dev/null
+++ b/sec_jack.kl
@@ -0,0 +1,3 @@
+key 163 MEDIA_NEXT WAKE
+key 165 MEDIA_PREVIOUS WAKE
+key 226 HEADSETHOOK WAKE
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
new file mode 100644
index 0000000..b62fa65
--- /dev/null
+++ b/setup-makefiles.sh
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# 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.
+
+DEVICE=galaxysmtd
+MANUFACTURER=samsung
+
+mkdir -p ../../../vendor/$MANUFACTURER/$DEVICE
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/$DEVICE-vendor.mk
+# 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 and Themes
+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
+
+# Pick up overlay for features that depend on non-open-source files
+DEVICE_PACKAGE_OVERLAYS := vendor/$MANUFACTURER/aries-common/overlay
+
+\$(call inherit-product, vendor/$MANUFACTURER/$DEVICE/$DEVICE-vendor-blobs.mk)
+\$(call inherit-product, vendor/$MANUFACTURER/aries-common/aries-vendor-blobs.mk)
+EOF
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/BoardConfigVendor.mk
+# 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.
+
+BOARD_GPS_LIBRARIES := libgps
+
+USE_CAMERA_STUB := false
+
+BOARD_USES_GENERIC_AUDIO := false
+
+BOARD_USES_LIBSECRIL_STUB := false
+
+BOARD_NO_PAGE_FLIPPING := false
+BOARD_NO_32BPP := false
+EOF
+
+mkdir -p ../../../vendor/$MANUFACTURER/aries-common/overlay/packages/apps/Launcher2/res/layout
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/aries-common/overlay/packages/apps/Launcher2/res/layout/all_apps.xml
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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/__MANUFACTURER__/__DEVICE__/setup-makefiles.sh -->
+
+<!-- switch to all_apps_3d on devices that support RenderScript -->
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+ <include layout="@layout/all_apps_3d" />
+</merge>
+EOF
diff --git a/setup_fs.c b/setup_fs.c
new file mode 100644
index 0000000..0acf026
--- /dev/null
+++ b/setup_fs.c
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/reboot.h>
+#include <sys/wait.h>
+
+const char *mkfs = "/system/bin/make_ext4fs";
+
+int setup_fs(const char *blockdev)
+{
+ char buf[256], path[128];
+ pid_t child;
+ int status, n;
+
+ /* we might be looking at an indirect reference */
+ n = readlink(blockdev, path, sizeof(path) - 1);
+ if (n > 0) {
+ path[n] = 0;
+ if (!memcmp(path, "/dev/block/", 11))
+ blockdev = path + 11;
+ }
+
+ if (strchr(blockdev,'/')) {
+ fprintf(stderr,"not a block device name: %s\n", blockdev);
+ return 0;
+ }
+
+ sprintf(buf,"/sys/fs/ext4/%s", blockdev);
+ if (access(buf, F_OK) == 0) {
+ fprintf(stderr,"device %s already has a filesystem\n", blockdev);
+ return 0;
+ }
+ sprintf(buf,"/dev/block/%s", blockdev);
+
+ fprintf(stderr,"+++\n");
+
+ child = fork();
+ if (child < 0) {
+ fprintf(stderr,"error: fork failed\n");
+ return 0;
+ }
+ if (child == 0) {
+ execl(mkfs, mkfs, buf, NULL);
+ exit(-1);
+ }
+
+ while (waitpid(-1, &status, 0) != child) ;
+
+ fprintf(stderr,"---\n");
+ return 1;
+}
+
+
+int main(int argc, char **argv)
+{
+ int need_reboot = 0;
+
+ while (argc > 1) {
+ if (strlen(argv[1]) < 128)
+ need_reboot |= setup_fs(argv[1]);
+ argv++;
+ argc--;
+ }
+
+ if (need_reboot) {
+ sync();
+ sync();
+ sync();
+ fprintf(stderr,"REBOOT!\n");
+ reboot(RB_AUTOBOOT);
+ exit(-1);
+ }
+ return 0;
+}
diff --git a/setupenv.sh b/setupenv.sh
new file mode 100755
index 0000000..797b4a9
--- /dev/null
+++ b/setupenv.sh
@@ -0,0 +1,5 @@
+#!/system/bin/sh
+
+rm -rf /sbin/sh
+
+exit \ No newline at end of file
diff --git a/system.prop b/system.prop
new file mode 100644
index 0000000..d9c4009
--- /dev/null
+++ b/system.prop
@@ -0,0 +1,8 @@
+#
+# system.prop for smdkc110
+#
+
+rild.libpath=/vendor/lib/libsec-ril.so
+rild.libargs=-d /dev/ttyS0
+ro.sf.lcd_density=240
+
diff --git a/tun.ko b/tun.ko
new file mode 100644
index 0000000..db90d92
--- /dev/null
+++ b/tun.ko
Binary files differ
diff --git a/ueventd.aries.rc b/ueventd.aries.rc
new file mode 100644
index 0000000..a8d21c7
--- /dev/null
+++ b/ueventd.aries.rc
@@ -0,0 +1,23 @@
+
+/dev/pvrsrvkm 0666 system system
+/dev/video0 0660 system camera
+/dev/video1 0660 system camera
+/dev/video2 0660 system camera
+/dev/s3c-jpg 0660 system camera
+/dev/s3c-mem 0660 system system
+/dev/s3c-mfc 0660 system graphics
+
+/dev/modem_ctl 0660 radio radio
+/dev/modem_fmt 0660 radio radio
+/dev/modem_rfs 0660 radio radio
+/dev/s3c2410_serial3 0660 radio radio
+/dev/block/mtdblock5 0660 radio radio
+/dev/mtd/mtd5ro 0660 radio radio
+
+# for Sensor HAL
+/dev/yamaha_compass 0660 system system
+/dev/akm8973 0660 system system
+/dev/accelerometer 0660 system system
+
+# for GPS
+/dev/s3c2410_serial1 0600 gps gps
diff --git a/unzip-files.sh b/unzip-files.sh
new file mode 100644
index 0000000..cc522cc
--- /dev/null
+++ b/unzip-files.sh
@@ -0,0 +1,207 @@
+#!/bin/sh
+
+# 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.
+
+DEVICE=galaxysmtd
+MANUFACTURER=samsung
+
+####################################
+# aries-common
+#
+
+ mkdir -p ../../../vendor/$MANUFACTURER/aries-common/proprietary
+
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libsecril-client.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/etc/gps.conf -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libsecril-client.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/gpsd -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ chmod 755 ../../../vendor/$MANUFACTURER/aries-common/proprietary/gpsd
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/pvrsrvinit -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ chmod 755 ../../../vendor/$MANUFACTURER/aries-common/proprietary/pvrsrvinit
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/etc/gps.xml -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/bcm4329.hcd -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/nvram_net.txt -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/cypress-touchkey.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/samsung_mfc_fw.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/egl/libGLES_android.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/hw/gps.aries.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/hw/gralloc.aries.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libakm.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libglslcompiler.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libIMGegl.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libpvr2d.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libpvrANDROID_WSEGL.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libPVRScopeServices.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsec-ril.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsrv_init.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsrv_um.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/CE147F02.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libusc.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsensor_yamaha_test.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsensorservice.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/orientationd -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ chmod 755 ../../../vendor/$MANUFACTURER/aries-common/proprietary/orientationd
+ unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/geomagneticd -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ chmod 755 ../../../vendor/$MANUFACTURER/aries-common/proprietary/geomagneticd
+
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libActionShot.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libarccamera.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libcamera_client.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libcamerafirmwarejni.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libcameraservice.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libCaMotion.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libcaps.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libPanoraMax1.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libPlusMe.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libs3cjpeg.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libseccamera.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libseccameraadaptor.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libsecjpegencoder.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libtvout.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/lib_tvoutengine.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libtvoutfimc.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libtvouthdmi.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libtvoutservice.so -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/bin/tvoutserver -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ chmod 755 ../../../vendor/$MANUFACTURER/aries-common/proprietary/tvoutserver
+ unzip -j -o ../../../${DEVICE}_update.zip system/cameradata/datapattern_420sp.yuv -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/cameradata/datapattern_front_420sp.yuv -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/firmware/CE147F00.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/firmware/CE147F01.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/firmware/CE147F02.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+ unzip -j -o ../../../${DEVICE}_update.zip system/firmware/CE147F03.bin -d ../../../vendor/$MANUFACTURER/aries-common/proprietary
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/aries-common/aries-vendor-blobs.mk
+# 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/__MANUFACTURER__/__DEVICE__/unzip-files.sh - DO NOT EDIT
+
+# Prebuilt libraries that are needed to build open-source libraries
+PRODUCT_COPY_FILES := \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsecril-client.so:obj/lib/libsecril-client.so
+
+# All the blobs necessary for aries platform
+PRODUCT_COPY_FILES += \\
+ vendor/$MANUFACTURER/aries-common/proprietary/gps.conf:system/etc/gps.conf \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsecril-client.so:system/lib/libsecril-client.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/gpsd:system/vendor/bin/gpsd \\
+ vendor/$MANUFACTURER/aries-common/proprietary/pvrsrvinit:system/vendor/bin/pvrsrvinit \\
+ vendor/$MANUFACTURER/aries-common/proprietary/gps.xml:system/vendor/etc/gps.xml \\
+ vendor/$MANUFACTURER/aries-common/proprietary/bcm4329.hcd:system/vendor/firmware/bcm4329.hcd \\
+ vendor/$MANUFACTURER/aries-common/proprietary/nvram_net.txt:system/vendor/firmware/nvram_net.txt \\
+ vendor/$MANUFACTURER/aries-common/proprietary/cypress-touchkey.bin:system/vendor/firmware/cypress-touchkey.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/samsung_mfc_fw.bin:system/vendor/firmware/samsung_mfc_fw.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libGLES_android.so:system/lib/egl/libGLES_android.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libEGL_POWERVR_SGX540_120.so:system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libGLESv2_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/gps.aries.so:system/vendor/lib/hw/gps.aries.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/gralloc.aries.so:system/vendor/lib/hw/gralloc.aries.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libakm.so:system/vendor/lib/libakm.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libglslcompiler.so:system/vendor/lib/libglslcompiler.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libIMGegl.so:system/vendor/lib/libIMGegl.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libpvr2d.so:system/vendor/lib/libpvr2d.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libpvrANDROID_WSEGL.so:system/vendor/lib/libpvrANDROID_WSEGL.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libPVRScopeServices.so:system/vendor/lib/libPVRScopeServices.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsec-ril.so:system/vendor/lib/libsec-ril.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsrv_init.so:system/vendor/lib/libsrv_init.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsrv_um.so:system/vendor/lib/libsrv_um.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/CE147F02.bin:system/vendor/firmware/CE147F02.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libusc.so:system/vendor/lib/libusc.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsensor_yamaha_test.so:system/vendor/lib/libsensor_yamaha_test.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsensorservice.so:system/vendor/lib/libsensorservice.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/orientationd:system/vendor/bin/orientationd \\
+ vendor/$MANUFACTURER/aries-common/proprietary/geomagneticd:system/vendor/bin/geomagneticd
+
+PRODUCT_COPY_FILES += \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libActionShot.so:system/lib/libActionShot.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libarccamera.so:system/lib/libarccamera.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libcamera_client.so:system/lib/libcamera_client.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libcamerafirmwarejni.so:system/lib/libcamerafirmwarejni.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libcameraservice.so:system/lib/libcameraservice.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libCaMotion.so:system/lib/libCaMotion.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libcaps.so:system/lib/libcaps.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libPanoraMax1.so:system/lib/libPanoraMax1.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libPlusMe.so:system/lib/libPlusMe.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libs3cjpeg.so:system/lib/libs3cjpeg.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libseccamera.so:system/lib/libseccamera.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libseccameraadaptor.so:system/lib/libseccameraadaptor.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libsecjpegencoder.so:system/lib/libsecjpegencoder.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libtvout.so:system/lib/libtvout.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/lib_tvoutengine.so:system/lib/lib_tvoutengine.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libtvoutfimc.so:system/lib/libtvoutfimc.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libtvouthdmi.so:system/lib/libtvouthdmi.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/libtvoutservice.so:system/lib/libtvoutservice.so \\
+ vendor/$MANUFACTURER/aries-common/proprietary/tvoutserver:system/bin/tvoutserver \\
+ vendor/$MANUFACTURER/aries-common/proprietary/datapattern_420sp.yuv:system/cameradata/datapattern_420sp.yuv \\
+ vendor/$MANUFACTURER/aries-common/proprietary/datapattern_front_420sp.yuv:system/cameradata/datapattern_front_420sp.yuv \\
+ vendor/$MANUFACTURER/aries-common/proprietary/CE147F00.bin:system/firmware/CE147F00.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/CE147F01.bin:system/firmware/CE147F01.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/CE147F02.bin:system/firmware/CE147F02.bin \\
+ vendor/$MANUFACTURER/aries-common/proprietary/CE147F03.bin:system/firmware/CE147F03.bin
+EOF
+
+####################################
+# galaxys
+#
+
+ mkdir -p ../../../vendor/$MANUFACTURER/$DEVICE/proprietary
+
+ unzip -j -o ../../../${DEVICE}_update.zip system/lib/libcamera.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/$DEVICE-vendor-blobs.mk
+# 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/__MANUFACTURER__/__DEVICE__/unzip-files.sh - DO NOT EDIT
+
+# Prebuilt libraries that are needed to build open-source libraries
+PRODUCT_COPY_FILES := \\
+ vendor/$MANUFACTURER/$DEVICE/proprietary/libcamera.so:obj/lib/libcamera.so
+
+# All the blobs necessary for galaxys
+PRODUCT_COPY_FILES += \\
+ vendor/$MANUFACTURER/$DEVICE/proprietary/libcamera.so:system/lib/libcamera.so
+EOF
+
+####################################
+
+./setup-makefiles.sh
diff --git a/updater.sh b/updater.sh
new file mode 100644
index 0000000..02a1c37
--- /dev/null
+++ b/updater.sh
@@ -0,0 +1,121 @@
+#!/tmp/busybox sh
+#
+# Universal Updater Script for Samsung Galaxy S Phones
+# (c) 2011 by Teamhacksung
+#
+
+set -x
+export PATH=/:/sbin:/system/xbin:/system/bin:/tmp:$PATH
+
+# check if we're running on a bml or mtd device
+if /tmp/busybox test -e /dev/block/bml7 ; then
+# we're running on a bml device
+
+ # make sure sdcard is mounted
+ if ! /tmp/busybox grep -q /mnt/sdcard /proc/mounts ; then
+ /tmp/busybox mkdir -p /mnt/sdcard
+ /tmp/busybox umount -l /dev/block/mmcblk0p1
+ if ! /tmp/busybox mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard ; then
+ /tmp/busybox echo "Cannot mount sdcard."
+ exit 1
+ fi
+ fi
+
+ # remove old log
+ rm -rf /mnt/sdcard/cyanogenmod_bml.log
+
+ # everything is logged into /sdcard/cyanogenmod.log
+ exec >> /mnt/sdcard/cyanogenmod_bml.log 2>&1
+
+ # make sure efs is mounted
+ if ! /tmp/busybox grep -q /efs /proc/mounts ; then
+ /tmp/busybox mkdir -p /efs
+ /tmp/busybox umount -l /dev/block/stl3
+ if ! /tmp/busybox mount -t rfs /dev/block/stl3 /efs ; then
+ /tmp/busybox echo "Cannot mount efs."
+ exit 1
+ fi
+ fi
+
+ # create a backup of efs
+ /tmp/busybox rm -rf /mnt/sdcard/backup/efs
+ /tmp/busybox mkdir -p /mnt/sdcard/backup/efs
+ /tmp/busybox cp -R /efs/ /mnt/sdcard/backup
+
+ # write the package path to sdcard cyanogenmod.cfg
+ if /tmp/busybox test -n "$UPDATE_PACKAGE" ; then
+ PACKAGE_LOCATION=${UPDATE_PACKAGE#/mnt}
+ /tmp/busybox echo "$PACKAGE_LOCATION" > /mnt/sdcard/cyanogenmod.cfg
+ fi
+
+ # write new kernel to boot partition
+ /tmp/flash_image boot /tmp/boot.img
+
+ # reboot to interrupt the updater-script and load the mtd kernel
+ # update.zip will be automatically recalled using extendedcommands
+ reboot now
+
+ # make sure to interrupt the updater-script if reboot fails
+ exit 1
+
+elif busybox test -e /dev/block/mtdblock0 ; then
+# we're running on a mtd device
+
+ # make sure sdcard is mounted
+ /tmp/busybox mkdir -p /sdcard
+
+ if ! /tmp/busybox grep -q /sdcard /proc/mounts ; then
+ /tmp/busybox umount -l /dev/block/mmcblk0p1
+ if ! /tmp/busybox mount -t vfat /dev/block/mmcblk0p1 /sdcard ; then
+ /tmp/busybox echo "Cannot mount sdcard."
+ exit 1
+ fi
+ fi
+
+ # if cyanogenmod.cfg exists, we need to do the conversion
+ if /tmp/busybox test -e /sdcard/cyanogenmod.cfg ; then
+
+ # remove old log
+ rm -rf /sdcard/cyanogenmod_mtd.log
+
+ # everything is logged into /sdcard/cyanogenmod.log
+ exec >> /sdcard/cyanogenmod_mtd.log 2>&1
+
+ # unmount and format cache
+ /tmp/busybox umount -l /cache
+ /tmp/erase_image cache
+
+ # unmount and format datadata
+ /tmp/busybox umount -l /datadata
+ /tmp/erase_image datadata
+
+ # flash radio image
+ /tmp/erase_image radio
+ /tmp/flash_image radio /tmp/modem.bin
+
+ # restore efs backup
+ if /tmp/busybox test -e /sdcard/backup/efs/nv_data.bin ; then
+ /tmp/busybox umount -l /efs
+ /tmp/erase_image efs
+ /tmp/busybox mkdir -p /efs
+
+ if ! /tmp/busybox grep -q /efs /proc/mounts ; then
+ if ! /tmp/busybox mount -t yaffs2 /dev/block/mtdblock4 /efs ; then
+ /tmp/busybox echo "Cannot mount efs."
+ exit 1
+ fi
+ fi
+
+ /tmp/busybox cp -R /sdcard/backup/efs /
+ /tmp/busybox umount -l /efs
+ else
+ /tmp/busybox echo "Cannot restore efs."
+ exit 1
+ fi
+
+ # we've finished conversion, remove cyanogenmod.cfg
+ /tmp/busybox rm -f /sdcard/cyanogenmod.cfg
+ fi
+
+ exit 0
+fi
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100644
index 0000000..d2ee83d
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2008 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 executed by build/envsetup.sh, and can use anything
+# defined in envsetup.sh.
+#
+# In particular, you can add lunch options with the add_lunch_combo
+# function: add_lunch_combo generic-eng
+
+add_lunch_combo full_galaxysmtd-eng
diff --git a/vold.fstab b/vold.fstab
new file mode 100644
index 0000000..b1a2880
--- /dev/null
+++ b/vold.fstab
@@ -0,0 +1,19 @@
+## Vold 2.0 Generic fstab
+## - San Mehat (san@android.com)
+##
+
+#######################
+## Regular device mount
+##
+## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
+## label - Label for the volume
+## mount_point - Where the volume will be mounted
+## part - Partition # (1 based), or 'auto' for first usable partition.
+## <sysfs_path> - List of sysfs paths to source devices
+######################
+
+# internal sdcard
+dev_mount sdcard /mnt/sdcard 1 /devices/platform/s3c-sdhci.0/mmc_host/mmc0
+
+# external sdcard
+dev_mount emmc /mnt/emmc auto /devices/platform/s3c-sdhci.2/mmc_host/mmc2 \ No newline at end of file