first commit
This commit is contained in:
commit
2fb2a0a1eb
26
AndroidBoard.mk
Normal file
26
AndroidBoard.mk
Normal 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
100
BoardConfig.mk
Normal 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
22
BoardConfigVendor.mk
Normal 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
16
Changelog-SPQRom.txt
Normal 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
64
bahamas-keypad.kcm
Normal 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
BIN
custom/TattooCalibration.apk
Executable file
Binary file not shown.
BIN
custom/dropbear
Executable file
BIN
custom/dropbear
Executable file
Binary file not shown.
BIN
custom/dropbearkey
Executable file
BIN
custom/dropbearkey
Executable file
Binary file not shown.
3
custom/init.d/00sysctl
Normal file
3
custom/init.d/00sysctl
Normal file
@ -0,0 +1,3 @@
|
||||
#!/system/bin/sh
|
||||
|
||||
sysctl -p
|
17
custom/init.d/01dalvikcache
Normal file
17
custom/init.d/01dalvikcache
Normal 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
13
custom/init.d/02squashfs
Normal 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
20
custom/init.d/08compcache
Normal 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
|
||||
|
9
custom/init.d/20opt_and_fix
Normal file
9
custom/init.d/20opt_and_fix
Normal 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
8
custom/init.d/80userinit
Normal 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
5
custom/init.d/99complete
Normal file
@ -0,0 +1,5 @@
|
||||
#!/system/bin/sh
|
||||
|
||||
sync
|
||||
setprop fy.filesystem.ready 1
|
||||
|
BIN
custom/logo.rle
Normal file
BIN
custom/logo.rle
Normal file
Binary file not shown.
BIN
custom/modules.sqf
Executable file
BIN
custom/modules.sqf
Executable file
Binary file not shown.
1
custom/passwd
Normal file
1
custom/passwd
Normal file
@ -0,0 +1 @@
|
||||
root:x:0:0:root:/root:/system/bin/sh
|
0
custom/placeholder
Normal file
0
custom/placeholder
Normal file
BIN
custom/rzscontrol
Executable file
BIN
custom/rzscontrol
Executable file
Binary file not shown.
11
custom/sysctl.conf
Normal file
11
custom/sysctl.conf
Normal 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
BIN
custom/tattoo-hack.ko
Normal file
Binary file not shown.
71
device_tattoo-vendor-blobs.mk
Normal file
71
device_tattoo-vendor-blobs.mk
Normal 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
106
device_tattoo.mk
Normal 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
19
device_tattoo_as.mk
Normal 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
19
device_tattoo_eu.mk
Normal 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
19
device_tattoo_us.mk
Normal 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
33
egl.cfg
Normal 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
108
full_tattoo.mk
Normal 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
94
init.bahamas.rc
Executable 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
410
init.rc
Executable 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
media/cyanogen.zip
Normal file
BIN
media/cyanogen.zip
Normal file
Binary file not shown.
BIN
media/droid.zip
Normal file
BIN
media/droid.zip
Normal file
Binary file not shown.
153
media_profiles.xml
Normal file
153
media_profiles.xml
Normal 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>
|
@ -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>
|
330
overlay/frameworks/base/core/res/res/values/config.xml
Normal file
330
overlay/frameworks/base/core/res/res/values/config.xml
Normal 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>
|
128
overlay/packages/apps/ADWLauncher/res/xml/default_workspace.xml
Normal file
128
overlay/packages/apps/ADWLauncher/res/xml/default_workspace.xml
Normal 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>
|
138
overlay/packages/apps/Contacts/res/layout-finger/dialpad.xml
Normal file
138
overlay/packages/apps/Contacts/res/layout-finger/dialpad.xml
Normal 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>
|
@ -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>
|
128
overlay/packages/apps/DeskClock/res/layout-land/desk_clock.xml
Normal file
128
overlay/packages/apps/DeskClock/res/layout-land/desk_clock.xml
Normal 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>
|
121
overlay/packages/apps/DeskClock/res/layout/desk_clock.xml
Normal file
121
overlay/packages/apps/DeskClock/res/layout/desk_clock.xml
Normal 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>
|
@ -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>
|
6
overlay/packages/apps/Launcher2/res/values/config.xml
Normal file
6
overlay/packages/apps/Launcher2/res/values/config.xml
Normal 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>
|
112
overlay/packages/apps/Phone/res/layout-finger/dialpad.xml
Normal file
112
overlay/packages/apps/Phone/res/layout-finger/dialpad.xml
Normal 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>
|
||||
|
@ -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>
|
@ -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>
|
@ -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>
|
112
overlay/packages/apps/Phone/res/layout/call_card.xml
Normal file
112
overlay/packages/apps/Phone/res/layout/call_card.xml
Normal 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>
|
140
overlay/packages/apps/Phone/res/layout/call_card_person_info.xml
Normal file
140
overlay/packages/apps/Phone/res/layout/call_card_person_info.xml
Normal 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>
|
230
overlay/packages/apps/Phone/res/layout/incall_touch_ui.xml
Normal file
230
overlay/packages/apps/Phone/res/layout/incall_touch_ui.xml
Normal 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>
|
122
overlay/packages/apps/Phone/res/values/config.xml
Normal file
122
overlay/packages/apps/Phone/res/values/config.xml
Normal 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>
|
229
overlay/packages/apps/Phone/res/values/styles.xml
Normal file
229
overlay/packages/apps/Phone/res/values/styles.xml
Normal 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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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 |
@ -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>
|
@ -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>
|
208
prelink-linux-arm-tattoo.map
Normal file
208
prelink-linux-arm-tattoo.map
Normal 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
18
vold.fstab
Normal 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user