first commit

This commit is contained in:
Tiziano 2010-09-01 19:23:34 +02:00
commit 2fb2a0a1eb
63 changed files with 4314 additions and 0 deletions

26
AndroidBoard.mk Normal file
View File

@ -0,0 +1,26 @@
LOCAL_PATH := $(call my-dir)
file := $(TARGET_ROOT_OUT)/init.bahamas.rc
ALL_PREBUILT += $(file)
$(file) : $(LOCAL_PATH)/init.bahamas.rc | $(ACP)
$(transform-prebuilt-to-target)
file := $(TARGET_ROOT_OUT)/init.rc
ALL_PREBUILT += $(file)
$(file) : $(LOCAL_PATH)/init.rc | $(ACP)
$(transform-prebuilt-to-target)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := bahamas-keypad.kcm
include $(BUILD_KEY_CHAR_MAP)
# This will install the file in /system/etc
#
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE := vold.fstab
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
-include device/htc/tattoo/AndroidBoardVendor.mk

100
BoardConfig.mk Normal file
View File

@ -0,0 +1,100 @@
# config.mk
#
# Product-specific compile-time definitions.
#
# WARNING: This line must come *before* including the proprietary
# variant, so that it gets overwritten by the parent (which goes
# against the traditional rules of inheritance).
USE_CAMERA_STUB := true
# inherit from the proprietary version
-include device/htc/tattoo/BoardConfigVendor.mk
TARGET_BOARD_PLATFORM := msm7k
TARGET_CPU_ABI := armeabi
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
TARGET_NO_RECOVERY := true
# Wifi related defines
BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := libWifiApi
BOARD_WLAN_TI_STA_DK_ROOT := system/wlan/ti/sta_dk_4_0_4_32
WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wlan.ko"
WIFI_DRIVER_MODULE_ARG := ""
WIFI_DRIVER_MODULE_NAME := "wlan"
WIFI_FIRMWARE_LOADER := "wlan_loader"
TARGET_BOOTLOADER_BOARD_NAME := bahamas
TARGET_BOOTLOADER_LIBS := \
libboot_board_dream_sapphire_combined \
libboot_arch_msm7k \
libboot_arch_armv6
TARGET_BOOTLOADER_LINK_SCRIPT := \
hardware/msm7k/boot/boot.ld
TARGET_PROVIDES_INIT_RC := true
BOARD_KERNEL_CMDLINE := no_console_suspend=1 console=null
BOARD_KERNEL_BASE := 0x02E00000
BOARD_HAVE_BLUETOOTH := true
BOARD_VENDOR_USE_AKMD := akm8973
BOARD_VENDOR_QCOM_AMSS_VERSION := 1355
TARGET_HARDWARE_3D := false
BOARD_GPS_LIBRARIES := libgps librpc
# OpenGL drivers config file path
BOARD_EGL_CFG := device/htc/tattoo/egl.cfg
# Use libcamera2
BOARD_USES_OLD_CAMERA_HACK := true
# No authoring clock for OpenCore on DS
BOARD_NO_PV_AUTHORING_CLOCK := true
BOARD_USES_QCOM_LIBS := true
TARGET_RELEASETOOLS_EXTENSIONS := device/htc/common
TARGET_OTA_ASSERT_DEVICE := bahamas
PRODUCT_BUILD_PROP_OVERRIDES += TARGET_BOOTLOADER_BOARD_NAME=bahamas
# # cat /proc/mtd
# dev: size erasesize name
# mtd0: 00040000 00020000 "misc"
# mtd1: 00500000 00020000 "recovery"
# mtd2: 00280000 00020000 "boot"
# mtd3: 05a00000 00020000 "system"
# mtd4: 05000000 00020000 "cache"
# mtd5: 127c0000 00020000 "userdata"
# Changed for Tattoo
BOARD_BOOTIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00280000)
BOARD_RECOVERYIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00500000)
BOARD_SYSTEMIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x09600000)
BOARD_USERDATAIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x0a520000)
# The size of a block that can be marked bad.
BOARD_FLASH_BLOCK_SIZE := 153600
# Stagefright fully enabled
BUILD_WITH_FULL_STAGEFRIGHT := true
# JIT built in, but disabled by default
#WITH_JIT := true
#ENABLE_JSC_JIT := true
# Stop compiling test_* binaries for eng tag
#STOP_TEST_BINS := true

22
BoardConfigVendor.mk Normal file
View File

@ -0,0 +1,22 @@
# 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/htc/tattoo/setup-makefiles.sh
PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/device/htc/tattoo/prelink-linux-arm-tattoo.map
BOARD_GPS_LIBRARIES := libgps
USE_CAMERA_STUB := false

16
Changelog-SPQRom.txt Normal file
View File

@ -0,0 +1,16 @@
0.3:
-LatinIME setted as default keyboard
-Camera should not drain battery now
-Resolve video issues and enabled streaming from Browser
-Added TattooCalibration.apk
0.2:
-Disabled menu button in lock screen
-Update to lastest CM6 stable release
-Cyanogen Compcache setting activated
-Included Chinese and Japanese Keyboard
-Revisited Layout of Latin Keyboard and USB Storage Dialog for QVGA
0.1:
Initial Release

64
bahamas-keypad.kcm Normal file
View File

@ -0,0 +1,64 @@
[type=QWERTY]
# keycode display number base caps fn caps_fn
A 'A' '2' 'a' 'A' 'a' 'A'
B 'B' '2' 'b' 'B' 'b' 'B'
C 'C' '2' 'c' 'C' 'c' 0x00E7
D 'D' '3' 'd' 'D' ''' 0x00
E 'E' '3' 'e' 'E' '"' 0x0301
F 'F' '3' 'f' 'F' '[' 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' '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' '`' 0x20AC
S 'S' '7' 's' 'S' '\' 0x00DF
T 'T' '8' 't' 'T' '{' 0x00A3
U 'U' '8' 'u' 'U' '_' 0x0308
V 'V' '8' 'v' 'V' 'v' 'V'
W 'W' '9' 'w' 'W' '~' 0x00
X 'X' '9' 'x' 'X' 'x' 0xEF00
Y 'Y' '9' 'y' 'Y' '}' 0x00A1
Z 'Z' '9' 'z' 'Z' 'z' 'Z'
# on pc keyboards
COMMA ',' ',' ',' ',' ',' ','
PERIOD '.' '.' '.' '.' '.' 0x2026
AT '@' 0x00 '@' '@' '@' 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 '+' '+' '+' '+' '+' '+'

BIN
custom/TattooCalibration.apk Executable file

Binary file not shown.

BIN
custom/dropbear Executable file

Binary file not shown.

BIN
custom/dropbearkey Executable file

Binary file not shown.

3
custom/init.d/00sysctl Normal file
View File

@ -0,0 +1,3 @@
#!/system/bin/sh
sysctl -p

View File

@ -0,0 +1,17 @@
#!/system/bin/sh
# - Move /data/dalvik-cache to /cache partition
# - Get the idea from Cyanogen ROM-5.0.4.1
if [ ! -d /cache/dalvik-cache ]
then
mkdir /cache/dalvik-cache
chown system.system /cache/dalvik-cache
chmod 0771 /cache/dalvik-cache
fi
mount -o bind /cache/dalvik-cache /data/dalvik-cache
# double-check the perms
chown system.system /data/dalvik-cache
chmod 0771 /data/dalvik-cache
exit 0

13
custom/init.d/02squashfs Normal file
View File

@ -0,0 +1,13 @@
#!/system/bin/sh
# - SquashFS mounted.
setprop fy.modules.mounted 0
if [ -f /system/squashfs/modules.sqf ]
then
busybox losetup /dev/block/loop0 /system/squashfs/modules.sqf
busybox mount -o ro -t squashfs /dev/block/loop0 /system/lib/modules
setprop fy.modules.mounted 1
fi
exit 0

20
custom/init.d/08compcache Normal file
View File

@ -0,0 +1,20 @@
#!/system/bin/sh
# - load compcache module
if [ -e /data/property/persist.service.compcache ];
then
PROP=`getprop persist.service.compcache`
else
PROP=`getprop ro.compcache.default`
setprop persist.service.compcache $PROP
fi
if [ $PROP == 1 ]
then
insmod /system/lib/modules/ramzswap.ko disksize_kb=30720
busybox swapon /dev/block/ramzswap0
fi
exit 0

View File

@ -0,0 +1,9 @@
#!/system/bin/sh
# - no need to set higher
echo '1' > /sys/devices/virtual/block/mtdblock4/queue/iosched/fifo_batch
echo '1' > /sys/devices/virtual/block/mtdblock5/queue/iosched/fifo_batch
echo '1' > /sys/block/mmcblk0/queue/iosched/fifo_batch
exit 0

8
custom/init.d/80userinit Normal file
View File

@ -0,0 +1,8 @@
#!/system/bin/sh
# - run customized shell at boot time
userscript="/data/local/bin/autostart.sh"
[ -x $userscript ] && /system/bin/sh $userscript
exit 0

5
custom/init.d/99complete Normal file
View File

@ -0,0 +1,5 @@
#!/system/bin/sh
sync
setprop fy.filesystem.ready 1

BIN
custom/logo.rle Normal file

Binary file not shown.

BIN
custom/modules.sqf Executable file

Binary file not shown.

1
custom/passwd Normal file
View File

@ -0,0 +1 @@
root:x:0:0:root:/root:/system/bin/sh

0
custom/placeholder Normal file
View File

BIN
custom/rzscontrol Executable file

Binary file not shown.

11
custom/sysctl.conf Normal file
View File

@ -0,0 +1,11 @@
# - OOM killer simply kill the task that triggered the out-of-memory condition.
# This avoids the expensive tasklist scan to save CPU time.
vm.oom_kill_allocating_task=1
# - retaining dentry and inode caches instead of reclaiming them by default
# to increase battery life.
vm.vfs_cache_pressure=10
# - set page-cluster to 0, ie, 1 page per swapping
vm.page-cluster=0

BIN
custom/tattoo-hack.ko Normal file

Binary file not shown.

View File

@ -0,0 +1,71 @@
# libgps is necessary to complete the compilation
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/logo.rle:root/logo.rle \
device/htc/tattoo/proprietary/libgps.so:obj/lib/libgps.so
# proprietary for /system/squashfs
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/modules.sqf:system/squashfs/modules.sqf
# Files in /system/etc
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/passwd:system/etc/passwd \
device/htc/tattoo/custom/init.d/00sysctl:system/etc/init.d/00sysctl \
device/htc/tattoo/custom/init.d/02squashfs:system/etc/init.d/02squashsf \
device/htc/tattoo/custom/init.d/08compcache:system/etc/init.d/08compcache \
device/htc/tattoo/custom/init.d/20opt_and_fix:system/etc/init.d/20opt_and_fix \
device/htc/tattoo/custom/init.d/80userinit:system/etc/init.d/80userinit \
device/htc/tattoo/custom/init.d/99complete:system/etc/init.d/99complete \
device/htc/tattoo/custom/sysctl.conf:system/etc/sysctl.conf \
device/htc/tattoo/custom/placeholder:system/lib/modules/placeholder
# Tattoo Calibration app
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/TattooCalibration.apk:system/app/TattooCalibration.apk
# proprietary for /system/sbin
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/dropbear:system/xbin/dropbear \
device/htc/tattoo/custom/dropbearkey:system/xbin/dropbearkey \
device/htc/tattoo/custom/rzscontrol:system/xbin/rzscontrol
# proprietary for /system/usr/keychars and /system/usr/keylayout
PRODUCT_COPY_FILES += \
device/htc/tattoo/proprietary/qwerty2.kcm.bin:system/usr/keychars/qwerty2.kcm.bin \
device/htc/tattoo/proprietary/qwerty.kcm.bin:system/usr/keychars/qwerty.kcm.bin
# boot partition
PRODUCT_COPY_FILES += \
device/htc/tattoo/custom/tattoo-hack.ko:root/sbin/tattoo-hack.ko \
# Other bin stuff
PRODUCT_COPY_FILES += \
device/htc/tattoo/proprietary/akm8973:system/bin/akm8973
# proprietary stuff
PRODUCT_COPY_FILES += \
device/htc/tattoo/proprietary/AudioPara4.csv:system/etc/AudioPara4.csv \
device/htc/tattoo/proprietary/AudioFilter.csv:system/etc/AudioFilter.csv \
device/htc/tattoo/proprietary/AudioPreProcess.csv:system/etc/AudioPreProcess.csv \
device/htc/tattoo/proprietary/Fw1251r1c.bin:system/etc/wifi/Fw1251r1c.bin \
device/htc/tattoo/proprietary/tiwlan.ini:system/etc/wifi/tiwlan.ini \
device/htc/tattoo/proprietary/libA2DP.so:system/lib/libA2DP.so \
device/htc/tattoo/proprietary/libaudioeq.so:system/lib/libaudioeq.so \
device/htc/tattoo/proprietary/libGLES_qcom.so:system/lib/egl/libGLES_qcom.so \
device/htc/tattoo/proprietary/libgps.so:system/lib/libgps.so \
device/htc/tattoo/proprietary/liboemcamera.so:system/lib/liboemcamera.so \
device/htc/tattoo/proprietary/libOmxH264Dec.so:system/lib/libOmxH264Dec.so \
device/htc/tattoo/proprietary/libOmxMpeg4Dec.so:system/lib/libOmxMpeg4Dec.so \
device/htc/tattoo/proprietary/libOmxVidEnc.so:system/lib/libOmxVidEnc.so \
device/htc/tattoo/proprietary/libmm-adspsvc.so:system/lib/libmm-adspsvc.so \
device/htc/tattoo/proprietary/libhtc_acoustic.so:system/lib/libhtc_acoustic.so \
device/htc/tattoo/proprietary/libhtc_ril.so:system/lib/libhtc_ril.so \
device/htc/tattoo/proprietary/brf6300.bin:system/etc/firmware/brf6300.bin \
device/htc/tattoo/proprietary/bahamas-keypad.kl:system/usr/keylayout/bahamas-keypad.kl \
device/htc/tattoo/proprietary/h2w_headset.kl:system/usr/keylayout/h2w_headset.kl \
device/htc/tattoo/proprietary/qwerty.kl:system/usr/keylayout/qwerty.kl \
device/htc/tattoo/proprietary/agps_rm:/system/etc/agps_rm \
device/htc/tattoo/proprietary/libt9.so:system/lib/libt9.so \
device/htc/tattoo/proprietary/sensors.bahamas.so:system/lib/hw/sensors.bahamas.so

106
device_tattoo.mk Normal file
View File

@ -0,0 +1,106 @@
#
# 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.
#
# Kernel Targets
ifeq ($(TARGET_PREBUILT_KERNEL),)
ifeq ($(TARGET_KERNEL_CONFIG),)
TARGET_PREBUILT_KERNEL := device/htc/tattoo/kernel
endif # TARGET_KERNEL_CONFIG
endif # TARGET_PREBUILT_KERNEL
DEVICE_PACKAGE_OVERLAYS := device/htc/tattoo/overlay
PRODUCT_PACKAGES += \
librs_jni \
sensors.bahamas
PRODUCT_LOCALES += mdpi
# Live wallpaper packages
PRODUCT_PACKAGES := \
LiveWallpapersPicker \
librs_jni
# Pick up overlay for features that depend on non-open-source files
DEVICE_PACKAGE_OVERLAYS := device/htc/tattoo/overlay
$(call inherit-product, device/htc/tattoo/device_tattoo-vendor-blobs.mk)
# from device_dream_sapphire.mk
PRODUCT_COPY_FILES += \
frameworks/base/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
frameworks/base/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/base/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml
PRODUCT_PROPERTY_OVERRIDES := \
ro.media.dec.jpeg.memcap=10000000
PRODUCT_PROPERTY_OVERRIDES += \
ro.ril.ecc.HTC-WWE=999 \
ro.ril.ecc.HTC-Russia=01,02,03,04,001,002,003,004 \
ro.ril.ecc.HTC-EastEurope=92,93,94 \
ro.ril.enable.a52.HTC-ITA=1 \
ro.ril.enable.a53.HTC-ITA=1
PRODUCT_PROPERTY_OVERRIDES += \
rild.libpath=/system/lib/libhtc_ril.so \
ro.ril.hep = 1 \
ro.ril.enable.dtm = 1 \
ro.ril.gprsclass = 12 \
ro.ril.hsdpa.category = 8 \
ro.ril.hsxpa = 1 \
ro.ril.def.agps.mode = 2 \
wifi.interface = tiwlan0 \
ro.ril.htcmaskw1.bitmask = 4294967295 \
ro.ril.htcmaskw1 = 14449
# Time between scans in seconds. Keep it high to minimize battery drain.
# This only affects the case in which there are remembered access points,
# but none are in range.
PRODUCT_PROPERTY_OVERRIDES += \
wifi.supplicant_scan_interval=30
# density in DPI of the LCD of this board. This is used to scale the UI
# appropriately. If this property is not defined, the default value is 120 dpi.
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.lcd_density=120
# Default network type
# 0 => WCDMA Preferred.
PRODUCT_PROPERTY_OVERRIDES += \
ro.telephony.default_network=0
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version=65536
PRODUCT_PROPERTY_OVERRIDES += \
media.stagefright.enable-http=true \
media.stagefright.enable-player=true \
media.stagefright.enable-meta=true \
media.stagefright.enable-record=true \
media.stagefright.enable-scan=true
# media configuration xml file
PRODUCT_COPY_FILES += \
device/htc/tattoo/media_profiles.xml:/system/etc/media_profiles.xml
# stuff common to all HTC phones
$(call inherit-product, device/htc/common/common.mk)
$(call inherit-product, build/target/product/full.mk)

19
device_tattoo_as.mk Normal file
View File

@ -0,0 +1,19 @@
#
# 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.
#
$(call inherit-product, device/common/gps/gps_as_supl.mk)
$(call inherit-product-if-exists, device/htc/tattoo/device_tattoo_as-vendor.mk)
$(call inherit-product, device/htc/tattoo/device_tattoo.mk)

19
device_tattoo_eu.mk Normal file
View File

@ -0,0 +1,19 @@
#
# 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.
#
$(call inherit-product, device/common/gps/gps_eu_supl.mk)
$(call inherit-product-if-exists, device/htc/tattoo/device_tattoo_eu-vendor.mk)
$(call inherit-product, device/htc/tattoo/device_tattoo.mk)

19
device_tattoo_us.mk Normal file
View File

@ -0,0 +1,19 @@
#
# 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.
#
$(call inherit-product, device/common/gps/gps_us_supl.mk)
$(call inherit-product-if-exists, device/htc/tattoo/device_tattoo_us-vendor.mk)
$(call inherit-product, device/htc/tattoo/device_tattoo.mk)

33
egl.cfg Normal file
View File

@ -0,0 +1,33 @@
#
# 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.
#
# One line per configuration, of the form:
#
# D I TAG
#
# D: display (0: default)
# I: implementation (0: software, 1: hardware)
# TAG: a unique tag
#
# The library name loaded by EGL is constructed as (in that order):
#
# /system/lib/egl/libGLES_$TAG.so
# /system/lib/egl/lib{EGL|GLESv1_CM|GLESv2}_$TAG.so
#
0 0 android
0 0 qcom

108
full_tattoo.mk Normal file
View File

@ -0,0 +1,108 @@
# 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 tattoo 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)
$(call inherit-product, device/htc/tattoo/device_tattoo_eu.mk)
# Specific tattoo init.rc
#PRODUCT_COPY_FILES += \
# device/htc/tattoo/init.rc:root/init.rc
PRODUCT_PROPERTY_OVERRIDES := \
ro.media.dec.jpeg.memcap=10000000
PRODUCT_PROPERTY_OVERRIDES += \
ro.ril.ecc.HTC-WWE=999 \
ro.ril.ecc.HTC-Russia=01,02,03,04,001,002,003,004 \
ro.ril.ecc.HTC-EastEurope=92,93,94 \
ro.ril.enable.a52.HTC-ITA=1 \
ro.ril.enable.a53.HTC-ITA=1
PRODUCT_PROPERTY_OVERRIDES += \
rild.libpath=/system/lib/libhtc_ril.so \
ro.ril.hep = 1 \
ro.ril.enable.dtm = 1 \
ro.ril.gprsclass = 12 \
ro.ril.hsdpa.category = 8 \
ro.ril.hsxpa = 1 \
ro.ril.def.agps.mode = 2 \
wifi.interface = tiwlan0 \
ro.ril.htcmaskw1.bitmask = 4294967295 \
ro.ril.htcmaskw1 = 14449
# Time between scans in seconds. Keep it high to minimize battery drain.
# This only affects the case in which there are remembered access points,
# but none are in range.
PRODUCT_PROPERTY_OVERRIDES += \
wifi.supplicant_scan_interval=30
# density in DPI of the LCD of this board. This is used to scale the UI
# appropriately. If this property is not defined, the default value is 120 dpi.
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.lcd_density=120
PRODUCT_PROPERTY_OVERRIDES += \
keyguard.no_require_sim=true \
ro.secure=0 \
ro.tether.denied=true
# Disable tethering by default
# Disable JIT by default
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.execution-mode=int:fast
# The OpenGL ES API level, 1.0 here
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version=65536
# Active stagefright
PRODUCT_PROPERTY_OVERRIDES += \
media.stagefright.enable-http=true \
media.stagefright.enable-player=true \
media.stagefright.enable-meta=true \
media.stagefright.enable-record=true \
media.stagefright.enable-scan=true
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.locationfeatures=1
# View configuration for QVGA
PRODUCT_PROPERTY_OVERRIDES += \
view.fading_edge_length=8 \
view.touch_slop=15 \
view.minimum_fling_velocity=25 \
view.scroll_friction=0.008
# media configuration xml file
PRODUCT_COPY_FILES += \
device/htc/tattoo/media_profiles.xml:/system/etc/media_profiles.xml
# stuff common to all HTC phones
$(call inherit-product, device/htc/common/common.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full.mk)
# Discard inherited values and use our own instead.
PRODUCT_NAME := full_tattoo
PRODUCT_DEVICE := tattoo
PRODUCT_MODEL := Full Android on Tattoo

94
init.bahamas.rc Executable file
View File

@ -0,0 +1,94 @@
on early-init
device mtd@misc 0460 radio diag
on boot
# unmap left alt to avoid console switch
setkey 0x0 0x38 0x0
# device reset SEND+MENU+END
setkey 0x0 0xe7 0x706
setkey 0x0 0x8b 0x707
setkey 0x40 0xe7 0x706
setkey 0x40 0x8b 0x707
setkey 0x80 0xe7 0x706
setkey 0x80 0x8b 0x707
setkey 0xc0 0xe7 0x706
setkey 0xc0 0x8b 0x707
setkey 0xc0 0x6b 0x20c
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
# bluetooth power up/down interface
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/serial_lock_cpu
chmod 0660 /sys/devices/platform/msm_serial_hs.0/serial_lock_cpu
on property:init.svc.wpa_supplicant=stopped
start dhcp-release
on property:init.svc.dhcp-release=stopped
stop dhcpcd
# compass/accelerometer daemon
service akm8973 /system/bin/akm8973
user compass
group compass misc input
service wlan_loader /system/bin/wlan_loader \
-f /system/etc/wifi/Fw1251r1c.bin -e /proc/calibration \
-i /system/etc/wifi/tiwlan.ini
disabled
oneshot
service wpa_supplicant /system/bin/wpa_supplicant \
-Dtiwlan0 -itiwlan0 -c/data/misc/wifi/wpa_supplicant.conf
user wifi
group wifi inet
socket wpa_tiwlan0 dgram 660 wifi wifi
disabled
oneshot
service dhcpcd /system/bin/dhcpcd -BKL -d tiwlan0
disabled
oneshot
service dhcp-release /system/bin/dhcpcd -k tiwlan0
disabled
oneshot
service hciattach /system/bin/hciattach \
-n -s 115200 /dev/ttyHS0 texasalt 4000000 flow
user bluetooth
group bluetooth net_bt_admin
disabled
# bugreport is triggered by the KEY_BACK and KEY_MENU keycodes
service bugreport /system/bin/bugreport -d -v -z -o /sdcard/bugreports/bugreport
disabled
oneshot
keycodes 158 139
# for USB internet sharing
service udhcpd /system/bin/udhcpd
disabled
oneshot
service netsharing_on /system/bin/netsharing net on
disabled
oneshot
service netsharing_off /system/bin/netsharing net off
disabled
oneshot
service zchgd /system/bin/zchgd
user root
group root graphics
oneshot

410
init.rc Executable file
View File

@ -0,0 +1,410 @@
on init
sysclktz 0
loglevel 3
# setup the global environment
export PATH /sbin:/system/sbin:/system/bin:/system/xbin:/data/local/bin
export LD_LIBRARY_PATH /system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_CACHE /cache
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export EXTERNAL_STORAGE /mnt/sdcard
export ASEC_MOUNTPOINT /mnt/asec
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
export TERMINFO /system/etc/terminfo
# Backward compatibility
symlink /system/etc /etc
symlink /sys/kernel/debug /d
symlink /system/lib /lib
# make /system partition writable
insmod /sbin/tattoo-hack.ko
# create mountpoints
mkdir /mnt 0775 root system
mkdir /mnt/sdcard 0000 system system
# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
mkdir /acct/uid
# Backwards Compat - XXX: Going away in G*
symlink /mnt/sdcard /sdcard
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0771 system cache
mkdir /config 0500 root root
# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root
# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root
# Directory-target for where the secure container
# imagefile directory will be bind-mounted
mkdir /mnt/secure/asec 0700 root root
# Secure container public mount points.
mkdir /mnt/asec 0700 root system
mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
mount rootfs rootfs / ro remount
write /proc/sys/kernel/panic_on_oops 1
write /proc/sys/kernel/hung_task_timeout_secs 0
write /proc/cpu/alignment 4
write /proc/sys/kernel/sched_latency_ns 10000000
write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0
# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0777 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.shares 1024
mkdir /dev/cpuctl/fg_boost
chown system system /dev/cpuctl/fg_boost/tasks
chmod 0777 /dev/cpuctl/fg_boost/tasks
write /dev/cpuctl/fg_boost/cpu.shares 1024
mkdir /dev/cpuctl/bg_non_interactive
chown system system /dev/cpuctl/bg_non_interactive/tasks
chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
# 5.0 %
write /dev/cpuctl/bg_non_interactive/cpu.shares 52
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount yaffs2 mtd@system /system
mount yaffs2 mtd@system /system ro remount
# We chown/chmod /data again so because mount is run as root + defaults
mount yaffs2 mtd@userdata /data nosuid nodev
chown system system /data
chmod 0771 /data
# 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
mount yaffs2 mtd@cache /cache nosuid nodev
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
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
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.SECONDARY_SERVER_ADJ 2
setprop ro.BACKUP_APP_ADJ 2
setprop ro.HOME_APP_ADJ 4
setprop ro.HIDDEN_APP_MIN_ADJ 7
setprop ro.CONTENT_PROVIDER_ADJ 14
setprop ro.EMPTY_APP_ADJ 15
# Define the memory thresholds at which the above process classes will
# be killed. These numbers are in pages (4k).
setprop ro.FOREGROUND_APP_MEM 1536
setprop ro.VISIBLE_APP_MEM 2048
setprop ro.SECONDARY_SERVER_MEM 4096
setprop ro.BACKUP_APP_MEM 4096
setprop ro.HOME_APP_MEM 4096
setprop ro.HIDDEN_APP_MEM 5120
setprop ro.CONTENT_PROVIDER_MEM 5632
setprop ro.EMPTY_APP_MEM 6144
# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have HOME_APP at the
# same memory level as services.
write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
write /proc/sys/vm/overcommit_memory 1
write /proc/sys/vm/min_free_order_shift 4
write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144
# 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
# write Calibration
write /sys/class/input/input1/calibration 8
write /sys/class/input/input1/calibration_points 824,855,206,865,509,502,826,139,201,142
# 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/amber/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/green/off_timer
chown system system /sys/class/leds/amber/blink
chown system system /sys/class/leds/amber/off_timer
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 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 console /system/bin/sh
console
# 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
# Custom autostart scripts, by cn.fyodor
# a dirty hack
service bootsound /system/xbin/busybox run-parts /system/etc/init.d
user root
group root
oneshot
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
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
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

BIN
kernel Executable file

Binary file not shown.

BIN
media/cyanogen.zip Normal file

Binary file not shown.

BIN
media/droid.zip Normal file

Binary file not shown.

153
media_profiles.xml Normal file
View File

@ -0,0 +1,153 @@
<?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>
<!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>
<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
<!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>
<EncoderProfile quality="high" fileFormat="3gp" duration="60">
<Video codec="h263"
bitRate="360000"
width="352"
height="288"
frameRate="20" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
<Video codec="h263"
bitRate="192000"
width="176"
height="144"
frameRate="20" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
<Camera previewFrameRate="0" />
</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="h263" enabled="true"
minBitRate="192000" maxBitRate="420000"
minFrameWidth="176" maxFrameWidth="352"
minFrameHeight="144" maxFrameHeight="288"
minFrameRate="1" maxFrameRate="20" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="192000" maxBitRate="420000"
minFrameWidth="176" maxFrameWidth="352"
minFrameHeight="144" maxFrameHeight="288"
minFrameRate="1" maxFrameRate="20" />
<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="true"/>
<AudioDecoderCap name="wma" enabled="true"/>
</MediaSettings>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="8dip"
>
<ImageView android:id="@+id/icon"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/usb_android" />
<TextView android:id="@+id/banner"
android:layout_centerHorizontal="true"
android:layout_below="@id/icon"
android:layout_marginTop="10dip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:gravity="center"
android:text="@string/usb_storage_title" />
<TextView android:id="@+id/message"
android:layout_below="@id/banner"
android:layout_marginTop="10dip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14sp"
android:gravity="center"
android:text="@string/usb_storage_message" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="6dip"
>
<Button android:id="@+id/mount_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:text="@string/usb_storage_button_mount"
/>
<Button android:id="@+id/unmount_button"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="18dip"
android:paddingRight="18dip"
android:text="@string/usb_storage_stop_button_mount"
/>
<ProgressBar android:id="@+id/progress"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
style="?android:attr/progressBarStyle"
/>
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,330 @@
<?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 the surface flinger has limited
alpha compositing functionality in hardware. If set, the window
manager will disable alpha trasformation in animations where not
strictly needed. -->
<bool name="config_sf_limitedAlpha">false</bool>
<!-- Flag indicating whether the surface flinger is inefficient
at performing a blur. Used by parts of the UI to turn off
the blur effect where it isn't worth the performance hit. -->
<bool name="config_sf_slowBlur">true</bool>
<!-- The duration (in milliseconds) of a short animation. -->
<integer name="config_shortAnimTime">150</integer>
<!-- The duration (in milliseconds) of a medium-length animation. -->
<integer name="config_mediumAnimTime">300</integer>
<!-- The duration (in milliseconds) of a long animation. -->
<integer name="config_longAnimTime">400</integer>
<!-- The duration (in milliseconds) that the radio will scan for a signal
when there's no network connection. If the scan doesn't timeout, use zero -->
<integer name="config_radioScanningTimeout">0</integer>
<!-- 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_hipri,5,0,3"</item>
</string-array>
<!-- This string array should be overridden by the device to present a list of radio
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
<!-- An Array of "[ConnectivityManager connectionType],
[# simultaneous connection types]" -->
<string-array translatable="false" name="radioAttributes">
<item>"1,1"</item>
<item>"0,1"</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>usb\\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>tiwlan\\d</item>
</string-array>
<!-- Dhcp range (min, max) to use for tethering purposes -->
<string-array translatable="false" name="config_tether_dhcp_range">
</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>"tiwlan\\d"</item>
</string-array>
<!-- Boolean indicating if we require the use of DUN on mobile for tethering.
Note that this defaults to false so that if you move to a carrier that
hasn't configured anything tethering will still work. If you'd rather
make the device untetherable on unconfigured devices, set to true -->
<bool translatable="false" name="config_tether_dun_required">false</bool>
<!-- String containing the apn value for tethering. May be overriden by secure settings
TETHER_DUN_APN. Value is a comma separated series of strings:
"name,apn,proxy,port,username,password,server,mmsc,mmsproxy,mmsport,mcc,mnc,auth,type"
note that empty fields can be ommitted: "name,apn,,,,,,,,,310,260,,DUN" -->
<string translatable="false" name="config_tether_apndata"></string>
<!-- Flag indicating whether the keyguard should be bypassed when
the slider is open. This can be set or unset depending how easily
the slider can be opened (for example, in a pocket or purse). -->
<bool name="config_bypass_keyguard_if_slider_open">true</bool>
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">false</bool>
<!-- XXXXXX END OF RESOURCES USING WRONG NAMING CONVENTION -->
<!-- The number of degrees to rotate the display when the keyboard is open. -->
<integer name="config_lidOpenRotation">90</integer>
<!-- The number of degrees to rotate the display when the device is in a desk dock.
A value of -1 means no change in orientation by default. -->
<integer name="config_deskDockRotation">-1</integer>
<!-- The number of degrees to rotate the display when the device is in a car dock.
A value of -1 means no change in orientation by default. -->
<integer name="config_carDockRotation">-1</integer>
<!-- Control whether being in the desk dock (and powered) always
keeps the screen on. By default it stays on when plugged in to
AC. 0 will not keep it on; or together 1 to stay on when plugged
in to AC and 2 to stay on when plugged in to USB. (So 3 for both.) -->
<integer name="config_deskDockKeepsScreenOn">1</integer>
<!-- Control whether being in the car dock (and powered) always
keeps the screen on. By default it stays on when plugged in to
AC. 0 will not keep it on; or together 1 to stay on when plugged
in to AC and 2 to stay on when plugged in to USB. (So 3 for both.) -->
<integer name="config_carDockKeepsScreenOn">1</integer>
<!-- Control whether being in the desk dock should enable accelerometer
based screen orientation. Note this should probably default to true
like car dock, but we haven't had a chance to test it. -->
<bool name="config_deskDockEnablesAccelerometer">false</bool>
<!-- Control whether being in the car dock should enable accelerometer based
screen orientation. This defaults to true because putting a device in
a car dock make the accelerometer more a physical input (like a lid). -->
<bool name="config_carDockEnablesAccelerometer">true</bool>
<!-- Indicate whether the lid state impacts the accessibility of
the physical keyboard. 0 means it doesn't, 1 means it is accessible
when the lid is open, 2 means it is accessible when the lid is
closed. The default is 1. -->
<integer name="config_lidKeyboardAccessibility">1</integer>
<!-- Indicate whether the lid state impacts the accessibility of
the physical keyboard. 0 means it doesn't, 1 means it is accessible
when the lid is open, 2 means it is accessible when the lid is
closed. The default is 0. -->
<integer name="config_lidNavigationAccessibility">0</integer>
<!-- Indicate whether the SD card is accessible without removing the battery. -->
<bool name="config_batterySdCardAccessibility">true</bool>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<item>0</item>
<item>1</item>
<item>20</item>
<item>21</item>
</integer-array>
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<item>0</item>
<item>10</item>
<item>20</item>
<item>30</item>
</integer-array>
<!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
<integer-array name="config_keyboardTapVibePattern">
<item>40</item>
</integer-array>
<!-- Vibrator pattern for feedback about booting with safe mode disabled -->
<integer-array name="config_safeModeDisabledVibePattern">
<item>0</item>
<item>1</item>
<item>20</item>
<item>21</item>
</integer-array>
<!-- Vibrator pattern for feedback about booting with safe mode disabled -->
<integer-array name="config_safeModeEnabledVibePattern">
<item>0</item>
<item>1</item>
<item>20</item>
<item>21</item>
<item>500</item>
<item>600</item>
</integer-array>
<!-- Vibrator pattern for feedback about hitting a scroll barrier -->
<integer-array name="config_scrollBarrierVibePattern">
<item>0</item>
<item>15</item>
<item>10</item>
<item>10</item>
</integer-array>
<!-- Vibrator pattern for feedback about on a key release -->
<integer-array name="config_virtualKeyUpPattern">
<item>5</item>
<item>18</item>
</integer-array>
<bool name="config_use_strict_phone_number_comparation">false</bool>
<!-- Display low battery warning when battery level dips to this value -->
<integer name="config_lowBatteryWarningLevel">15</integer>
<!-- Close low battery warning when battery level reaches this value -->
<integer name="config_lowBatteryCloseWarningLevel">20</integer>
<!-- Default color for notification LED. -->
<color name="config_defaultNotificationColor">#ff00ff00</color>
<!-- Default LED on time for notification LED in milliseconds. -->
<integer name="config_defaultNotificationLedOn">500</integer>
<!-- Default LED off time for notification LED in milliseconds. -->
<integer name="config_defaultNotificationLedOff">2000</integer>
<!-- Allow the menu hard key to be disabled in LockScreen on some devices -->
<bool name="config_disableMenuKeyInLockScreen">true</bool>
<!-- Control whether status bar should distinguish HSPA data icon form UMTS data icon on devices -->
<bool name="config_hspa_data_distinguishable">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">
</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.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLcdBacklightValues">
</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.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessButtonBacklightValues">
</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.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessKeyboardBacklightValues">
</integer-array>
<!-- Amount of time it takes for the light sensor to warm up in milliseconds.
For this time after the screen turns on, the Power Manager
will not debounce light sensor readings -->
<integer name="config_lightSensorWarmupTime">0</integer>
<!-- Enables swipe versus poly-finger touch disambiguation in the KeyboardView -->
<bool name="config_swipeDisambiguation">true</bool>
<!-- Enables special filtering code in the framework for raw touch events
from the touch driver. This code exists for one particular device,
and should not be enabled for any others. Hopefully in the future
it will be removed when the lower-level touch driver generates better
data. -->
<bool name="config_filterTouchEvents">false</bool>
<!-- Enables special filtering code in the framework for raw touch events
from the touch driver. This code exists for one particular device,
and should not be enabled for any others. -->
<bool name="config_filterJumpyTouchEvents">false</bool>
<!-- Component name of the default wallpaper. This will be ImageWallpaper if not
specified -->
<string name="default_wallpaper_component">@null</string>
<!-- 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>
<!-- Boolean indicating if current platform supports bluetooth SCO for off call
use cases -->
<bool name="config_bluetooth_sco_off_call">true</bool>
<!-- The default data-use polling period. -->
<integer name="config_datause_polling_period_sec">600</integer>
<!-- The default data-use threshold in bytes. 0 disables-->
<integer name="config_datause_threshold_bytes">0</integer>
<!-- The default reduced-datarate value in kilobits per sec -->
<integer name="config_datause_throttle_kbitsps">300</integer>
<!-- The default iface on which to monitor data use -->
<string name="config_datause_iface">rmnet0</string>
<!-- The default reduced-datarate notification mask -->
<!-- 2 means give warning -->
<integer name="config_datause_notification_type">2</integer>
</resources>

View File

@ -0,0 +1,128 @@
<?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.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher">
<!-- LAB -->
<favorite
launcher:packageName="com.android.contacts"
launcher:className="com.android.contacts.DialtactsActivity"
launcher:screen="-1"
launcher:x="-1"
launcher:y="-1"
launcher:container="-300" />
<!-- RAB -->
<favorite
launcher:packageName="com.android.browser"
launcher:className="com.android.browser.BrowserActivity"
launcher:screen="-1"
launcher:x="-1"
launcher:y="-1"
launcher:container="-400" />
<!-- Left screen [1] -->
<appwidget
launcher:packageName="com.google.android.apps.genie.geniewidget"
launcher:className="com.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider"
launcher:screen="1"
launcher:x="0"
launcher:y="0"
launcher:spanX="4"
launcher:spanY="1" />
<favorite
launcher:packageName="com.android.camera"
launcher:className="com.android.camera.Camera"
launcher:screen="1"
launcher:x="1"
launcher:y="3" />
<favorite
launcher:packageName="com.android.gallery"
launcher:className="com.android.camera.GalleryPicker"
launcher:screen="1"
launcher:x="2"
launcher:y="3" />
<!-- Middle screen [2] -->
<search
launcher:screen="2"
launcher:x="0"
launcher:y="0" />
<appwidget
launcher:packageName="com.android.protips"
launcher:className="com.android.protips.ProtipWidget"
launcher:screen="2"
launcher:x="0"
launcher:y="1"
launcher:spanX="4"
launcher:spanY="1" />
<favorite
launcher:packageName="com.android.contacts"
launcher:className="com.android.contacts.DialtactsContactsEntryActivity"
launcher:screen="2"
launcher:x="1"
launcher:y="3" />
<favorite
launcher:packageName="com.google.android.apps.maps"
launcher:className="com.google.android.maps.MapsActivity"
launcher:screen="2"
launcher:x="3"
launcher:y="3" />
<favorite
launcher:packageName="com.android.mms"
launcher:className="com.android.mms.ui.ConversationList"
launcher:screen="2"
launcher:x="0"
launcher:y="3" />
<favorite
launcher:packageName="com.android.vending"
launcher:className="com.android.vending.AssetBrowserActivity"
launcher:screen="2"
launcher:x="2"
launcher:y="3" />
<!-- Right screen [3] -->
<appwidget
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"
launcher:screen="3"
launcher:x="0"
launcher:y="0"
launcher:spanX="4"
launcher:spanY="1" />
<favorite
launcher:packageName="com.google.android.gm"
launcher:className="com.google.android.gm.ConversationListActivityGmail"
launcher:screen="3"
launcher:x="1"
launcher:y="3" />
<favorite
launcher:packageName="com.google.android.talk"
launcher:className="com.google.android.talk.SigningInActivity"
launcher:screen="3"
launcher:x="2"
launcher:y="3" />
</favorites>

View File

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<!-- Dialpad in the Contact app.
-->
<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialpad"
android:paddingLeft="7dp"
android:paddingRight="7dp"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
>
<ImageButton android:id="@+id/one"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_1_no_vm"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_one"
/>
<ImageButton android:id="@+id/two"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_2"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_two"
/>
<ImageButton android:id="@+id/three"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_3"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_three"
/>
<ImageButton android:id="@+id/four"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_4"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_four"
/>
<ImageButton android:id="@+id/five"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_5"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_five"
/>
<ImageButton android:id="@+id/six"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_6"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_six"
/>
<ImageButton android:id="@+id/seven"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_7"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_seven"
/>
<ImageButton android:id="@+id/eight"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_8"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_eight"
/>
<ImageButton android:id="@+id/nine"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_9"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_nine"
/>
<ImageButton android:id="@+id/star"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_star"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_star"
/>
<ImageButton android:id="@+id/zero"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_0"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_zero"
/>
<ImageButton android:id="@+id/pound"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_pound"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
android:contentDescription="@string/description_image_button_pound"
/>
</com.android.phone.ButtonGridLayout>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<!-- Text field above the keypad where the digits are displayed.
It's type is set to NULL (to disable the IME keyboard) in the
java code.
-->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="match_parent"
android:layout_height="60dip"
android:gravity="center"
android:maxLines="1"
android:scrollHorizontally="true"
android:textSize="33sp"
android:freezesText="true"
android:background="@drawable/btn_dial_textfield"
android:textColor="@color/dialer_button_text"
android:focusableInTouchMode="true"
android:editable="true"
android:cursorVisible="false"
android:layout_weight="0"
android:contentDescription="@string/description_digits_edittext"
/>
<!-- Keypad section -->
<include layout="@layout/dialpad" />
<!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
<include layout="@layout/voicemail_dial_delete" />
<!-- "Dialpad chooser" UI, shown only when the user brings up the
Dialer while a call is already in progress.
When this UI is visible, the other Dialer elements
(the textfield/button and the dialpad) are hidden. -->
<ListView android:id="@+id/dialpadChooser"
android:layout_width="match_parent"
android:layout_height="1dip"
android:layout_weight="1"
/>
</LinearLayout>

View File

@ -0,0 +1,128 @@
<?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.
-->
<!-- This is the alarm clock in LANDSCAPE desk dock mode.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:id="@+id/desk_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="25dip"
>
<!-- Entire display region (everything but bottom buttons) -->
<!-- Left margin is 4 dip shy of desired to allow for the time to
"hang off" the left-hand side, accommodating the extra glyph
escapement in Clockopia and 3px of text shadow -->
<LinearLayout
android:orientation="vertical"
android:layout_gravity="left"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="25dip"
android:layout_marginTop="8dip"
android:layout_marginRight="18dip"
android:layout_marginBottom="4dip"
>
<!-- across the top: next alarm, battery, nightmode button -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_marginBottom="6dip"
android:layout_marginLeft="4dip"
android:gravity="center_vertical"
>
<TextView android:id="@+id/nextAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:drawablePadding="6dip"
android:drawableLeft="@drawable/ic_lock_idle_alarm"
android:shadowColor="#C0000000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3.0"
/>
<include layout="@layout/desk_clock_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dip"
android:layout_weight="0"
/>
<ImageButton android:id="@+id/nightmode_button"
style="@style/RoundTouchButton"
android:layout_weight="0"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_round_brightness"
android:contentDescription="@string/nightmode_button_description"
android:nextFocusDown="@+id/alarm_button"
/>
</LinearLayout>
<!-- second row: date/time on the left, weather on the right -->
<LinearLayout
android:orientation="horizontal"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
>
<include layout="@layout/desk_clock_time_date"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="5"
/>
<include layout="@layout/desk_clock_weather"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_marginLeft="2dip"
android:layout_weight="5"
/>
</LinearLayout>
</LinearLayout>
<include layout="@layout/desk_clock_buttons" />
</LinearLayout>
<View android:id="@+id/window_tint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CC000000"
android:visibility="visible"
android:clickable="false"
/>
</FrameLayout>

View File

@ -0,0 +1,121 @@
<?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.
-->
<!-- This is the alarm clock in desk dock mode. It shows the time in large
type, plus information about active alarms and charge status. It can
also show some additional status information (e.g. weather data).
Buttons are provided to access alarms, music, and other useful functions.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- the top padding accounts for the status bar area -->
<LinearLayout
android:id="@+id/desk_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="25dip"
>
<!-- Entire display region (everything but bottom buttons) -->
<!-- Left margin is 4 dip shy of desired to allow for the time to
"hang off" the left-hand side, accommodating the extra glyph
escapement in Clockopia and 3px of text shadow -->
<LinearLayout
android:orientation="vertical"
android:layout_gravity="left"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="22dip"
android:layout_marginTop="8dip"
android:layout_marginRight="18dip"
android:layout_marginBottom="4dip"
>
<!-- across the top: next alarm, nightmode button -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_marginLeft="4dip"
android:layout_marginBottom="6dip"
android:gravity="center_vertical"
>
<TextView android:id="@+id/nextAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:drawablePadding="6dip"
android:drawableLeft="@drawable/ic_lock_idle_alarm"
android:shadowColor="#C0000000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3.0"
/>
<ImageButton android:id="@+id/nightmode_button"
style="@style/RoundTouchButton"
android:layout_weight="0"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_round_brightness"
android:contentDescription="@string/nightmode_button_description"
android:nextFocusDown="@+id/alarm_button"
/>
</LinearLayout>
<include layout="@layout/desk_clock_time_date"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<include layout="@layout/desk_clock_weather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_marginTop="2dip"
android:layout_marginBottom="20dip"
android:layout_marginLeft="4dip"
/>
<include layout="@layout/desk_clock_battery"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="0"
android:layout_marginLeft="4dip"
/>
</LinearLayout>
<include layout="@layout/desk_clock_buttons" />
</LinearLayout>
<View android:id="@+id/window_tint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CC000000"
android:visibility="visible"
android:clickable="false"
/>
</FrameLayout>

View File

@ -0,0 +1,78 @@
<?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.
-->
<!-- digital clock & date, together -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/time_date"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:layout_weight="1"
>
<com.android.deskclock.DigitalClock android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dip"
>
<TextView android:id="@+id/timeDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="none"
android:gravity="center"
android:textSize="76sp"
android:textColor="#FFFFFFFF"
android:shadowColor="#C0000000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3.0"
android:paddingBottom="3dip"
/>
<TextView android:id="@+id/am_pm"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="bottom"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:singleLine="true"
android:ellipsize="none"
android:layout_marginLeft="4dip"
android:shadowColor="#C0000000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3.0"
/>
</com.android.deskclock.DigitalClock>
<TextView android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:shadowColor="#C0000000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3.0"
android:layout_marginLeft="4dip"
/>
</LinearLayout>

View File

@ -0,0 +1,6 @@
<resources>
<integer name="config_allAppsFadeInTime">0</integer>
<integer name="config_allAppsFadeOutTime">0</integer>
<integer name="config_allAppsBatchLoadDelay">0</integer>
<integer name="config_allAppsBatchSize">0</integer>
</resources>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialpad"
android:paddingLeft="7dp"
android:paddingRight="7dp"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
>
<ImageButton android:id="@+id/one"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_1_no_vm"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/two"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_2"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/three"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_3"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/four"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_4"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/five"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_5"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/six"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_6"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/seven"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_7"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/eight"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_8"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/nine"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_9"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/star"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_star"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/zero"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_0"
android:background="@drawable/btn_dial"
/>
<ImageButton android:id="@+id/pound"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_pound"
android:background="@drawable/btn_dial"
/>
</com.android.phone.ButtonGridLayout>

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- Sliding drawer widget containing the in-call DTMF dialpad.
On devices that do *not* use an onscreen InCallTouchUi
widget, the dialpad is contained within a SlidingDrawer
(which provides a "handle" that the user must drag open
to access the dialpad.)
See non_drawer_dialpad.xml for the corresponding layout file
for devices that *do* use an InCallTouchUi widget.
-->
<SlidingDrawer
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialer_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:topOffset="5dp"
android:bottomOffset="7dp"
android:handle="@+id/dialer_tab"
android:content="@+id/dtmf_dialer"
android:allowSingleTap="false"
android:visibility="gone"
>
<!-- Drawer handle -->
<LinearLayout
android:id="@id/dialer_tab"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:focusable="true"
>
<ImageView
android:layout_width="1dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleType="fitXY"
android:duplicateParentState="true"
android:src="@drawable/tray_handle_strip"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dtmfDialpadHandleLabel"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold"
android:shadowDy="1"
android:shadowRadius="0.9"
android:shadowColor="#ffffffff"
android:duplicateParentState="true"
android:background="@drawable/tray_handle_tab"/>
<ImageView
android:layout_width="1dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleType="fitXY"
android:src="@drawable/tray_handle_strip"
android:duplicateParentState="true"
/>
</LinearLayout>
<!-- drawer content dialer view -->
<com.android.phone.DTMFTwelveKeyDialerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dtmf_dialer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="1dip"
android:background="@color/dtmf_dialer_background">
<!-- Number Display Field, padded for correct text alignment -->
<EditText android:id="@+id/dtmfDialerField"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="14dp"
android:layout_marginBottom="6dp"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:maxLines="1"
android:scrollHorizontally="true"
android:textSize="28sp"
android:freezesText="true"
android:background="@drawable/btn_dial_textfield_normal_full"
android:textColor="@color/dtmf_dialer_display_text"
android:focusableInTouchMode="false"
android:clickable="false"/>
<!-- Keypad section -->
<include layout="@layout/dialpad" />
<!-- Dummy element to pad below the dialpad -->
<View android:layout_height="1dp"
android:layout_width="match_parent"
android:layout_weight="1"/>
</com.android.phone.DTMFTwelveKeyDialerView>
</SlidingDrawer>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<!-- Text field above the keypad where the digits are displayed -->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="match_parent"
android:layout_height="60dip"
android:gravity="center"
android:maxLines="1"
android:scrollHorizontally="true"
android:textSize="33sp"
android:freezesText="true"
android:background="@drawable/btn_dial_textfield"
android:textColor="@color/dialer_button_text"
android:focusableInTouchMode="false"
android:layout_weight="0"
/>
<!-- Keypad section -->
<include layout="@layout/dialpad" />
<!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
<include layout="@layout/voicemail_dial_delete" />
</LinearLayout>

View File

@ -0,0 +1,152 @@
<?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.
-->
<!-- New style in-call DTMF dialpad, for devices that use the
InCallTouchUi widget, and thus do NOT use a SlidingDrawer
to contain the dialpad.
This provides basically the same UI elements as
dtmf_twelve_key_dialer.xml and dialpad.xml, but in a more
compact layout, and without the SlidingDrawer container.
-->
<com.android.phone.DTMFTwelveKeyDialerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/non_drawer_dtmf_dialer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="1dip"
android:visibility="gone"
>
<!-- Display of the digits you've typed so far -->
<EditText
android:id="@+id/dtmfDialerField"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:maxLines="1"
android:scrollHorizontally="true"
android:textSize="24sp"
android:gravity="center"
android:freezesText="true"
android:background="@null"
android:textColor="@color/dtmf_dialer_display_text"
android:focusableInTouchMode="false"
android:clickable="false"/>
<!-- The dialpad itself -->
<com.android.phone.ButtonGridLayout
android:id="@+id/dialpad"
android:paddingLeft="7dp"
android:paddingRight="7dp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
>
<ImageButton android:id="@+id/one"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_1_no_vm"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/two"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_2"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/three"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_3"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/four"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_4"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/five"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_5"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/six"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_6"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/seven"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_7"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/eight"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_8"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/nine"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_9"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/star"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_star"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/zero"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_0"
android:background="@drawable/btn_dial_green"
/>
<ImageButton android:id="@+id/pound"
android:layout_width="88dp"
android:layout_height="50dp"
android:src="@drawable/dial_num_pound"
android:background="@drawable/btn_dial_green"
/>
</com.android.phone.ButtonGridLayout>
</com.android.phone.DTMFTwelveKeyDialerView>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- XML resource file for the *children* of a CallCard used in the Phone app.
The CallCard itself is a subclass of FrameLayout, and its (single)
child is the LinearLayout found here. (In the CallCard constructor,
we inflate this file and add it as a child.)
TODO: consider just <include>ing this directly from incall_screen.xml? -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- Info about the "secondary" call, displayed at the upper right of
the screen. (If you're on a call with both lines in use, this
area displays the status and caller-id info of the call on hold.)
This block of info needs to be Z-ordered underneath the
primaryCallInfo block, so it's the first child listed here. -->
<LinearLayout android:id="@+id/secondaryCallInfo"
android:orientation="vertical"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="16dp"
>
<TextView android:id="@+id/secondaryCallStatus"
android:text="@string/onHold"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView android:id="@+id/secondaryCallName"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-2dip"
/>
<!-- Scaled-down photo, or else a generic placeholder image. -->
<ImageView android:id="@+id/secondaryCallPhoto"
android:layout_width="106dp"
android:layout_height="101dp"
android:layout_marginTop="-6dip"
android:background="@drawable/incall_photo_border_med"
/>
</LinearLayout>
<!-- The main block of info about the "primary" or "active" call -->
<LinearLayout
android:id="@+id/primaryCallInfo"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="18dip"
>
<!-- "Upper title" at the very top of the CallCard. -->
<TextView android:id="@+id/upperTitle"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="28sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="1dip"
/>
<!-- "Person info": photo / name / number -->
<include layout="@layout/call_card_person_info" />
</LinearLayout> <!-- End of (1) The main call card -->
<!-- The hint about the Menu button, below all the call info.
This is only ever shown on devices that actually have a
menu while in-call, i.e. it's never shown on devices where the
InCallTouchUi is enabled (see InCallScreen.updateMenuButtonHint().) -->
<TextView android:id="@+id/menuButtonHint"
android:text="@string/menuButtonHint"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="18sp"
android:textColor="?android:attr/textColorSecondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/primaryCallInfo"
android:layout_marginTop="22dip"
android:layout_centerHorizontal="true"
android:visibility="gone"
/>
</RelativeLayout>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- XML resource file for the "person info" area of the main
CallCard of the in-call UI, which includes the photo and
name/number TextViews. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/callCardPersonInfo"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<!-- Photo, with elapsed time widget off to the side. -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="152dp"
>
<!-- Photo, or else a generic placeholder image. -->
<!-- Contact photos are generally 96x96 (but may be smaller.)
The layout size of this ImageView is larger than that, though,
to account for the incall_photo_border background, which
adds a white border around the image (and a shadow around
the white border.) -->
<ImageView android:id="@+id/photo"
android:layout_width="172dp"
android:layout_height="146dp"
android:layout_centerHorizontal="true"
android:background="@drawable/incall_photo_border_lg"
/>
<!-- The big "Manage conference" button that we show in place of
the contact photo during a conference call (but only on
devices where the in-call touch UI is enabled.) The photo is
invisible if this button is visible, and vice-versa. -->
<Button android:id="@+id/manageConferencePhotoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="@string/onscreenManageConferenceText"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorPrimary"
android:background="@drawable/manage_conference_photo_button"
android:layout_marginTop="16dip"
/>
<!-- Elapsed time indication for a call in progress. -->
<TextView android:id="@+id/elapsedTime"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="15sp"
android:textStyle="bold"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/photo"
android:layout_alignParentBottom="true"
android:layout_marginBottom="19dip"
android:layout_marginLeft="-14dip"
/>
</RelativeLayout>
<!-- Name (or the phone number, if we don't have a name to display). -->
<TextView android:id="@+id/name"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="28sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-22dip"
android:paddingLeft="4dip"
android:paddingRight="4dip"
android:paddingBottom="4dip"
/>
<!-- Organization, if we set it shown. -->
<TextView android:id="@+id/organization"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="4dip"
android:paddingRight="4dip"
android:layout_marginTop="-8dip"
android:layout_marginBottom="4dip"
/>
<!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-6dip">
<TextView android:id="@+id/label"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="18sp"
android:textColor="?android:attr/textColorSecondary"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="6dip"
/>
<TextView android:id="@+id/phoneNumber"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="18sp"
android:textColor="?android:attr/textColorSecondary"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<!-- Social status -->
<TextView android:id="@+id/socialStatus"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="16sp"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="2"
android:ellipsize="end"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>

View File

@ -0,0 +1,230 @@
<?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.
-->
<!-- In-call onscreen touch UI elements, used on some platforms.
This layout is a fullscreen overlay, drawn on top of the
non-touch-sensitive parts of the in-call UI (i.e. the call card).
The top-level View here is a FrameLayout with 2 children:
(1) incomingCallWidget: the UI displayed while an incoming call is ringing
(2) inCallControls: the widgets visible while a regular call (or calls) is in progress
Exactly one of these is visible at any given moment.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- (1) incomingCallWidget: the UI displayed while an incoming call is ringing. -->
<com.android.internal.widget.SlidingTab
android:id="@+id/incomingCallWidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_alignParentBottom="true"
android:layout_marginBottom="80dip"
/>
<!--
(2) inCallControls: the widgets visible while a regular call
(or calls) is in progress
-->
<RelativeLayout android:id="@+id/inCallControls"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:visibility="gone"
>
<!-- Buttons visible in the upper corners of the screen (in some states). -->
<!-- These are small round ImageButtons with a text label floating
off to the side. -->
<!-- "Hold" (upper left) -->
<!-- (Note "Hold", "Swap" and "Merge" are never available at
the same time. That's why it's OK for them to be in the
same position onscreen.) -->
<LinearLayout android:id="@+id/holdButtonContainer"
style="@style/InCallRoundButtonContainer"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:visibility="gone">
<ImageButton android:id="@+id/holdButton"
style="@style/InCallRoundTouchButton"
android:src="@drawable/ic_in_call_touch_round_hold" />
<TextView android:id="@+id/holdButtonLabel"
style="@style/InCallRoundButtonLabel" />
</LinearLayout>
<!-- "Swap" (upper left) -->
<!-- This button's label changes to "Manage calls" in some CDMA states. -->
<LinearLayout android:id="@+id/swapButtonContainer"
style="@style/InCallRoundButtonContainer"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:visibility="gone">
<ImageButton android:id="@+id/swapButton"
style="@style/InCallRoundTouchButton"
android:src="@drawable/ic_in_call_touch_round_swap" />
<TextView android:id="@+id/swapButtonLabel"
style="@style/InCallRoundButtonLabel" />
</LinearLayout>
<!-- CDMA-specific "Merge" (upper left) -->
<!-- This button is used only on CDMA devices, where we can't use
the Merge button in the main cluster (because the "Add Call"
button might need to be enabled at the same time.) -->
<LinearLayout android:id="@+id/cdmaMergeButtonContainer"
style="@style/InCallRoundButtonContainer"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:visibility="gone">
<ImageButton android:id="@+id/cdmaMergeButton"
style="@style/InCallRoundTouchButton"
android:src="@drawable/ic_in_call_touch_round_merge_call" />
<TextView
style="@style/InCallRoundButtonLabel"
android:text="@string/onscreenMergeCallsText" />
</LinearLayout>
<!-- DTMF dialpad shown in the upper part of the screen
(above the main cluster of buttons.) -->
<!-- TODO: this should be a ViewStub, and should only get inflated
when first needed. -->
<include layout="@layout/non_drawer_dialpad"/>
<!-- Main cluster of onscreen buttons on the lower part of the screen. -->
<LinearLayout android:id="@+id/bottomButtons"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingLeft="4dip"
android:paddingRight="4dip"
android:paddingBottom="0dip"
>
<LinearLayout android:id="@+id/inCallControlsRow1"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<!-- The buttons in the top row all have an icon *and* a
text label, so we use a <Button> with a "top"
compound drawable (rather than an ImageButton, which
can't have a label.) Some buttons set the icon image
here; others do it from Java if the image depends on
the current state of the call. -->
<!-- The upper-left button in the main cluster is either
"Add" or "Merge", depending on the state of the call. -->
<FrameLayout
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:layout_marginLeft="8dip"
android:layout_marginRight="8dip"
>
<!-- "Add Call" -->
<Button android:id="@+id/addButton"
style="@style/InCallTouchButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:layout_marginLeft="0dip"
android:layout_marginRight="0dip"
android:text="@string/onscreenAddCallText"
android:drawableTop="@drawable/ic_in_call_touch_add_call"
/>
<!-- "Merge calls" -->
<!-- This button is used only on GSM devices, where we know
that "Add" and "Merge" are never available at the same time.
The "Merge" button for CDMA devices is "cdmaMergeButton" above. -->
<Button android:id="@+id/mergeButton"
style="@style/InCallTouchButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:layout_marginLeft="0dip"
android:layout_marginRight="0dip"
android:text="@string/onscreenMergeCallsText"
android:drawableTop="@drawable/ic_in_call_touch_merge_call"
/>
</FrameLayout>
<!-- "End call" -->
<Button android:id="@+id/endButton"
style="@style/InCallTouchButton"
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/onscreenEndCallText"
android:drawableTop="@drawable/ic_in_call_touch_end"
android:textColor="@color/incall_endButtonLabel"
/>
<!-- "Dialpad" -->
<Button android:id="@+id/dialpadButton"
style="@style/InCallTouchButton"
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/onscreenShowDialpadText"
/>
</LinearLayout>
<LinearLayout android:id="@+id/inCallControlsRow2"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<!-- "Bluetooth" -->
<ToggleButton android:id="@+id/bluetoothButton"
style="@style/InCallTouchToggleButton"
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textOn="@string/onscreenBluetoothText"
android:textOff="@string/onscreenBluetoothText"
/>
<!-- "Mute" -->
<ToggleButton android:id="@+id/muteButton"
style="@style/InCallTouchToggleButton"
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textOn="@string/onscreenMuteText"
android:textOff="@string/onscreenMuteText"
/>
<!-- "Speaker" -->
<ToggleButton android:id="@+id/speakerButton"
style="@style/InCallTouchToggleButton"
android:layout_width="1dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textOn="@string/onscreenSpeakerText"
android:textOff="@string/onscreenSpeakerText"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,122 @@
<?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.
-->
<!-- Phone app resources that may need to be customized
for different hardware or product builds. -->
<resources>
<!-- Flag indicating whether the Phone app should ignore
EVENT_SIM_NETWORK_LOCKED events from the Sim. If true, this will
prevent the IccNetworkDepersonalizationPanel from being shown,
and effectively disable the "Sim network lock" feature. -->
<bool name="ignore_sim_network_locked_events">false</bool>
<!-- Flag indicating whether the Phone app should provide
a "Dismiss" button on the SIM network unlock screen.
The default value is true.
If set to false, there will be *no way* to dismiss the SIM
network unlock screen if you don't enter the correct unlock code.
(One important consequence: there will be no way to make an
Emergency Call if your SIM is network-locked and you don't know
the PIN.) -->
<bool name="sim_network_unlock_allow_dismiss">true</bool>
<!-- If true, enable the onscreen touch UI for incoming calls.
This feature is necessary for devices with no hard SEND/END keys,
and optional on all other devices. -->
<bool name="allow_incoming_call_touch_ui">false</bool>
<!-- If true, enable the onscreen touch UI for regular "ongoing call"
states of the in-call UI.
In general, the touch UI is used for regular calls only on
devices with a proximity sensor. (On other devices, we can't
have touchable UI onscreen during a call because of the risk of
false cheek touches.)
TODO: maybe this can be determined algorithmically based on
specific properties of the device, perhaps by detecting the
presence of a proximity sensor and/or hard SEND/END keys. (If
so, we wouldn't need this flag at all.) -->
<bool name="allow_in_call_touch_ui">false</bool>
<!-- OTA configuration values, used when provisioning CDMA devices.
Following defaults values of zero means OTA UI is completely disabled.
These OTA UI can be enabled by setting config value to one in the product
specific overlay file -->
<!-- Determine whether we want to display the OTA activation screen, which
gives the user option to activate or cancel -->
<integer name="OtaShowActivationScreen">1</integer>
<!-- Determine whether we should show the "listen for instructions" screen after
successfully placing the OTA call -->
<integer name="OtaShowListeningScreen">0</integer>
<!-- The number of times we should show the activation screen/allow the provisioning
to fail before just showing an unsuccessful dialog -->
<integer name="OtaShowActivateFailTimes">0</integer>
<!-- Determine whether or not we should play the success/failure tone -->
<integer name="OtaPlaySuccessFailureTone">0</integer>
<!-- Flag indicating if the phone is a world phone -->
<bool name="world_phone">false</bool>
<!-- If true, enable vibration (haptic feedback) for key presses
in the EmergencyDialer activity. The pattern is set on a
per-platform basis using config_virtualKeyVibePattern. To be
consistent with the regular Dialer, this value should agree
with the corresponding values from config.xml under
apps/Contacts. -->
<bool name="config_enable_dialer_key_vibration">true</bool>
<!-- Flag indicating if the tty is enabled -->
<bool name="tty_enabled">false</bool>
<!-- Flag indicating if hac is enabled -->
<bool name="hac_enabled">false</bool>
<!-- Flag indicating if dtmf tone type is enabled -->
<bool name="dtmf_type_enabled">false</bool>
<!-- Flag indicating if auto retry is enabled -->
<bool name="auto_retry_enabled">false</bool>
<!-- Determine whether we want to play local DTMF tones in a call, or
just let the radio/BP handle playing of the tones. -->
<bool name="allow_local_dtmf_tones">true</bool>
<!-- While an incoming call is ringing, this flag specifies whether
the BACK key should reject the current call (just like the
ENDCALL button does.)
This was originally the default behavior for all platforms, but
it's a bad idea on devices where the BACK key is a capacitive
button (since it's too easy to press the key accidentally as you
pull the phone out of your pocket.) So devices that *don't* want
this behavior should set this flag to false via the resource
overlay. -->
<bool name="allow_back_key_to_reject_incoming_call">true</bool>
<!-- If true, show an onscreen "Dial" button in the dialer.
In practice this is used on all platforms even the ones with hard SEND/END
keys, but for maximum flexibility it's controlled by a flag here
(which can be overridden on a per-product basis.) -->
<bool name="config_show_onscreen_dial_button">true</bool>
<!-- Determine whether calls to mute the microphone in PhoneUtils
are routed through the android.media.AudioManager class (true) or through
the com.android.internal.telephony.Phone interface (false). -->
<bool name="send_mic_mute_to_AudioManager">false</bool>
<!-- Determines if device implements a noise suppression device for in call audio-->
<bool name="has_in_call_noise_suppression">false</bool>
</resources>

View File

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<resources>
<drawable name="separator_red">#FFAE1200</drawable>
<drawable name="separator_green">#FF008115</drawable>
<drawable name="grayBg">#FF333333</drawable>
<style name="Incoming">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@null</item>
</style>
<style name="IccPanel">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@drawable/grayBg</item>
</style>
<style name="AlertPanel">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@drawable/grayBg</item>
</style>
<style name="info_label">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:textAppearance">@style/TextAppearance.info_label</item>
<item name="android:paddingRight">4dip</item>
</style>
<style name="info_layout">
<item name="android:orientation">vertical</item>
<item name="android:paddingLeft">10dip</item>
<item name="android:paddingTop">10dip</item>
<item name="android:paddingRight">10dip</item>
<item name="android:paddingBottom">10dip</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
</style>
<style name="entry_layout">
<item name="android:orientation">vertical</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="TextAppearance" parent="android:TextAppearance">
</style>
<style name="TextAppearance.info_label">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="incall_top_button" parent="android:Widget.Button">
<item name="android:gravity">center_vertical</item>
<item name="android:layout_width">0sp</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_height">match_parent</item>
<item name="android:padding">0dip</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textColor">#000</item>
</style>
<style name="TextAppearance.DialerLine1" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">32sp</item>
<item name="android:textColor">@color/dialer_button_text</item>
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.DialerLine2" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">18sp</item>
<item name="android:textColor">@color/dialer_button_text</item>
</style>
<style name="TextAppearance.EmergencyDialerLine1" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#ffffff</item>
</style>
<style name="TextAppearance.EmergencyDialerLine2" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">14sp</item>
<item name="android:textColor">#ffffff</item>
</style>
<!-- Preference Style for the phone number preferences -->
<style name="EditPhoneNumberPreference">
<item name="enableButtonText">@string/enable</item>
<item name="disableButtonText">@string/disable</item>
<item name="changeNumButtonText">@string/change_num</item>
<item name="confirmMode">activation</item>
</style>
<!-- Preference Style for the emergency callback mode -->
<!-- This styles is currently not used and just prepared for further usage -->
<style name="EmergencyCallBack">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#ffffff</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item>
</style>
<!-- Preference Style for the ERI text -->
<style name="EriWidgetBackground">
</style>
<style name="TextAppearance.EriWidget">
<item name="android:textSize">16sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@android:color/black</item>
</style>
<!-- OTA Call Card styles -->
<style name="ccOtaButtonBar">
<!-- TODO: change height to 'wrap_content' when layout bug is fixed -->
<item name="android:layout_height">60dip</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">@android:drawable/bottom_bar</item>
</style>
<style name="ccOtaButton">
<item name="android:layout_width">150dip</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">5dip</item>
<item name="android:layout_marginBottom">5dip</item>
</style>
<style name="ccOtaNextButton" parent="ccOtaButton">
<!-- <item name="android:drawableRight">@drawable/ic_btn_next</item>
<item name="android:drawablePadding">10dip</item>
-->
<item name="android:layout_alignParentBottom">true</item>
<item name="android:layout_alignParentRight">true</item>
<item name="android:layout_marginRight">4dip</item>
</style>
<style name="ccOtaSkipButton" parent="ccOtaButton">
<item name="android:layout_alignParentBottom">true</item>
<item name="android:layout_alignParentLeft">true</item>
<item name="android:layout_marginLeft">4dip</item>
</style>
<style name="ccOtaDialVisible">
<item name="android:visibility">visible</item>
</style>
<style name="ccOtaWizardTitle">
<item name="android:textSize">22sp</item>
<item name="android:textColor">@color/ota_title_color</item>
</style>
<style name="ccOtaTextPrimary">
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">17sp</item>
</style>
<!-- Regular (non-toggle) buttons in the in-call onscreen touch UI. -->
<style name="InCallTouchButton">
<item name="android:gravity">center</item>
<item name="android:background">@drawable/incall_button</item>
<item name="android:layout_marginTop">0dip</item>
<item name="android:layout_marginBottom">0dip</item>
<item name="android:layout_marginLeft">8dip</item>
<item name="android:layout_marginRight">8dip</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">marquee</item>
</style>
<!-- Toggle buttons in the in-call onscreen touch UI. -->
<style name="InCallTouchToggleButton">
<item name="android:gravity">center</item>
<item name="android:background">@drawable/incall_toggle_button</item>
<item name="android:layout_marginTop">0dip</item>
<item name="android:layout_marginBottom">0dip</item>
<item name="android:layout_marginLeft">8dip</item>
<item name="android:layout_marginRight">8dip</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">marquee</item>
</style>
<!-- Small round ImageButtons at the upper corners of the in-call onscreen touch UI. -->
<style name="InCallRoundTouchButton">
<item name="android:gravity">center</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/incall_round_button</item>
</style>
<!-- Text label next to the small round ImageButtons at the upper
corners of the in-call onscreen touch UI. -->
<style name="InCallRoundButtonLabel">
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textSize">14sp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">5dip</item>
<item name="android:layout_marginRight">5dip</item>
</style>
<!-- Style for the LinearLayout used to hold the ImageButton and
TextView for the small round buttons at the upper corners of the
in-call onscreen touch UI. -->
<style name="InCallRoundButtonContainer">
<item name="android:orientation">horizontal</item>
<item name="android:gravity">center_vertical</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentTop">true</item>
<item name="android:layout_marginTop">0dip</item>
</style>
</resources>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 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.
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@android:color/background_dark"
android:gravity="center_horizontal">
<!-- header text ('Enter Pin') -->
<TextView android:id="@+id/headerText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:lines="2"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<!-- spacer above text entry field -->
<View
android:id="@+id/spacerBottom"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_marginTop="2dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<!-- Password entry field -->
<EditText android:id="@+id/password_entry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textStyle="bold"
android:inputType="textPassword"
android:gravity="center"
android:layout_gravity="center"
android:textSize="28sp"
android:layout_marginTop="6dip"
android:layout_marginLeft="30dip"
android:layout_marginRight="30dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@drawable/password_field_default"
android:textColor="#ffffffff"
/>
<!-- Spacer between password entry and keyboard -->
<View
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
<!-- Alphanumeric keyboard -->
<com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:layout_marginBottom="10dip"
android:keyBackground="@*android:drawable/btn_keyboard_key_fulltrans"
/>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@android:drawable/bottom_bar">
<Button android:id="@+id/cancel_button"
android:layout_width="150dip"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_alignParentLeft="true"
android:text="@string/lockpassword_cancel_label"
/>
<Button android:id="@+id/next_button"
android:layout_width="150dip"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/ic_btn_next"
android:drawablePadding="10dip"
android:text="@string/lockpassword_continue_label"
/>
</RelativeLayout>
</LinearLayout>

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/topLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/black">
<!-- takes up all space above button bar at bottom -->
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1">
<TextView android:id="@+id/headerText"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center"
android:textSize="18sp"
android:visibility="gone"/>
<View
android:background="@*android:drawable/code_lock_top"
android:layout_width="match_parent"
android:layout_height="2dip" />
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- bottom line looks bad when button bar is their too, omit in this case -->
<!--View
android:background="@*android:drawable/code_lock_bottom"
android:layout_width="match_parent"
android:layout_height="8dip" /-->
<TextView android:id="@+id/footerText"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center"
android:textSize="10sp"/>
</LinearLayout>
<LinearLayout style="@android:style/ButtonBar"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/footerLeftButton"
android:layout_height="wrap_content"
android:layout_width="140dip"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/lockpattern_restart_button_text"/>
<View
android:visibility="invisible"
android:layout_height="0dip"
android:layout_width="1dip"
android:layout_weight="1" />
<Button android:id="@+id/footerRightButton"
android:layout_height="wrap_content"
android:layout_width="140dip"
android:ellipsize="marquee"
android:singleLine="true"
android:drawableRight="@drawable/ic_btn_next"
android:drawablePadding="3dip"
android:text="@string/lockpattern_confirm_button_text"/>
</LinearLayout>
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="5dip">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lock_example_title"
android:gravity="center_horizontal"
style="?android:attr/textAppearanceLarge"
android:visibility="gone"
/>
<ImageView android:id="@+id/lock_anim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dip"
android:layout_gravity="center_horizontal"
android:focusable="false"
android:clickable="false"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:text="@string/lock_example_message"
android:layout_gravity="left"
style="?android:attr/textAppearanceMedium"
android:visibility="gone"
/>
</LinearLayout>
</ScrollView>
<LinearLayout style="@android:style/ButtonBar"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/skip_button"
android:layout_height="wrap_content"
android:layout_width="140dip"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/skip_button_label"
/>
<!-- Placeholder to get blank space between the two buttons -->
<View
android:visibility="invisible"
android:layout_height="0dip"
android:layout_width="1dip"
android:layout_weight="1" />
<Button android:id="@+id/next_button"
android:layout_height="wrap_content"
android:layout_width="140dip"
android:ellipsize="marquee"
android:singleLine="true"
android:drawableRight="@drawable/ic_btn_next"
android:drawablePadding="3dip"
android:text="@string/next_button_label"
/>
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 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 is basically the same layout now, but will likely change -->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<include
layout="@layout/choose_lock_password"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</merge>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/topLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/black">
<TextView android:id="@+id/headerText"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
android:gravity="center"
android:textSize="18sp"
android:visibility="gone"/>
<View
android:background="@*android:drawable/code_lock_top"
android:layout_width="match_parent"
android:layout_height="2dip" />
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<View
android:background="@*android:drawable/code_lock_bottom"
android:layout_width="match_parent"
android:layout_height="8dip" />
<TextView android:id="@+id/footerText"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
android:gravity="center"
android:textSize="10sp"/>
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 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.
*/
-->
<resources>
<dimen name="key_height">45dip</dimen>
<dimen name="candidate_strip_height">38dip</dimen>
<dimen name="spacebar_vertical_correction">2dip</dimen>
</resources>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 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.
*/
-->
<resources>
<dimen name="key_height">48dip</dimen>
<dimen name="bubble_pointer_offset">22dip</dimen>
<dimen name="candidate_strip_height">42dip</dimen>
<dimen name="spacebar_vertical_correction">4dip</dimen>
</resources>

View File

@ -0,0 +1,208 @@
# 0xC0000000 - 0xFFFFFFFF Kernel
# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
# 0xB0000000 - 0xB00FFFFF Linker
# 0xA0000000 - 0xBFFFFFFF Prelinked System Libraries
# 0x90000000 - 0x9FFFFFFF Prelinked App Libraries
# 0x80000000 - 0x8FFFFFFF Non-prelinked Libraries
# 0x40000000 - 0x7FFFFFFF mmap'd stuff
# 0x10000000 - 0x3FFFFFFF Thread Stacks
# 0x00000000 - 0x0FFFFFFF .text / .data / heap
# Note: The general rule is that libraries should be aligned on 1MB
# boundaries. For ease of updating this file, you will find a comment
# on each line, indicating the observed size of the library, which is
# one of:
#
# [<64K] observed to be less than 64K
# [~1M] rounded up, one megabyte (similarly for other sizes)
# [???] no size observed, assumed to be one megabyte
# core system libraries
libdl.so 0xAFF00000 # [<64K]
libc.so 0xAFD00000 # [~2M]
libstdc++.so 0xAFC00000 # [<64K]
libm.so 0xAFB00000 # [~1M]
liblog.so 0xAFA00000 # [<64K]
libcutils.so 0xAF900000 # [~1M]
libthread_db.so 0xAF800000 # [<64K]
libz.so 0xAF700000 # [~1M]
libevent.so 0xAF600000 # [???]
libssl.so 0xAF400000 # [~2M]
libcrypto.so 0xAF000000 # [~4M]
libsysutils.so 0xAEF00000 # [~1M]
# bluetooth
liba2dp.so 0xAEE00000 # [~1M]
audio.so 0xAED00000 # [~1M]
input.so 0xAEC00000 # [~1M]
libbluetoothd.so 0xAEA00000 # [~2M]
libbluedroid.so 0xAE900000 # [<64K]
libbluetooth.so 0xAE800000 # [~1M]
libdbus.so 0xAE700000 # [~1M]
# extended system libraries
libril.so 0xAE600000 # [~1M]
libreference-ril.so 0xAE500000 # [~1M]
libwpa_client.so 0xAE400000 # [<64K]
libnetutils.so 0xAE300000 # [~1M]
# core dalvik runtime support
libandroid_servers.so 0xAE200000 # [~1M]
libicuuc.so 0xADE00000 # [~4M]
libicui18n.so 0xAD900000 # [~5M]
libandroid_runtime.so 0xAD300000 # [~6M]
libnativehelper.so 0xAD100000 # [~2M]
libdvm-ARM.so 0xAD000000 # [???]
libdvm.so 0xACA00000 # [~6M]
# Note: libicudata.so intentionally omitted
# graphics
libpixelflinger.so 0xAC900000 # [~1M]
# libcorecg is for backward-compatibility with donut
libcorecg.so 0xAC800000 # [???]
libsurfaceflinger_client.so 0xAC700000 # [~1M]
libsurfaceflinger.so 0xAC500000 # [~2M]
libGLES_android.so 0xAC400000 # [~1M]
libagl.so 0xAC300000 # [???]
libGLESv1_CM.so 0xAC200000 # [~1M]
libGLESv2.so 0xAC100000 # [~1M]
libOpenVG_CM.so 0xAC000000 # [???]
libOpenVGU_CM.so 0xABF00000 # [???]
libEGL.so 0xABE00000 # [~1M]
libETC1.so 0xABD00000 # [<64K]
libacc.so 0xABC00000 # [~1M]
libexif.so 0xABB00000 # [~1M]
libcamera_client.so 0xABA80000 # [~1M]
libui.so 0xAB900000 # [~1M]
# libsgl is for backward-compatibility with donut
libsgl.so 0xAB800000 # [???]
libskia.so 0xAB100000 # [~7M]
librs_jni.so 0xAB000000 # [~1M]
libRS.so 0xA9E00000 # [~2M]
libjnigraphics.so 0xA9D00000 # [<64K]
libskiagl.so 0xA9C00000 # [~1M]
# audio
libFLAC.so 0xA9B00000 # [???]
libaudiopolicy.so 0xA9A00000 # [~1M]
libaudiopolicygeneric.so 0xA9900000 # [???]
libsoundpool.so 0xA9800000 # [~1M]
libgps.so 0xA9700000 # [~1M] (moved for Tattoo)
libspeech.so 0xA9600000 # [~1M]
liboemcamera.so 0xA9400000 # [~1M] (moved for Tattoo)
libmedia_jni.so 0xA9300000 # [~1M]
libmediaplayerservice.so 0xA9200000 # [~1M]
libmedia.so 0xA9000000 # [~2M]
libFFTEm.so 0xA8F00000 # [~1M]
libSR_AudioIn.so 0xA8E00000 # [~1M] for external/srec
libaudioflinger.so 0xA8D00000 # [~1M]
# assorted system libraries
libsqlite.so 0xA8B00000 # [~2M]
libexpat.so 0xA8A00000 # [~1M]
libwebcore.so 0xA8300000 # [~7M]
libbinder.so 0xA8200000 # [~1M]
libutils.so 0xA8100000 # [~1M]
libcameraservice.so 0xA8000000 # [~1M]
libhardware.so 0xA7F00000 # [<64K]
libhardware_legacy.so 0xA7E00000 # [~1M]
libapp_process.so 0xA7D00000 # [???]
libsystem_server.so 0xA7C00000 # [~1M]
libime.so 0xA7B00000 # [???]
libaudio.so 0xA7A00000 # [~1M] (moved for Tattoo)
libcamera.so 0xA7900000 # [~1M]
libsonivox.so 0xA7800000 # [~1M] (moved for Tattoo)
libvorbisidec.so 0xA7700000 # [~1M] (moved for Tattoo)
libdiskconfig.so 0xA7600000 # [<64K]
libemoji.so 0xA7500000 # [<64K]
libjni_latinime.so 0xA7400000 # [~1M]
libjni_pinyinime.so 0xA7300000 # [~1M]
libttssynthproxy.so 0xA7200000 # [~1M] for frameworks/base
libttspico.so 0xA7000000 # [~2M] for external/svox
# pv libraries
libpvasf.so 0xA6F00000 # [???]
libpvasfreg.so 0xA6E00000 # [???]
libomx_sharedlibrary.so 0xA6D00000 # [~1M]
libopencore_download.so 0xA6C00000 # [~1M]
libopencore_downloadreg.so 0xA6B00000 # [~1M]
libopencore_net_support.so 0xA6800000 # [~3M]
libopencore_rtsp.so 0xA6200000 # [~6M]
libopencore_rtspreg.so 0xA6100000 # [~1M]
libopencore_author.so 0xA5D00000 # [~4M]
libomx_aacdec_sharedlibrary.so 0xA5B00000 # [~2M]
libomx_amrdec_sharedlibrary.so 0xA5A00000 # [~1M]
libomx_amrenc_sharedlibrary.so 0xA5900000 # [~1M]
libomx_avcdec_sharedlibrary.so 0xA5800000 # [~1M]
libomx_avcenc_sharedlibrary.so 0xA5700000 # [???]
libomx_m4vdec_sharedlibrary.so 0xA5600000 # [~1M]
libomx_m4venc_sharedlibrary.so 0xA5500000 # [???]
libomx_mp3dec_sharedlibrary.so 0xA5400000 # [~1M]
libopencore_mp4local.so 0xA5200000 # [~2M]
libopencore_mp4localreg.so 0xA5100000 # [~1M]
libopencore_player.so 0xA4800000 # [~9M]
# opencore hardware support
libmm-adspsvc.so 0xA4700000 # [<64K]
libOmxCore.so 0xA4600000 # [<64K]
libOmxMpeg4Dec.so 0xA4500000 # [~1M]
libOmxH264Dec.so 0xA4400000 # [~1M]
libOmxVidEnc.so 0xA4300000 # [~1M]
libopencorehw.so 0xA4200000 # [~1M]
libOmxVdec.so 0xA4100000 # [~1M]
libmm-omxcore.so 0xA4000000 # [<64K]
# pv libraries
libopencore_common.so 0xA3900000 # [~7M]
libqcomm_omx.so 0xA3800000 # [<64K]
# stagefright libraries
libstagefright_amrnb_common.so 0xA3700000 # [~1M]
libstagefright_avc_common.so 0xA3600000 # [~1M]
libstagefright_color_conversion.so 0xA3500000 # [<64K]
libstagefright_omx.so 0xA3400000 # [~1M]
libstagefrighthw.so 0xA3300000 # [~1M]
libstagefright.so 0xA2F00000 # [~4M]
# libraries for specific hardware
libgsl.so 0xA2E00000 # [~1M]
libhtc_acoustic.so 0xA2D00000 # [<64K]
libhtc_ril.so 0xA2C00000 # [~1M]
liblvmxipc.so 0xA2B00000 # [~1M] for vendor/nxp
libreference-cdma-sms.so 0xA2A00000 # [<64K] for hardware/ril
# libraries for specific apps or temporary libraries
libcam_ipl.so 0x9F000000 # [???]
libwbxml.so 0x9EF00000 # [???]
libwbxml_jni.so 0x9EE00000 # [~1M]
libxml2wbxml.so 0x9EB00000 # [~1M]
libdrm1.so 0x9EA00000 # [~1M]
libdrm1_jni.so 0x9E900000 # [<64K]
libwapcore.so 0x9E800000 # [???]
libstreetview.so 0x9E700000 # [???]
libwapbrowsertest.so 0x9E600000 # [???]
libminiglobe.so 0x9E500000 # [???]
libearth.so 0x9E400000 # [???]
libembunit.so 0x9E300000 # [<64K]
libneon.so 0x9E200000 # [???]
libjni_example.so 0x9E100000 # [???]
libjni_load_test.so 0x9E000000 # [???]
libjni_lib_test.so 0x9DF00000 # [???]
librunperf.so 0x9DE00000 # [???]
libctest.so 0x9DD00000 # [<64K]
libUAPI_jni.so 0x9DC00000 # [???]
librpc.so 0x9DB00000 # [~1M]
libtrace_test.so 0x9DA00000 # [???]
libsrec_jni.so 0x9D800000 # [~2M]
libjpeg.so 0x9D700000 # [~1M]
libiprouteutil.so 0x9D600000 # [~1M] for external/iproute2
libnetlink.so 0x9D500000 # [<64K] for external/iproute2
libpagemap.so 0x9D400000 # [<64K] for system/extras/libpagemap
libstlport.so 0x9D100000 # [~3M] for external/stlport
libzxing.so 0x9D000000 # [<64K] for goggles
libinterstitial.so 0x9CF00000 # [<64K] for goggles
liblept.so 0x9CA00000 # [~5M] for external/leptonica

18
vold.fstab Normal file
View File

@ -0,0 +1,18 @@
## Vold 2.0 Tattoo 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
######################
## Example of a standard sdcard mount for the emulator / Dream
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1