diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..2914625c245be65f7487f7bd23c6df3817d34699 --- /dev/null +++ b/Android.mk @@ -0,0 +1,12 @@ +LOCAL_PATH:= $(call my-dir) + +include $(call first-makefiles-under,$(LOCAL_PATH)) + +include $(CLEAR_VARS) + +ifneq ($(TARGET_PREBUILT_KERNEL),) +# Some modules (ex. external/tinycompress depend on $(KERNEL_OUT)/usr, +# but this folder is not created for prebuilt kernel, let'c create it +$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr: + mkdir -p $@ +endif diff --git a/AndroidBoard.mk b/AndroidBoard.mk old mode 100755 new mode 100644 index ac527865b17a9e4a517a85267454972bf8544562..639c01063af181199401da2969f9c1b1f0a49620 --- a/AndroidBoard.mk +++ b/AndroidBoard.mk @@ -5,4 +5,4 @@ include $(CLEAR_VARS) ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) # include the non-open-source counterpart to this file --include vendor/oukitel/orange/AndroidBoardVendor.mk +-include vendor/archos/persimmon/AndroidBoardVendor.mk diff --git a/AndroidProducts.mk b/AndroidProducts.mk old mode 100755 new mode 100644 index a5a78f9e8ab54dd4d45d3d5e3df78e3991bb85ef..7887880098ad2db57c3cb391ce395c07879f31fa --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -1,2 +1,2 @@ PRODUCT_MAKEFILES := \ - $(LOCAL_DIR)/device_orange.mk + $(LOCAL_DIR)/device_persimmon.mk diff --git a/BoardConfig.mk b/BoardConfig.mk old mode 100755 new mode 100644 index 5e6b72ddd297f9c7fd6e15ead011d7d5169e4690..15c2d8a9ea1dcd435366ba192dab71ae89c0e596 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -1,69 +1,83 @@ +DEVICE_PATH := device/archos/persimmon +VENDOR_PATH := vendor/archos/persimmon -LOCAL_PATH := device/oukitel/orange +USE_CAMERA_STUB := true + +FORCE_32_BIT = true # inherit from the proprietary version --include vendor/oukitel/orange/BoardConfigVendor.mk -TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include - -# Link against libxlog -TARGET_LDPRELOAD += libxlog.so - -# Bootloader -TARGET_BOOTLOADER_BOARD_NAME := mt6735m -TARGET_NO_BOOTLOADER := true +-include $(VENDOR_PATH)/BoardConfigVendor.mk -#Use prebuilt chromium -PRODUCT_PREBUILT_WEBVIEWCHROMIUM := yes +TARGET_BOARD_PLATFORM := mt6735 -#32 bit +# Architecture +ifeq ($(FORCE_32_BIT),true) TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_CPU_VARIANT := cortex-a53 -TARGET_BOARD_PLATFORM := mt6735m +else +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := cortex-a53 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := cortex-a53 +endif + +TARGET_NO_BOOTLOADER := true TARGET_CPU_SMP := true + ARCH_ARM_HAVE_TLS_REGISTER := true ARCH_ARM_HAVE_NEON := true ARCH_ARM_HAVE_VFP := true TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp -COMMON_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD -COMMON_GLOBAL_CFLAGS += -DDISABLE_HW_ID_MATCH_CHECK -TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_EXT4:=true -#extracted from stock recovery -BOARD_KERNEL_PAGESIZE := 2048 -BOARD_KERNEL_BASE := 0x40000000 +TARGET_BOOTLOADER_BOARD_NAME := mt6735 -BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,32N2 +BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,32N2 androidboot.selinux=permissive BOARD_KERNEL_BASE := 0x40000000 +#extracted from stock recovery BOARD_KERNEL_PAGESIZE := 2048 - -BOARD_CUSTOM_BOOTIMG_MK := device/oukitel/orange/mkbootimg.mk -BOARD_MKBOOTIMG_ARGS := --cmdline bootopt=64S3,32N2,32N2 --pagesize 2048 --base 0x40000000 --kernel_offset 0x00008000 --ramdisk_offset 0x04000000 --tags_offset 0x0e000000 - -# experimental -TARGET_REQUIRES_SYNCHRONOUS_SETSURFACE := true +BOARD_RAMDISK_OFFSET := 0x04000000 #extracted from /proc/partinfo -TARGET_USERIMAGES_USE_EXT4 := true -BOARD_HAS_LARGE_FILESYSTEM := true -BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216 -BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216 -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 -BOARD_USERDATAIMAGE_PARTITION_SIZE := 1610612736 +BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216 # 0x1000000 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 50331648 # 0x3000000 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 0x60000000 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 12831948800 # 0x2fcd80000 +BOARD_CACHEIMAGE_PARTITION_SIZE := 419439400 # 0x19000000 +#pagesize * 64 BOARD_FLASH_BLOCK_SIZE := 131072 +BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x04000000 --tags_offset 0x0e000000 --board B3502_AC50CO_3M + +#in case we want to build kernel from source +# uncomment the following lines +#TARGET_KERNEL_SOURCE := kernel/archos/persimmon +#TARGET_KERNEL_CONFIG := persimmon_debug_defconfig +#TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-linux-android- +#BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb +# end of commented lines #for now lets use prebuilt -TARGET_PREBUILT_KERNEL := device/oukitel/orange/prebuilt/kernel +TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/Image.gz-dtb +BOARD_HAS_NO_SELECT_BUTTON := true +#recovery +#TARGET_RECOVERY_INITRC := $(DEVICE_PATH)/recovery/init.mt6753.rc +TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/fstab.mt6735 +TARGET_RECOVERY_LCD_BACKLIGHT_PATH := \"/sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness\" #system.prop -TARGET_SYSTEM_PROP := device/oukitel/orange/system.prop - -# CMHW -BOARD_HARDWARE_CLASS := device/oukitel/orange/cmhw/ +TARGET_SYSTEM_PROP := $(DEVICE_PATH)/system.prop # WiFi WPA_SUPPLICANT_VERSION := VER_0_8_X @@ -76,247 +90,67 @@ WIFI_DRIVER_FW_PATH_STA:=STA WIFI_DRIVER_FW_PATH_AP:=AP WIFI_DRIVER_FW_PATH_P2P:=P2P -# RIL -BOARD_CONNECTIVITY_VENDOR := MediaTek -BOARD_USES_LEGACY_MTK_AV_BLOB := true - # Bluetooth BOARD_HAVE_BLUETOOTH := true BOARD_HAVE_BLUETOOTH_MTK := true BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL := true -BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/oukitel/orange/bluetooth -# ANT -MTK_ANT_SUPPORT := yes -BOARD_ANT_WIRELESS_DEVICE := "vfs-prerelease" +#twrp ( WIP do not use!!! see comments ) -# GPS -BOARD_GPS_LIBRARIES :=true -BOARD_CONNECTIVITY_MODULE := conn_soc -BOARD_MEDIATEK_USES_GPS := true +#tw_theme is essential flag +TW_THEME := portrait_hdpi -# Camera -USE_CAMERA_STUB := true +#brightness settings (needs verification) +TW_BRIGHTNESS_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness/ +TW_MAX_BRIGHTNESS := 255 -# Audio -TARGET_CPU_MEMCPY_OPT_DISABLE := true -BOARD_USES_MTK_AUDIO := true +#may be usefull if we get graphical glitches +#RECOVERY_GRAPHICS_USE_LINELENGTH := true -# FM Radio -MTK_FM_SUPPORT := yes -MTK_FM_RX_SUPPORT := yes +#in case of wrong color this needs modification +#TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888" -#recovery -TARGET_RECOVERY_FSTAB := device/oukitel/orange/recovery/root/etc/twrp.fstab -BOARD_SUPPRESS_SECURE_ERASE := true -BOARD_HAS_NO_SELECT_BUTTON := true -TW_BRIGHTNESS_PATH := /sys/class/leds/lcd-backlight/brightness -TW_MAX_BRIGHTNESS := 255 -TW_CUSTOM_CPU_TEMP_PATH := /sys/devices/virtual/thermal/thermal_zone1/temp -#RECOVERY_GRAPHICS_USE_LINELENGTH := true -TW_THEME := portrait_mdpi #if sdcard0 is a /data/media emulated one #RECOVERY_SDCARD_ON_DATA := true -TW_EXCLUDE_DEFAULT_USB_INIT := true -TW_INCLUDE_CRYPTO := true -TARGET_RECOVERY_PIXEL_FORMAT := "RGBA_8888" + +#ntfs support? (needs much space..) +#TW_INCLUDE_NTFS_3G := true + +#we may need that if sdcard0 dont work +#TW_FLASH_FROM_STORAGE := true +#TW_EXTERNAL_STORAGE_PATH := "/external_sd" +#TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd" +#TW_DEFAULT_EXTERNAL_STORAGE := true + +#only add if kernel supports +#TW_INCLUDE_FUSE_EXFAT := true + +#F2FS support (only activate if kernel supports) +#TARGET_USERIMAGES_USE_F2FS:=true + #Mediatek flags BOARD_HAS_MTK_HARDWARE := true +BOARD_USES_MTK_HARDWARE := true MTK_HARDWARE := true -COMMON_GLOBAL_CFLAGS += -DMTK_HARDWARE -DADD_LEGACY_ACQUIRE_BUFFER_SYMBOL -COMMON_GLOBAL_CPPFLAGS += -DMTK_HARDWARE +#COMMON_GLOBAL_CFLAGS += -DMTK_HARDWARE -DMTK_AOSP_ENHANCEMENT +#COMMON_GLOBAL_CPPFLAGS += -DMTK_HARDWARE -DMTK_AOSP_ENHANCEMENT #EGL settings USE_OPENGL_RENDERER := true -BOARD_EGL_CFG := device/oukitel/orange/configs/egl.cfg -BOARD_EGL_WORKAROUND_BUG_10194508 := trues - -TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/android0/f_mass_storage/lun/file - -# SELinux -BOARD_SEPOLICY_DIRS := \ - device/oukitel/orange/sepolicy - -BOARD_SEPOLICY_UNION := \ - app.te \ - device.te \ - domain.te \ - file.te \ - file_contexts \ - fs_use \ - installd.te \ - net.te \ - netd.te \ - te_macros \ - vold.te \ - untrusted_app.te \ - platform_app.te \ - system_app.te \ - zygote.te \ - aal.te \ - akmd09911.te \ - akmd8963.te \ - akmd8975.te \ - ami304d.te \ - ist8303.te \ - mc6470d.te \ - qmcX983d.te \ - st480.te \ - af7133e.te \ - mmc3524xd.te \ - atcid.te \ - atci_service.te \ - audiocmdservice_atci.te \ - batterywarning.te \ - bmm050d.te \ - bmm056d.te \ - bmx056d.te \ - boot_logo_updater.te \ - br_app_data_service.te \ - BGW.te \ - ccci_fsd.te \ - ccci_mdinit.te \ - statusd.te \ - flashlessd.te \ - ccci_rpcd.te \ - eemcs_fsd.te \ - eemcs_mdinit.te \ - dhcp6c.te \ - dm_agent_binder.te \ - dualmdlogger.te \ - dumpstate.te \ - em_svr.te \ - enableswap.te \ - disableswap.te \ - factory.te \ - fota1.te \ - fuelgauged.te \ - geomagneticd.te \ - GoogleOtaBinder.te \ - gsm0710muxdmd2.te \ - gsm0710muxd.te \ - guiext-server.te \ - ipod.te \ - matv.te \ - mc6420d.te \ - mdlogger.te \ - mdnsd.te \ - memsicd3416x.te \ - bmc156d.te \ - memsicd.te \ - memsicp.te \ - meta_tst.te \ - mmc_ffu.te \ - mmp.te \ - mnld.te \ - mobile_log_d.te \ - mpud6050.te \ - msensord.te \ - mtk_6620_launcher.te \ - mtk_agpsd.te \ - mtkbt.te \ - muxreport.te \ - netdiag.te \ - nvram_agent_binder.te \ - nvram_backup_binder.te \ - nvram_daemon.te \ - orientationd.te \ - permission_check.te \ - poad.te \ - pppd_dt.te \ - pppd_via.te \ - pq.te \ - recovery.te \ - resmon.te \ - mtkrild.te \ - mtkrildmd2.te \ - viarild.te \ - s62xd.te \ - sn.te \ - epdg_wod.te \ - ipsec.te \ - terservice.te \ - thermald.te \ - thermal_manager.te \ - thermal.te \ - tiny_mkswap.te \ - tiny_swapon.te \ - vdc.te \ - volte_imcb.te \ - volte_ua.te \ - volte_stack.te \ - wmt_loader.te \ - icusbd.te \ - xlog.te \ - mobicore.te \ - install_recovery.te \ - program_binary.te \ - genfs_contexts - - - -BOARD_SEPOLICY_UNION += \ - adbd.te \ - bluetooth.te \ - bootanim.te \ - clatd.te \ - drmserver.te \ - dhcp.te \ - dnsmasq.te \ - gpsd.te \ - hci_attach.te \ - healthd.te \ - hostapd.te \ - inputflinger.te \ - init.te \ - init_shell.te \ - isolated_app.te \ - keystore.te \ - kernel.te \ - lmkd.te \ - logd.te \ - mediaserver.te \ - mtp.te \ - nfc.te \ - racoon.te \ - radio.te \ - rild.te \ - runas.te \ - sdcardd.te \ - servicemanager.te \ - shared_relro.te \ - shell.te \ - system_app.te \ - system_server.te \ - surfaceflinger.te \ - tee.te \ - ueventd.te \ - uncrypt.te \ - watchdogd.te \ - wpa_supplicant.te \ - wpa.te \ - property.te \ - property_contexts \ - service.te \ - dmlog.te \ - MtkCodecService.te \ - ppl_agent.te \ - pvrsrvctl.te \ - wifi2agps.te \ - dex2oat.te \ - emdlogger.te \ - autokd.te \ - ppp.te \ - launchpppoe.te \ - sbchk.te \ - service_contexts \ - ril-3gddaemon.te \ - usbdongled.te \ - zpppd_gprs.te \ - md_ctrl.te \ - cmddumper.te \ - tunman.te - -# Prebuilt kernel stuff -$(shell mkdir -p $(OUT)/obj/KERNEL_OBJ/usr) +BOARD_EGL_CFG := $(DEVICE_PATH)/egl.cfg + +# CyanogenMod Hardware Hooks +BOARD_HARDWARE_CLASS := $(DEVICE_PATH)/cmhw/ + +# RIL +BOARD_RIL_CLASS := ../../../$(DEVICE_PATH)/ril + +BOARD_SEPOLICY_DIRS := $(DEVICE_PATH)/sepolicy + +TARGET_LDPRELOAD += libxlog.so:libmtk_symbols.so + +BOARD_SECCOMP_POLICY := $(DEVICE_PATH)/seccomp + +TARGET_TAP_TO_WAKE_NODE := /sys/devices/mx_tsp/gesture_control + diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 index 94f275c4887e38c765f6309c39d09e8685b4902b..9ed2efe26e7a872d145e1b432107c22a7ba3dc27 --- a/README.md +++ b/README.md @@ -1,12 +1,60 @@ -# android_device_oukitel_orange -Device repository for Oukitel k4000(Orange) CM12.1 6735 - -ALL WORK - -## Thanks to: - * darklord4822 - * SRT Team - * fire855 - * Deepflex - * olegsvs - * visi0nary +Device repository for Archos 50 Cobalt (CyanogenMod) +=========================== + +Getting Started +--------------- + +Initialize a repository with CyanogenMode: + + repo init -u git://github.com/divis1969/android.git -b cm-14.1-meilan2 + +Optinally use a specific manifest (not a tip): + + repo init -u git://github.com/divis1969/android.git -b cm-14.1-meilan2 -m cm-14.1-meilan2-v0.2.xml + +Build the code: + + source build/envsetup.sh + breakfast meilan2 + make -j 4 bacon showcommands 2>&1 | tee build.log + +Flash the phone: +https://github.com/divis1969/android_device_meizu_meilan2/wiki/%D0%9F%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%B0 + +Current state +------------- + +- Cyanogen boots +- Touch, screen, keyboard working +- Wifi is working +- Audio is working +- Telephony is working (see Known Issues) + - USIM (3G) supported + - Incoming/outgoung call + - SMS, USSD + - Data connectivity +- GPS +- Bluetooth (pairing only testes so far) +- Sensors + +Known Issues +------------- +- Android Camera App is not stable (hangs) ex. with location enabled +- Camera +- Telephony crashes eventually on location request from camera. +- Hardware OMX codecs are not working + +Change log +---------- + +### v0.2 +- Fixed an issue with proximity on some devices +- Fixed an issue with ICC IO in MTK ril (no radio with some SIM cards) +- Fixed a modem crash caused by mtk_agps request +- Fixed an issue with WiFi SoftAP +- Ported power HAL from CyanogenMod 6735 (also implements Double Tap To Wake feature) +- Ported FOTA solution from meilan2 cm-12.1 + +### v0.1 +- Initial port from cm-14.0 (v0.3) to cm-14.1 + diff --git a/archos.x509.pem b/archos.x509.pem new file mode 100644 index 0000000000000000000000000000000000000000..ec91ed5f012a5577b878c2dc082e79805707635b --- /dev/null +++ b/archos.x509.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEbzCCA1egAwIBAgIJAOXKPACE+xnTMA0GCSqGSIb3DQEBBQUAMIGBMQswCQYD +VQQGEwJDTjESMBAGA1UECBMJR3VhbmdaaG91MRQwEgYDVQQHEwtaaHVIYWkgVmll +dzEOMAwGA1UEChMFTWVpenUxDjAMBgNVBAsTBU1laXp1MQswCQYDVQQDEwJtOTEb +MBkGCSqGSIb3DQEJARYMbTlAbWVpenUuY29tMB4XDTEwMTEyNzA5MDkxNloXDTM4 +MDQxNDA5MDkxNlowgYExCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ1pob3Ux +FDASBgNVBAcTC1podUhhaSBWaWV3MQ4wDAYDVQQKEwVNZWl6dTEOMAwGA1UECxMF +TWVpenUxCzAJBgNVBAMTAm05MRswGQYJKoZIhvcNAQkBFgxtOUBtZWl6dS5jb20w +ggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQCiepSdrcvEEy2mgS1oZ4Q7 +s4wIjq4BL3/pcpTcQLkSSfAeG32gbq9S+beGqXInGb1nmWzEyXeWOJLO2AwNMQly +GGLdfVSULp3ZEO4Le6XLMo30VrCKmgSS/+vy5v0q8Lk6oyE7weI9z/RkODGWU1iG +uRP/ey+ppbxkIs6ZXoBCkCS8ETQS2RRTavD9lgq7OCDfkDx4VCkuw/O8zo1pKuMu +74pHjXCYgCjWpSQhq9nhcBhyNSE3J+umB1tJWe41CNx9AxHpYxwFAORg+S0Y97nX +BZW2FZkmVk4j8LodRnif+UP9Ugp0CYsBO18YBfXLxmS6uP4MDPecWnoes677zzzh +AgEDo4HpMIHmMB0GA1UdDgQWBBQuCjIaLq71W8qh76C4T8LXpXwjRzCBtgYDVR0j +BIGuMIGrgBQuCjIaLq71W8qh76C4T8LXpXwjR6GBh6SBhDCBgTELMAkGA1UEBhMC +Q04xEjAQBgNVBAgTCUd1YW5nWmhvdTEUMBIGA1UEBxMLWmh1SGFpIFZpZXcxDjAM +BgNVBAoTBU1laXp1MQ4wDAYDVQQLEwVNZWl6dTELMAkGA1UEAxMCbTkxGzAZBgkq +hkiG9w0BCQEWDG05QG1laXp1LmNvbYIJAOXKPACE+xnTMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBACTEtW23/oergOSbMW5MA7ocjjg1DpKT+AlGo9Gh +I+O5v2t7PRHz7Jx61nVAL6QIYTFomqA115TbDfsq+/DISVBpDok/Rs0ng/wk4sjK +5AWMh8KU67V2JsZre9HtlxpEk6c0xDSZKHNVgRB/i7AgiYcAGPQtSq+dTn+1s8Tf +mPKX/Hs/8IRRc6csnmsEPvidqA2P07XptDxMZIznzJ47+nLE13NXnfY9tncLBEpS +9e1zsh9eMr+P9HvizGv1NS5wybAbMlnH0mnqIKtGln/N5WOHFgTX3/X+U00m24nJ +U8Y3P+n/YfEUYDhenFZicoRSGzJKu9W4n7rYIJ9l9+YAdoI= +-----END CERTIFICATE----- + diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h deleted file mode 100755 index 997a2f0610ea95fa1c340ad4690796ea671c1724..0000000000000000000000000000000000000000 --- a/bluetooth/bdroid_buildcfg.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _BDROID_BUILDCFG_H -#define _BDROID_BUILDCFG_H - -#define BTM_DEF_LOCAL_NAME "Oukitel K4000(Orange)" - -#endif diff --git a/cm.mk b/cm.mk old mode 100755 new mode 100644 index 4cecd07105c875369978d74b8c7647c0f6257249..da21f00d142622f9895794c7908d01eb723e5051 --- a/cm.mk +++ b/cm.mk @@ -1,26 +1,24 @@ +## Specify phone tech before including full_phone +#$(call inherit-product, vendor/cm/config/gsm.mk) + # Release name -PRODUCT_RELEASE_NAME := orange +PRODUCT_RELEASE_NAME := 50 Cobalt # Inherit some common CM stuff. $(call inherit-product, vendor/cm/config/common_full_phone.mk) # Inherit device configuration -$(call inherit-product, device/oukitel/orange/device_orange.mk) +$(call inherit-product, device/archos/persimmon/device_persimmon.mk) # Configure dalvik heap -$(call inherit-product, frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk) +$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) TARGET_SCREEN_HEIGHT := 1280 TARGET_SCREEN_WIDTH := 720 ## Device identifier. This must come after all inclusions -PRODUCT_DEVICE := orange -PRODUCT_NAME := cm_orange -PRODUCT_BRAND := oukitel -PRODUCT_MODEL := orange -PRODUCT_MANUFACTURER := oukitel - -PRODUCT_DEFAULT_LANGUAGE := ru -PRODUCT_DEFAULT_REGION := RU -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - persist.sys.timezone=Europe/Moscow +PRODUCT_DEVICE := persimmon +PRODUCT_NAME := cm_persimmon +PRODUCT_BRAND := Archos +PRODUCT_MODEL := 50 Cobalt +PRODUCT_MANUFACTURER := Archos diff --git a/cmhw/org/cyanogenmod/hardware/KeyDisabler.java b/cmhw/org/cyanogenmod/hardware/KeyDisabler.java new file mode 100644 index 0000000000000000000000000000000000000000..b10186936b0456af1c1b44fc85ea227531d035df --- /dev/null +++ b/cmhw/org/cyanogenmod/hardware/KeyDisabler.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2014 The CyanogenMod 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. + */ + +package org.cyanogenmod.hardware; + +import android.util.Log; +/* + * Disable capacitive keys + * + * This is intended for use on devices in which the capacitive keys + * can be fully disabled for replacement with a soft navbar. You + * really should not be using this on a device with mechanical or + * otherwise visible-when-inactive keys + */ + +public class KeyDisabler { + + private static boolean isActive = false; + /* + * All HAF classes should export this boolean. + * Real implementations must, of course, return true + */ + + public static boolean isSupported() { return true; } + + /* + * Are the keys currently blocked? + */ + + public static boolean isActive() { + return isActive; + } + + /* + * Disable capacitive keys + */ + + public static boolean setActive(boolean state) { + //throw new UnsupportedOperationException(); + isActive = state; + Log.i("KeyDisabler", "setActive " + state); + return isActive; + } + +} diff --git a/cmhw/org/cyanogenmod/hardware/VibratorHW.java b/cmhw/org/cyanogenmod/hardware/VibratorHW.java deleted file mode 100755 index bfae08d069c91dd5ee36de5d0f1754c7042286bd..0000000000000000000000000000000000000000 --- a/cmhw/org/cyanogenmod/hardware/VibratorHW.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2013 The CyanogenMod 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. - */ - -package org.cyanogenmod.hardware; - -import org.cyanogenmod.hardware.util.FileUtils; - -/* - * Vibrator intensity adjustment - * - * Exports methods to get the valid value boundaries, the - * default and current intensities, and a method to set - * the vibrator. - * - * Values exported by min/max can be the direct values required - * by the hardware, or a local (to VibratorHW) abstraction that's - * internally converted to something else prior to actual use. The - * Settings user interface will normalize these into a 0-100 (percentage) - * scale before showing them to the user, but all values passed to/from - * the client (Settings) are in this class' scale. - */ - -/* This would be just "Vibrator", but it conflicts with android.os.Vibrator */ -public class VibratorHW { - - // Keep this synced to immvibe impl - private static final String INTENSITY_FILE = "/sys/kernel/thunderquake_engine/level"; - - public static boolean isSupported() { - return true; - } - - public static boolean setIntensity(int intensity) { - return FileUtils.writeLine(INTENSITY_FILE, Integer.toString(intensity)); - } - - public static int getMaxIntensity() { - return 7; - } - - public static int getMinIntensity() { - return 0; - } - - public static int getWarningThreshold() { - // actually this is rather arbitrary - return 7; - } - - public static int getCurIntensity() { - final String result = FileUtils.readOneLine(INTENSITY_FILE); - if (result == null) { - return 5; - } - - try { - return Integer.parseInt(result.trim()); - } catch (final NumberFormatException ignored) { - return 5; - } - } - - public static int getDefaultIntensity() { - return 5; - } -} diff --git a/configs/agps_profiles_conf2.xml b/configs/agps_profiles_conf2.xml deleted file mode 100755 index 28b91c4a8a040424dbd0dd66c0a239aba818c977..0000000000000000000000000000000000000000 --- a/configs/agps_profiles_conf2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/android.hardware.consumerir.xml b/configs/android.hardware.consumerir.xml deleted file mode 100755 index adba2f987788c3da583bb9be63bce295de7fc1b6..0000000000000000000000000000000000000000 --- a/configs/android.hardware.consumerir.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - diff --git a/configs/apns-conf.xml b/configs/apns-conf.xml deleted file mode 100755 index b1192b21ebff83707cd4c0b460ad9fac0739f866..0000000000000000000000000000000000000000 --- a/configs/apns-conf.xml +++ /dev/null @@ -1,3946 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/audio_device.xml b/configs/audio_device.xml deleted file mode 100755 index ec0efda72cc7efc3f3febaafc99abf4e28ea74f2..0000000000000000000000000000000000000000 --- a/configs/audio_device.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - > - - - > - - - > - - - > - - - - > - - - > - - - > - - - > - - - > - - - - > - - - > - - - > - - - > - - - > - - - - > - - - > - - - > - - - > - - - > - - - > - > - - - > - > - - diff --git a/configs/audio_effects.conf b/configs/audio_effects.conf deleted file mode 100755 index bd5e4c0ea5a4de6818a5742c17ca9b042c42d70f..0000000000000000000000000000000000000000 --- a/configs/audio_effects.conf +++ /dev/null @@ -1,186 +0,0 @@ -# List of effect libraries to load. Each library element must contain a "path" element -# giving the full path of the library .so file. -# libraries { -# { -# path -# } -# } -libraries { -# This is a proxy library that will be an abstraction for -# the HW and SW effects - - #proxy { - #path /system/lib/soundfx/libeffectproxy.so - #} - -# This is the SW implementation library of the effect - #libSW { - #path /system/lib/soundfx/libswwrapper.so - #} - -# This is the HW implementation library for the effect - #libHW { - #path /system/lib/soundfx/libhwwrapper.so - #} - - bundle { - path /system/lib/soundfx/libbundlewrapper.so - } - reverb { - path /system/lib/soundfx/libreverbwrapper.so - } - visualizer { - path /system/lib/soundfx/libvisualizer.so - } - downmix { - path /system/lib/soundfx/libdownmix.so - } - loudness_enhancer { - path /system/lib/soundfx/libldnhncr.so - } - pre_processing { - path /system/lib/soundfx/libaudiopreprocessing.so - } -} - -# Default pre-processing library. Add to audio_effect.conf "libraries" section if -# audio HAL implements support for default software audio pre-processing effects -# -# pre_processing { -# path /system/lib/soundfx/libaudiopreprocessing.so -# } - -# list of effects to load. Each effect element must contain a "library" and a "uuid" element. -# The value of the "library" element must correspond to the name of one library element in the -# "libraries" element. -# The name of the effect element is indicative, only the value of the "uuid" element -# designates the effect. -# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the -# generic effect type UUID. -# effects { -# { -# library -# uuid -# } -# ... -# } - -effects { - -# additions for the proxy implementation -# Proxy implementation - #effectname { - #library proxy - #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - - # SW implemetation of the effect. Added as a node under the proxy to - # indicate this as a sub effect. - #libsw { - #library libSW - #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy - #} End of SW effect - - # HW implementation of the effect. Added as a node under the proxy to - # indicate this as a sub effect. - #libhw { - #library libHW - #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz - #}End of HW effect - #} End of effect proxy - - bassboost { - library bundle - uuid 8631f300-72e2-11df-b57e-0002a5d5c51b - } - virtualizer { - library bundle - uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b - } - equalizer { - library bundle - uuid ce772f20-847d-11df-bb17-0002a5d5c51b - } - volume { - library bundle - uuid 119341a0-8469-11df-81f9-0002a5d5c51b - } - reverb_env_aux { - library reverb - uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b - } - reverb_env_ins { - library reverb - uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b - } - reverb_pre_aux { - library reverb - uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b - } - reverb_pre_ins { - library reverb - uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b - } - visualizer { - library visualizer - uuid d069d9e0-8329-11df-9168-0002a5d5c51b - } - downmix { - library downmix - uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f - } - loudness_enhancer { - library loudness_enhancer - uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c - } - agc { - library pre_processing - uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b - } - aec { - library pre_processing - uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b - } - ns { - library pre_processing - uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b - } -} -# Audio preprocessor configurations. -# The pre processor configuration consists in a list of elements each describing -# pre processor settings for a given input source. Valid input source names are: -# "mic", "camcorder", "voice_recognition", "voice_communication" -# Each input source element contains a list of effects elements. The name of the effect -# element must be the name of one of the effects in the "effects" list of the file. -# Each effect element may optionally contain a list of parameters and their -# default value to apply when the pre processor effect is created. -# A parameter is defined by a "param" element and a "value" element. Each of these elements -# consists in one or more elements specifying a type followed by a value. -# The types defined are: "int", "short", "float", "bool" and "string" -# When both "param" and "value" are a single int, a simple form is allowed where just -# the param and value pair is present in the parameter description -# pre_processing { -# { -# { -# { -# param { -# int|short|float|bool|string -# [ int|short|float|bool|string ] -# ... -# } -# value { -# int|short|float|bool|string -# [ int|short|float|bool|string ] -# ... -# } -# } -# { } -# ... -# } -# ... -# } -# ... -# } - -# -# TODO: add default audio pre processor configurations after debug and tuning phase -# diff --git a/configs/audio_policy.conf b/configs/audio_policy.conf deleted file mode 100755 index 5d514ee003a2084906fd1066768cd3440bf8321d..0000000000000000000000000000000000000000 --- a/configs/audio_policy.conf +++ /dev/null @@ -1,173 +0,0 @@ -# -# Audio policy configuration for generic device builds (goldfish audio HAL - emulator) -# - -# Global configuration section: lists input and output devices always present on the device -# as well as the output device selected by default. -# Devices are designated by a string that corresponds to the enum in audio.h - -#global_configuration { -# attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE -# default_output_device AUDIO_DEVICE_OUT_SPEAKER -# attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM -#} - -# audio hardware module section: contains descriptors for all audio hw modules present on the -# device. Each hw module node is named after the corresponding hw module library base name. -# For instance, "primary" corresponds to audio.primary..so. -# The "primary" module is mandatory and must include at least one output with -# AUDIO_OUTPUT_FLAG_PRIMARY flag. -# Each module descriptor contains one or more output profile descriptors and zero or more -# input profile descriptors. Each profile lists all the parameters supported by a given output -# or input stream category. -# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding -# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". - -audio_hw_modules { - primary { - global_configuration { - attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE - default_output_device AUDIO_DEVICE_OUT_SPEAKER - attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_FM|AUDIO_DEVICE_IN_VOICE_CALL - audio_hal_version 3.0 - } - devices { - headset { - type AUDIO_DEVICE_OUT_WIRED_HEADSET - gains { - gain_1 { - mode AUDIO_GAIN_MODE_JOINT - channel_mask AUDIO_CHANNEL_OUT_STEREO - min_value_mB -6400 - max_value_mB 0 - default_value_mB 0 - step_value_mB 100 - min_ramp_ms 0 - max_ramp_ms 0 - } - } - } - headphone { - type AUDIO_DEVICE_OUT_WIRED_HEADPHONE - gains { - gain_1 { - mode AUDIO_GAIN_MODE_JOINT - channel_mask AUDIO_CHANNEL_OUT_STEREO - min_value_mB -6400 - max_value_mB 0 - default_value_mB 0 - step_value_mB 100 - min_ramp_ms 0 - max_ramp_ms 0 - } - } - } - } - outputs { - primary { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_FM_TX|AUDIO_DEVICE_OUT_DEFAULT - flags AUDIO_OUTPUT_FLAG_PRIMARY - gains { - gain_1 { - mode AUDIO_GAIN_MODE_JOINT - channel_mask AUDIO_CHANNEL_OUT_STEREO - min_value_mB -6400 - max_value_mB 0 - default_value_mB 0 - step_value_mB 100 - min_ramp_ms 0 - max_ramp_ms 0 - } - } - } - } - inputs { - primary { - sampling_rates 48000 - channel_masks AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_COMMUNICATION|AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_AMBIENT|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_AUX_DIGITAL|AUDIO_DEVICE_IN_MATV|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_ALL_SCO|AUDIO_DEVICE_IN_FM|AUDIO_DEVICE_IN_DEFAULT - } - } - } - a2dp { - global_configuration { - audio_hal_version 2.0 - } - outputs { - a2dp { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_ALL_A2DP - } - compress_offload { - sampling_rates 8000|11025|16000|22050|32000|44100|48000 - channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_AAC|AUDIO_FORMAT_MP3 - devices AUDIO_DEVICE_OUT_ALL_A2DP - flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD - } - } - inputs { - a2dp { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP - } - } - } - usb { - global_configuration { - audio_hal_version 2.0 - } - outputs { - usb_accessory { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_USB_ACCESSORY - } - usb_device { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_USB_DEVICE - } - } - inputs { - usb_device { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_USB_DEVICE - } - } - } - r_submix { - global_configuration { - attached_input_devices AUDIO_DEVICE_IN_REMOTE_SUBMIX - audio_hal_version 2.0 - } - outputs { - r_submix { - sampling_rates 48000 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX - } - } - inputs { - r_submix { - sampling_rates 48000 - channel_masks AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_REMOTE_SUBMIX - } - } - } -} diff --git a/configs/ecc_list.xml b/configs/ecc_list.xml deleted file mode 100755 index 04cb3c72c2b0e76b93fd559f0f6a919a6198d370..0000000000000000000000000000000000000000 --- a/configs/ecc_list.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - diff --git a/configs/egl.cfg b/configs/egl.cfg deleted file mode 100755 index cadf420a64620a1a1b2dbbd7d1620e99dbb9e717..0000000000000000000000000000000000000000 --- a/configs/egl.cfg +++ /dev/null @@ -1,3 +0,0 @@ -# NOTICE: This is an autogenerated file, do not edit\n -0 0 android -0 1 mali diff --git a/configs/hostapd/hostapd.accept b/configs/hostapd/hostapd.accept deleted file mode 100755 index 6b167e01a3d8ca29e7c0e34a8925b691a8b04935..0000000000000000000000000000000000000000 --- a/configs/hostapd/hostapd.accept +++ /dev/null @@ -1,3 +0,0 @@ -# List of MAC addresses that are allowed to authenticate (IEEE 802.11) -# with the AP. Optional VLAN ID can be assigned for clients based on the -# MAC address if dynamic VLANs (hostapd.conf dynamic_vlan option) are used. \ No newline at end of file diff --git a/configs/hostapd/hostapd.deny b/configs/hostapd/hostapd.deny deleted file mode 100755 index c37336b57e422cb9ab47063e0056b8dfe8d5c21f..0000000000000000000000000000000000000000 --- a/configs/hostapd/hostapd.deny +++ /dev/null @@ -1,2 +0,0 @@ -# List of MAC addresses that are not allowed to authenticate (IEEE 802.11) -# with the AP. \ No newline at end of file diff --git a/configs/hostapd/hostapd_default.conf b/configs/hostapd/hostapd_default.conf deleted file mode 100755 index 212ba877645e55ebbbf4601f1610a029653217b6..0000000000000000000000000000000000000000 --- a/configs/hostapd/hostapd_default.conf +++ /dev/null @@ -1,81 +0,0 @@ -##### hostapd configuration file ############################################## -# Empty lines and lines starting with # are ignored - -# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for -# management frames); ath0 for madwifi -interface=wlan0 - -# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd); -# default: hostap). nl80211 is used with all Linux mac80211 drivers. -# Use driver=none if building hostapd as a standalone RADIUS server that does -# not control any wireless/wired driver. -driver=nl80211 - -# hostapd event logger configuration -# -# Two output method: syslog and stdout (only usable if not forking to -# background). -# -# Module bitfield (ORed bitfield of modules that will be logged; -1 = all -# modules): -# bit 0 (1) = IEEE 802.11 -# bit 1 (2) = IEEE 802.1X -# bit 2 (4) = RADIUS -# bit 3 (8) = WPA -# bit 4 (16) = driver interface -# bit 5 (32) = IAPP -# bit 6 (64) = MLME -# -# Levels (minimum value for logged events): -# 0 = verbose debugging -# 1 = debugging -# 2 = informational messages -# 3 = notification -# 4 = warning -# -logger_syslog=-1 -logger_syslog_level=2 -logger_stdout=-1 -logger_stdout_level=2 - -# Dump file for state information (on SIGUSR1) -dump_file=/tmp/hostapd.dump - -# Interface for separate control program. If this is specified, hostapd -# will create this directory and a UNIX domain socket for listening to requests -# from external programs (CLI/GUI, etc.) for status information and -# configuration. The socket file will be named based on the interface name, so -# multiple hostapd processes/interfaces can be run at the same time if more -# than one interface is used. -# /var/run/hostapd is the recommended directory for sockets and by default, -# hostapd_cli will use it when trying to connect with hostapd. -ctrl_interface=/data/misc/wifi/hostapd - -##### IEEE 802.11 related configuration ####################################### - -# SSID to be used in IEEE 802.11 management frames -ssid=AndroidAP - -# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g, -# n = IEEE 802.11n, g_only = IEEE 802.11g_only, n_only = IEEE 802.11n_only, -# Default: IEEE 802.11n -hw_mode=g - -# Channel number (IEEE 802.11) -# (default: 0, i.e., not set) -# Please note that some drivers (e.g., madwifi) do not use this value from -# hostapd and the channel will need to be configuration separately with -# iwconfig. -channel=6 - -# ieee80211n: Whether IEEE 802.11n (HT) is enabled -# 0 = disabled (default) -# 1 = enabled -# Note: You will also need to enable WMM for full HT functionality. -ieee80211n=1 - -# Accept/deny lists are read from separate files (containing list of -# MAC addresses, one per line). Use absolute path name to make sure that the -# files can be read on SIGHUP configuration reloads. -accept_mac_file=/data/hostapd/hostapd.accept -deny_mac_file=/data/hostapd/hostapd.deny \ No newline at end of file diff --git a/configs/platform.xml b/configs/platform.xml deleted file mode 100755 index 1ec2dd9899944d87be330845aa47e58604df96f2..0000000000000000000000000000000000000000 --- a/configs/platform.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/spn-conf.xml b/configs/spn-conf.xml deleted file mode 100755 index 1574e4cac2d84242d086f4e59193971de8f9117e..0000000000000000000000000000000000000000 --- a/configs/spn-conf.xml +++ /dev/null @@ -1,1055 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/thermal/.ht120.mtc b/configs/thermal/.ht120.mtc deleted file mode 100755 index 241f619a9f11353757839491f9e0f71a42175727..0000000000000000000000000000000000000000 --- a/configs/thermal/.ht120.mtc +++ /dev/null @@ -1,67 +0,0 @@ -/qtrg4s slopnhv4s s"sdrx1x$zz!t - !" -/qtrg4s slopnhv4s s"sqolg2y% su - !" -/qtrg4s slopnhv4s s"sccwxjx%5!yttvx - !" -/qtrg4s slopnhv4s s"sqc0w#yy " - !" -/qtrg4s slopnhv4s s"sbde1x$zz!t - !" -/qtrg4s slopnhv4s s"sxow1x$zz!t - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo23 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo24 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo25 - !" -/qtrg4jyq$es1wljxtiu/u!exxewi an -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"3$% -/qtrg4jyq$es1wljxtiu/u!exxvhgyascp -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"4$% -/qtrg4jyq$es1wljxtiu/dnpyyz -0!634%778)112#656'990!634%&'( -/qtrg4jyq$es1wljxtiu/u!ftz -1!34;567(9 nvnxxiw"6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"845&8 -/qtrg4jyq$es1wljxtiu/u!sqni -1!379567(9 nvnxxvtql-t vvxz'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#5567( -/qtrg4jyq$es1wljxtiu/u!eeyzlz' -1!354567(9 nvnxxhh!"es 0w#yy " 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&8890! -/qtrg4jyq$es1wljxtiu/u!se -1!354567(9 nvnxxvh5!yttvx%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!3345& -/qtrg4jyq$es1wljxtiu/u!dfg -0!34;567(9 nvnxxgij6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$ -/qtrg4jyq$es1wljxtiu/u!zqy -1!354567(9 nvnxx"t!6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"4456' -/qtrg4jyq$es1wljxtiu/u!exx -1!354567(9 nvn1hr4s!hvvgs!t78)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!9767 -1!354567(9 nvn1hr4s!hvvgs!t79)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!exxvh -1!354567(9 nvn1hr4s!hvvgs!t7:)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!ww6 -0!434567(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7( -/qtrg4jyq$es1wljxtiu/u!ww8 -0!434567(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7( -/qtrg4jyq$es1wljxtiu/u!ww9 -0!434567(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7( -/qtrg4jyq$es1wljxtiu/u!ww: -0!434567(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7( -/qtrg4s s"z0owoyyjx# -mbaois&8() !"#$%& -/qtrg4s s"z0owoyywurc -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyii"tft! -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyywi -mbaois&8() !"#$%&'() !"# -/qtrg4s s"z0owoyy#u" -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyHX -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyi"lk -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyyi!!merd -mbaois&;() !"#$%&'() -EPH \ No newline at end of file diff --git a/configs/thermal/.thermal_policy_00 b/configs/thermal/.thermal_policy_00 deleted file mode 100755 index 315427811439740b747e5e0bc61b3ce354150375..0000000000000000000000000000000000000000 --- a/configs/thermal/.thermal_policy_00 +++ /dev/null @@ -1,97 +0,0 @@ -/qtrg4s slopnhv4s s"sdrx1x$zz!t - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n12 - !" -/qtrg4s slopnhv4iw"haecsxn!lg9 -EYKW$<678) -/qtrg4s slopnhv4s s"sqolg2y% su - !" -/qtrg4s slopnhv4iw":0 -EYKW$76789 ! -/qtrg4s slopnhv4s s"sccwxjx%5!yttvx - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n13 - !" -/qtrg4s slopnhv4s s"sxow1x$zz!t - !" -/qtrg4s slopnhv4s s"sqc0w#yy " - !" -/qtrg4s slopnhv4s s6cm/eghz7: -EYKW$:678) -/qtrg4s slopnhv4s s6cm/eghz79 -EYKW$7678) -/qtrg4s slopnhv4s s6cm/eghz78 -EYKW$7678) -/qtrg4s slopnhv4s s6cm/vlzzkw%n14 - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n14 - !" -/qtrg4s slopnhv4s s6cm/pyyz7: -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/pyyz79 -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/pyyz78 -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/eehqsqphu25 - !" -/qtrg4s slopnhv4s s6cm/eehqsqphu26 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo23 - !" -/qtrg4jyq$es1wljxtiu/u!exxewi an -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"3$%&'() -/qtrg4jyq$es1wljxtiu/u!exxvhgyascp -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"4$%&'() -/qtrg4jyq$es1wljxtiu/dneghz -0!884%:<8)212#$%&'() !"#$ -/qtrg4jyq$es1wljxtiu/dndxrezm"tjpj -0!5845&8=)31"4$6678)3623$767(:612#$%&'() -/qtrg4jyq$es1wljxtiu/dnpyyz -0!634%778)112#656'990!48956'() !"#$% -/qtrg4jyq$es1wljxtiu/dnfxr -1!:8456'>?012#7=?@A)44;<=%=<890!83456':<32;9$8>78)1:3<=<&:890!"#$% -/qtrg4jyq$es1wljxtiu/u!ftz -3!34;567(9 nvnxxiw"6szuuwy&889012#4%s s6cm/vlzzkw%n12#:;678)0!esydgkiytjxhc5&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678)1 -/qtrg4jyq$es1wljxtiu/u!sqni -2!379567(9 nvnxxvtql-t vvxz'9:0123$5&jx#11"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!eeyzlz' -3!83456'8)mumwwgg !nrz/v"xxz!)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!se -1!354567(9 nvn1hr4 quufr s68(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$7678) -/qtrg4jyq$es1wljxtiu/u!zqy -1!354567(9 nvnxx"t!6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"5456' -/qtrg4jyq$es1wljxtiu/u!exx -4!;8456'8)mumwwug4 'ssuw$:7789 1"pxp3jt6bdew47&;A901"3$rzr5ll.dfgy68(<4123$5&t!t-dn0fhi 89 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!9767 -1!354567(9 nvn1hr4 quufr s69(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!exxvh -4!354567(9 nvn1hr4 quufr s69(?2:;;$5&t!t-dn0qzz 8; 72<==&7(vtl/fp2s!!"02"8<>??(9 nvn1hr4u#tu23$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(:012# -/qtrg4jyq$es1wljxtiu/u!ww6 -1!434567(9 nvn1hr4jjclnlkmz7:)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4jyq$es1wljxtiu/u!ww7 -1!434567(9 nvn1hr4jjclnlkmz7;)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4jyq$es1wljxtiu/u!ww8 -1!434567(9 nvn1hr4s!hvvgs!t78)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4s s"z0owoyyjx# -mbaois&8() !"#$%& -/qtrg4s s"z0owoyywurc -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyii"tft! -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyywi -mbaois&8() !"#$%&'() !"# -/qtrg4s s"z0owoyy#u" -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyHX -mbaois&<() !"#$%&'() -/qtrg4s s"z0owoyyi"lk -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyyi!!merd -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy8 -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy9 -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy: -mbaois&8() !"#$%&'() -EPH diff --git a/configs/thermal/thermal.conf b/configs/thermal/thermal.conf deleted file mode 100755 index 85d12672286f93449e05e98e79ab120ecca8f4aa..0000000000000000000000000000000000000000 --- a/configs/thermal/thermal.conf +++ /dev/null @@ -1,97 +0,0 @@ -/qtrg4s slopnhv4s s"sdrx1x$zz!t - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n12 - !" -/qtrg4s slopnhv4iw"haecsxn!lg9 -EYKW$<678) -/qtrg4s slopnhv4s s"sqolg2y% su - !" -/qtrg4s slopnhv4iw":0 -EYKW$76789 ! -/qtrg4s slopnhv4s s"sccwxjx%5!yttvx - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n13 - !" -/qtrg4s slopnhv4s s"sxow1x$zz!t - !" -/qtrg4s slopnhv4s s"sqc0w#yy " - !" -/qtrg4s slopnhv4s s6cm/eghz7: -EYKW$:678) -/qtrg4s slopnhv4s s6cm/eghz79 -EYKW$7678) -/qtrg4s slopnhv4s s6cm/eghz78 -EYKW$7678) -/qtrg4s slopnhv4s s6cm/vlzzkw%n14 - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n14 - !" -/qtrg4s slopnhv4s s6cm/pyyz7: -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/pyyz79 -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/pyyz78 -EYKW$6?@A) -/qtrg4s slopnhv4s s6cm/eehqsqphu25 - !" -/qtrg4s slopnhv4s s6cm/eehqsqphu26 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo23 - !" -/qtrg4jyq$es1wljxtiu/u!exxewi an -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"3$%&'() -/qtrg4jyq$es1wljxtiu/u!exxvhgyascp -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"4$%&'() -/qtrg4jyq$es1wljxtiu/dneghz -0!884%:<8)212#$%&'() !"#$ -/qtrg4jyq$es1wljxtiu/dndxrezm"tjpj -0!5845&8=)31"4$6678)3623$767(:612#$%&'() -/qtrg4jyq$es1wljxtiu/dnpyyz -0!634%778)112#656'990!48956'() !"#$% -/qtrg4jyq$es1wljxtiu/dnfxr -1!:8456'?;012#7>?@A)42;<=%=<890!85456';=4:;7$;;78)346<=9&==90!"#$% -/qtrg4jyq$es1wljxtiu/u!ftz -3!34;567(9 nvnxxiw"6szuuwy&889012#4%s s6cm/vlzzkw%n12#;7678)0!esydgkiytjxhc5&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678)1 -/qtrg4jyq$es1wljxtiu/u!sqni -2!379567(9 nvnxxvtql-t vvxz'9:0123$5&jx#11"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!eeyzlz' -3!83456'8)mumwwgg !nrz/v"xxz!)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!se -1!354567(9 nvn1hr4 quufr s68(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$7678) -/qtrg4jyq$es1wljxtiu/u!zqy -1!354567(9 nvnxx"t!6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"5456' -/qtrg4jyq$es1wljxtiu/u!exx -4!;8456'8)mumwwug4 'ssuw$:7789 1"pxp3jt6bdew47&;A901"3$rzr5ll.dfgy68(<4123$5&t!t-dn0fhi 89 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!9767 -1!354567(9 nvn1hr4 quufr s69(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!exxvh -4!354567(9 nvn1hr4 quufr s69(?2:;;$5&t!t-dn0qzz 8; 72<==&7(vtl/fp2s!!"02"8<>??(9 nvn1hr4u#tu23$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(:012# -/qtrg4jyq$es1wljxtiu/u!ww6 -1!434567(9 nvn1hr4jjclnlkmz7:)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4jyq$es1wljxtiu/u!ww7 -1!434567(9 nvn1hr4jjclnlkmz7;)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4jyq$es1wljxtiu/u!ww8 -1!434567(9 nvn1hr4s!hvvgs!t78)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%8789 -/qtrg4s s"z0owoyyjx# -mbaois&8() !"#$%& -/qtrg4s s"z0owoyywurc -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyii"tft! -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyywi -mbaois&8() !"#$%&'() !"# -/qtrg4s s"z0owoyy#u" -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyHX -mbaois&<() !"#$%&'() -/qtrg4s s"z0owoyyi"lk -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyyi!!merd -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy8 -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy9 -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy: -mbaois&8() !"#$%&'() -EPH diff --git a/configs/thermal/thermal.off.conf b/configs/thermal/thermal.off.conf deleted file mode 100755 index 525cb1b522386b6690bb1911ba3b1f6f9435bef5..0000000000000000000000000000000000000000 --- a/configs/thermal/thermal.off.conf +++ /dev/null @@ -1,91 +0,0 @@ -/qtrg4s slopnhv4s s"sdrx1x$zz!t - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n12 - !" -/qtrg4s slopnhv4iw"92 - !" -/qtrg4s slopnhv4iw"haecsxn!lg9 -EYKW$7;789 ! -/qtrg4s slopnhv4s s"sqolg2y% su - !" -/qtrg4s slopnhv4s s"sccwxjx%5!yttvx - !" -/qtrg4s slopnhv4s s"sqc0w#yy " - !" -/qtrg4s slopnhv4s s"sbde1x$zz!t - !" -/qtrg4s slopnhv4s s"sxow1x$zz!t - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n13 - !" -/qtrg4s slopnhv4s s6cm/vlzzkw%n14 - !" -/qtrg4s slopnhv4s s6cm/eehqsqphu24 - !" -/qtrg4s slopnhv4s s6cm/eehqsqphu25 - !" -/qtrg4s slopnhv4s s6cm/eehqsqphu26 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo23 - !" -/qtrg4s slopnhv4s s6cm/nwm lxwo24 - !" -/qtrg4jyq$es1wljxtiu/u!exxewi an -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"3$% -/qtrg4jyq$es1wljxtiu/u!exxvhgyascp -PVRbV%9@8901"SYUe]WUT!3;45&V^NR`EUMYOJIU_M"76:7789 OVFcYGITN 7"4$% -/qtrg4jyq$es1wljxtiu/dndxrezm"tjpj -0!5345&8=)21"84%?78)4123$;67(;112#$ -/qtrg4jyq$es1wljxtiu/dnpyyz -0!634%778)112#656'990!634%&'( -/qtrg4jyq$es1wljxtiu/u!ftz -4!34;567(9 nvnxxiw"6szuuwy&889012#4%s s6cm/vlzzkw%n12#=:678)0!esy58'@>012#4%iw"haecsxn!lg9 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$:67(: -/qtrg4jyq$es1wljxtiu/u!sqni -1!379567(9 nvnxxvtql-t vvxz'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#5567( -/qtrg4jyq$es1wljxtiu/u!eeyzlz' -1!83456'8)mumwwgg !nrz/v"xxz!)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!se -1!354567(9 nvnxxvh5!yttvx%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!3345& -/qtrg4jyq$es1wljxtiu/u!dfg -0!34;567(9 nvnxxgij6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$ -/qtrg4jyq$es1wljxtiu/u!zqy -1!354567(9 nvnxx"t!6szuuwy&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"4456' -/qtrg4jyq$es1wljxtiu/u!exx -1!;8456'8)mum0gq3zp#teqzr57'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#5567( -/qtrg4jyq$es1wljxtiu/u!9767 -1!354567(9 nvn1hr4 quufr s69(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$5&7(wo.ersqky(9 1"qs2ivwues"3$5&uw6cpqoiw&7(9 oq0gtusm 1"3$su4kxomgu$6678) -/qtrg4jyq$es1wljxtiu/u!exxvh -1!434567(9 nvn1hr4jjclnlkmz79)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!ww6 -1!434567(9 nvn1hr4jjclnlkmz7:)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!ww8 -1!434567(9 nvn1hr4jjclnlkmz7;)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!ww9 -1!434567(9 nvn1hr4s!hvvgs!t78)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4jyq$es1wljxtiu/u!ww: -1!434567(9 nvn1hr4s!hvvgs!t79)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%6'8)np/fstrlz)0!2#rt3jwxlft#4%6'vx-dqrpjx'8)0!pr1huvtnr!2#4%tv5lopnhv%7789 -/qtrg4s s"z0owoyyjx# -mbaois&8() !"#$%& -/qtrg4s s"z0owoyywurc -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyii"tft! -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyywi -mbaois&8() !"#$%&'() !"# -/qtrg4s s"z0owoyy#u" -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyHX -mbaois&;() !"#$%&'() -/qtrg4s s"z0owoyyi"lk -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyyi!!merd -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy8 -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy: -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy; -mbaois&8() !"#$%&'() -/qtrg4s s"z0owoyy< -mbaois&8() !"#$%&'() -EPH diff --git a/device_orange.mk b/device_orange.mk deleted file mode 100755 index be3bb8fbc9bdd5791bbcd393355d7b56b55ec2bc..0000000000000000000000000000000000000000 --- a/device_orange.mk +++ /dev/null @@ -1,193 +0,0 @@ -$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) - -# The gps config appropriate for this device -$(call inherit-product, device/common/gps/gps_us_supl.mk) -$(call inherit-product, vendor/oukitel/orange/orange-vendor-blobs.mk) - -PRODUCT_LOCALES := ru_RU en_US uk_UA -PRODUCT_AAPT_CONFIG := normal hdpi -PRODUCT_AAPT_PREF_CONFIG := hdpi -DEVICE_PACKAGE_OVERLAYS += device/oukitel/orange/overlay -TARGET_OTA_ASSERT_DEVICE := k4000,K4000,orange -CM_BUILDTYPE :=NIGHTLY - -ifeq ($(TARGET_PREBUILT_KERNEL),) - LOCAL_KERNEL := device/oukitel/orange/prebuilt/kernel -else - LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) -endif - -#Xlog -PRODUCT_PACKAGES += \ - libxlog - -# Network dependency -PRODUCT_PACKAGES += \ - libifaddrs - -# init.rc's -PRODUCT_COPY_FILES += \ - device/oukitel/orange/rootdir/init.mt6735.rc:root/init.mt6735.rc \ - device/oukitel/orange/rootdir/init.xlog.rc:root/init.xlog.rc \ - device/oukitel/orange/rootdir/init.mt6735.usb.rc:root/init.mt6735.usb.rc \ - device/oukitel/orange/rootdir/init.recovery.mt6735.rc:root/init.recovery.mt6735.rc \ - device/oukitel/orange/rootdir/init.project.rc:root/init.project.rc \ - device/oukitel/orange/rootdir/factory_init.rc:root/factory_init.rc \ - device/oukitel/orange/rootdir/factory_init.project.rc:root/factory_init.project.rc \ - device/oukitel/orange/rootdir/init.ssd.rc:root/init.ssd.rc \ - device/oukitel/orange/rootdir/init.trace.rc:root/init.trace.rc \ - device/oukitel/orange/rootdir/init.modem.rc:root/init.modem.rc \ - device/oukitel/orange/rootdir/fstab.mt6735:root/fstab.mt6735 \ - device/oukitel/orange/rootdir/ueventd.mt6735.rc:root/ueventd.mt6735.rc \ - device/oukitel/orange/rootdir/meta_init.rc:root/meta_init.rc \ - device/oukitel/orange/rootdir/meta_init.project.rc:root/meta_init.project.rc \ - device/oukitel/orange/rootdir/meta_init.modem.rc:root/meta_init.modem.rc \ - device/oukitel/orange/rootdir/meta_init.modem.rc:root/factory_init.rc \ - device/oukitel/orange/rootdir/meta_init.modem.rc:root/factory_init.project.rc \ - device/oukitel/orange/rootdir/init.rc:root/init.rc - -# hardware specifics -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ - frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ - frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ - frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ - frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ - frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ - frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ - frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \ - frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ - frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ - frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml \ - frameworks/native/data/etc/android.hardware.touchscreen.xml:system/etc/permissions/android.hardware.touchscreen.xml \ - frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ - frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ - frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml - -# CM's Snap camera -PRODUCT_PACKAGES += \ - Snap - -# Torch -PRODUCT_PACKAGES += \ - Torch - -# MTK's Engineer Mode -PRODUCT_PACKAGES += \ - EngineerMode - -# Charger -PRODUCT_PACKAGES += \ - charger_res_images - -# Gralloc -PRODUCT_PACKAGES += \ - libgralloc_extra - -# Bluetooth -PRODUCT_PACKAGES += \ - libbt-vendor - -# Audio -PRODUCT_PACKAGES += \ - audio.a2dp.default \ - audio_policy.default \ - audio_policy.stub \ - audio.r_submix.default \ - audio.usb.default \ - libaudio-resampler \ - tinymix \ - libtinyalsa \ - libtinycompress - -# Audio profiles used to address the correct audio devices for headset, etc. -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \ - $(LOCAL_PATH)/configs/audio_device.xml:system/etc/audio_device.xml \ - $(LOCAL_PATH)/configs/audio_policy.conf:system/etc/audio_policy.conf \ - $(LOCAL_PATH)/configs/audio_effects.conf:system/etc/audio_effects.conf - -# Wifi -PRODUCT_PACKAGES += \ - lib_driver_cmd_mt66xx \ - libwifi-hal-mt66xx \ - wifi_hal \ - libwpa_client \ - hostapd \ - hostapd_cli \ - dhcpcd.conf \ - wpa_supplicant \ - wpa_supplicant.conf - -PRODUCT_PACKAGES += \ - libnl_2 \ - libtinyxml - -# Live Display -PRODUCT_PACKAGES += \ - libjni_livedisplay - -# Telecom -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/apns-conf.xml:system/etc/apns-conf.xml \ - $(LOCAL_PATH)/configs/ecc_list.xml:system/etc/ecc_list.xml \ - $(LOCAL_PATH)/configs/spn-conf.xml:system/etc/spn-conf.xml - -# GPS -PRODUCT_COPY_FILES += \ - device/oukitel/orange/configs/agps_profiles_conf2.xml:system/etc/agps_profiles_conf2.xml - -# FM Radio -PRODUCT_PACKAGES += \ - FmRadio \ - libfmjni \ - libfmmt6620 \ - libfmmt6628 \ - libfmmt6627 \ - libfmmt6630 \ - libfmcust - -# Media -PRODUCT_COPY_FILES += \ - frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml - -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \ - $(LOCAL_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml - -PRODUCT_COPY_FILES += \ - device/oukitel/orange/rootdir/etc/hostapd_default.conf:system/etc/hostapd/hostapd_default.conf \ - device/oukitel/orange/configs/android.hardware.consumerir.xml:system/etc/permissions/android.hardware.consumerir.xml \ - -# Thermal -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/configs/thermal/thermal.conf:system/etc/.tp/thermal.conf \ - $(LOCAL_PATH)/configs/thermal/thermal.off.conf:system/etc/.tp/thermal.off.conf \ - $(LOCAL_PATH)/configs/thermal/.ht120.mtc:system/etc/.tp/.ht120.mtc \ - $(LOCAL_PATH)/configs/thermal/.thermal_policy_00:system/etc/.tp/.thermal_policy_00 - -# Set default player to AwesomePlayer -PRODUCT_PROPERTY_OVERRIDES += \ - persist.sys.media.use-awesome=true - -# limit dex2oat threads to improve thermals -PRODUCT_PROPERTY_OVERRIDES += \ - dalvik.vm.boot-dex2oat-threads=4 \ - dalvik.vm.dex2oat-threads=2 \ - dalvik.vm.image-dex2oat-threads=4 - -$(call inherit-product, build/target/product/full.mk) - -ADDITIONAL_DEFAULT_PROPERTIES += \ - ro.secure=0 \ - ro.allow.mock.location=1 \ - ro.debuggable=1 \ - ro.adb.secure=0 \ - persist.service.acm.enable=0 \ - ro.oem_unlock_supported=1 \ - persist.sys.usb.config=mtp \ diff --git a/device_persimmon.mk b/device_persimmon.mk new file mode 100644 index 0000000000000000000000000000000000000000..11d8b7f06381caeb4f910d6c7f2e4c952a30a5ae --- /dev/null +++ b/device_persimmon.mk @@ -0,0 +1,340 @@ +$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) + +# The gps config appropriate for this device +$(call inherit-product, device/common/gps/gps_us_supl.mk) + +# Off ninja +USE_NINJA=false + +$(call inherit-product-if-exists, vendor/archos/persimmon/persimmon-vendor.mk) + +DEVICE_PACKAGE_OVERLAYS += device/archos/persimmon/overlay + +# Device uses high-density artwork where available +PRODUCT_AAPT_CONFIG := normal xhdpi +PRODUCT_AAPT_PREF_CONFIG := xhdpi + +ifeq ($(TARGET_PREBUILT_KERNEL),) + LOCAL_KERNEL := device/archos/persimmon/prebuilt/Image.gz-dtb +else + LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) +endif + +TARGET_OTA_ASSERT_DEVICE := persimmon + +TARGET_PROVIDES_INIT_RC := true + +PRODUCT_COPY_FILES += \ + device/archos/persimmon/rootdir/init.rc:root/init.rc \ + device/archos/persimmon/rootdir/init.target.rc:root/init.target.rc \ + device/archos/persimmon/rootdir/init.mt6735.rc:root/init.mt6735.rc \ + device/archos/persimmon/rootdir/init.ssd.rc:root/init.ssd.rc \ + device/archos/persimmon/rootdir/init.xlog.rc:root/init.xlog.rc \ + device/archos/persimmon/rootdir/init.usb.rc:root/init.usb.rc \ + device/archos/persimmon/rootdir/init.mt6735.usb.rc:root/init.mt6735.usb.rc \ + device/archos/persimmon/rootdir/init.aee.rc:root/init.aee.rc \ + device/archos/persimmon/rootdir/init.project.rc:root/init.project.rc \ + device/archos/persimmon/rootdir/init.modem.rc:root/init.modem.rc \ + device/archos/persimmon/rootdir/init.trace.rc:root/init.trace.rc \ + device/archos/persimmon/rootdir/fstab.mt6735:root/fstab.mt6735 \ + device/archos/persimmon/rootdir/fstab.swap:root/fstab.swap \ + device/archos/persimmon/rootdir/ueventd.rc:root/ueventd.rc \ + device/archos/persimmon/etc/media_codecs.xml:system/etc/media_codecs.xml \ + device/archos/persimmon/etc/init/audioserver.rc:system/etc/init/audioserver.rc \ + device/archos/persimmon/etc/init/mediacodec.rc:system/etc/init/mediacodec.rc \ + device/archos/persimmon/etc/init/cameraserver.rc:system/etc/init/cameraserver.rc \ + device/archos/persimmon/etc/init/rild.rc:system/etc/init/rild.rc \ + device/archos/persimmon/media_profiles.xml:system/etc/media_profiles.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:system/etc/media_codecs_google_video_le.xml \ + frameworks/native/data/etc/android.software.app_widgets.xml:system/etc/permissions/android.software.app_widgets.xml \ + frameworks/native/data/etc/android.hardware.audio.output.xml:system/etc/permissions/android.hardware.audio.output.xml \ + frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ + frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ + frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ + frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ + frameworks/native/data/etc/android.hardware.faketouch.xml:system/etc/permissions/android.hardware.faketouch.xml \ + frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ + frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \ + frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \ + frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ + frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ + frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ + frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ + +#PRODUCT_PACKAGES += \ +# libion \ +# libmockdrmcryptoplugin \ +# libaudio-resampler \ +# libtinycompress \ +# libtinyxml + +# RIL +PRODUCT_PACKAGES += \ + gsm0710muxd + +PRODUCT_PACKAGES += \ + Torch \ + libxlog \ + libmtk_symbols \ + libperfservicenative \ + libcurl + +PRODUCT_PACKAGES += archospshelper + +PRODUCT_PACKAGES += power.mt6735 + +# Wifi +PRODUCT_PACKAGES += \ + libwpa_client \ + hostapd \ + dhcpcd.conf \ + wpa_supplicant \ + wpa_supplicant.conf + +PRODUCT_COPY_FILES += \ + device/archos/persimmon/rootdir/etc/hostapd_default.conf:system/etc/hostapd/hostapd_default.conf \ + +# Audio componets from source +PRODUCT_PACKAGES += \ + audio.usb.default \ + audio.r_submix.default + +# BT A2DP +PRODUCT_COPY_FILES += \ + vendor/archos/persimmon/proprietary/vendor/lib/hw/audio.a2dp.blueangel.so:system/vendor/lib/hw/audio.a2dp.mt6735.so + +# Audio components from source +PRODUCT_PACKAGES += \ + MtkCamera libDocVfbEngineLib_m81 libpanorama + +#libarchoscamera + +#PRODUCT_PACKAGES += stlport_shared +PRODUCT_COPY_FILES += \ + prebuilts/ndk/current/sources/cxx-stl/stlport/libs/armeabi-v7a/libstlport_shared.so:system/lib/libstlport.so + +#PRODUCT_EXTRA_RECOVERY_KEYS += device/archos/persimmon/archos + +#$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) +#$(call inherit-product, build/target/product/aosp_arm64.mk) + +#PRODUCT_NAME := cm_persimmon +#PRODUCT_DEVICE := persimmon +#PRODUCT_BRAND := CyaniogenMod +#PRODUCT_MODEL := CyaniogenMod on Archos persimmon + +# These additionals go to /default.prop +ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0 \ +ro.allow.mock.location=1 \ +ro.debuggable=1 \ +ro.adb.secure=0 \ +persist.service.acm.enable=0 \ +persist.sys.usb.config=mtp \ +ro.mount.fs=EXT4 \ +debug.hwui.render_dirty_regions=false \ +ro.sf.lcd_density=320 \ +persist.radio.multisim.config=dsds \ +ro.mtk_lte_support=1 \ +ro.telephony.ril_class=MT6735 \ +ro.telephony.ril.config=fakeiccid \ +ro.telephony.sim.count=2 \ +persist.gemini.sim_num=2 \ +ril.current.share_modem=2 \ +ro.mtk_gps_support=1 \ +ro.mtk_agps_app=1 \ +persist.debug.xlog.enable=1 \ + +# These additionals go to /system/build.prop +ADDITIONAL_BUILD_PROPERTIES += \ +cm.updater.type=plain \ +cm.updater.uri=https://raw.githubusercontent.com/divis1969/update-site/master/updates-14.1.json \ + + +# Removed for now +#ro.persist.partition.support=no \ +#ro.cip.partition.support=no \ +#persist.mtk.aee.aed=on \ + +# Properties below are copied from device (build.prop) +# but disabled for now +#PRODUCT_PROPERTY_OVERRIDES := \ +#ro.com.android.dateformat=MM-dd-yyyy \ +#ro.config.ringtone=Technology.ogg \ +#ro.config.notification_sound=VideoRecord.ogg \ +#ro.config.mms_sound=Triumph.ogg \ +#ro.config.email_sound=VideoRecord.ogg \ +#ro.config.calendar_sound=Doorbell.ogg \ +#ro.config.alarm_alert=Morning_Dew.ogg \ +#ro.carrier=unknown \ +#ro.hwui.texture_cache_size=72 \ +#ro.hwui.layer_cache_size=50 \ +#ro.hwui.r_buffer_cache_size=8 \ +#ro.hwui.path_cache_size=32 \ +#ro.hwui.gradient_cache_size=3 \ +#ro.hwui.drop_shadow_cache_size=6 \ +#ro.hwui.fbo_cache_size=25 \ +#ro.hwui.texture_cache_flushrate=0.4 \ +#ro.hwui.text_small_cache_width=1024 \ +#ro.hwui.text_small_cache_height=1024 \ +#ro.hwui.text_large_cache_width=2048 \ +#ro.hwui.text_large_cache_height=1024 \ +#ro.bq.num_of_layer_used_by_sf=4 \ +#persist.sys.timezone=Asia/Shanghai \ +#persist.sys.archos.region=cn \ +#persist.sys.archos.codepage=gbk \ +#ro.archos.setupwizard.flyme=true \ +#ro.archos.setupwizard.setlang=true \ +#ro.archos.region.enable=true \ +#ro.archos.contactmsg.auth=false \ +#ro.archos.customize.pccw=false \ +#ro.archos.autorecorder=true \ +#ro.archos.visualvoicemail=true \ +#ro.archos.security=false \ +#ro.archos.permanentkey=false \ +#ro.archos.sip.support=true \ +#ro.archos.voip.support=false \ +#sys.archos.m35x.white.config=false \ +#sys.archos.white.config=false \ +#persist.sys.log-main.enable=0 \ +#persist.sys.log-system.enable=0 \ +#persist.sys.log-events.enable=0 \ +#persist.sys.log-radio.enable=0 \ +#persist.sys.use.flyme.icon=true \ +#ro.adb.secure=1 \ +#keyguard.no_require_sim=true \ +#persist.sys.disable_blur_view=true \ +#persist.sys.static_blur_mode=false \ +#ro.debuggable=1 \ +#ro.operator.optr=CUST \ +#qemu.hw.mainkeys=1 \ +#dalvik.vm.heapgrowthlimit=128m \ +#dalvik.vm.heapsize=256m \ +#ro.mediatek.chip_ver=S01 \ +#ro.mediatek.version.release=ALPS.L1.MP3.V2_GINR6735.65C.L1_P48 \ +#ro.mediatek.platform=MT6735 \ +#ro.telephony.sim.count=2 \ +#persist.radio.default.sim=0 \ +#persist.radio.multisim.config=dsds \ +#persist.md.perm.checked=to_upgrade \ +#persist.gemini.sim_num=2 \ +#ro.gemini.smart_sim_switch=false \ +#ril.specific.sm_cause=0 \ +#bgw.current3gband=0 \ +#ril.external.md=0 \ +#ro.mtk_cam_lomo_support=1 \ +#ro.btstack=blueangel \ +#ro.sf.hwrotation=0 \ +#ril.current.share_modem=2 \ +#curlockscreen=1 \ +#ro.mediatek.gemini_support=true \ +#persist.radio.fd.counter=15 \ +#persist.radio.fd.off.counter=5 \ +#persist.radio.fd.r8.counter=15 \ +#persist.radio.fd.off.r8.counter=5 \ +#drm.service.enabled=true \ +#fmradio.driver.enable=1 \ +#ril.first.md=1 \ +#ril.flightmode.poweroffMD=1 \ +#ril.telephony.mode=0 \ +#dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt \ +#mediatek.wlan.chip=CONSYS_MT6735 \ +#mediatek.wlan.module.postfix=_consys_mt6735 \ +#ril.read.imsi=1 \ +#ril.radiooff.poweroffMD=0 \ +#ro.frp.pst=/dev/block/platform/mtk-msdc.0/by-name/frp \ +#ro.mediatek.version.branch=L1.MP3 \ +#ro.mediatek.version.sdk=4 \ +#ro.mtk_gemini_support=1 \ +#ro.mtk_audenh_support=1 \ +#ro.mtk_lossless_bt_audio=1 \ +#ro.mtk_besloudness_support=1 \ +#ro.mtk_bessurround_support=1 \ +#ro.mtk_gemini_enhancement=1 \ +#ro.mtk_wapi_support=1 \ +#ro.mtk_bt_support=1 \ +#ro.mtk_wappush_support=1 \ +#ro.mtk_agps_app=1 \ +#ro.mtk_wlan_support=1 \ +#ro.mtk_gps_support=1 \ +#ro.mtk_omacp_support=1 \ +#ro.mtk_search_db_support=1 \ +#ro.mtk_dialer_search_support=1 \ +#ro.mtk_dhcpv6c_wifi=1 \ +#ro.have_aacencode_feature=1 \ +#ro.mtk_fd_support=1 \ +#ro.mtk_oma_drm_support=1 \ +#ro.mtk_cta_drm_support=1 \ +#ro.mtk_widevine_drm_l3_support=1 \ +#ro.mtk_eap_sim_aka=1 \ +#ro.mtk_fm_recording_support=1 \ +#ro.mtk_audio_ape_support=1 \ +#ro.mtk_flv_playback_support=1 \ +#ro.mtk_wmv_playback_support=1 \ +#ro.mtk_send_rr_support=1 \ +#ro.mtk_emmc_support=1 \ +#ro.mtk_tetheringipv6_support=1 \ +#ro.mtk_phone_number_geo=1 \ +#ro.mtk_shared_sdcard=1 \ +#ro.mtk_enable_md1=1 \ +#ro.mtk_flight_mode_power_off_md=1 \ +#ro.mtk_pq_support=2 \ +#ro.mtk_miravision_support=1 \ +#ro.mtk_miravision_image_dc=1 \ +#ro.mtk_wfd_support=1 \ +#ro.mtk_wfd_sink_support=1 \ +#ro.mtk_wfd_sink_uibc_support=1 \ +#ro.mtk_sim_hot_swap=1 \ +#ro.mtk_thumbnail_play_support=1 \ +#ro.mtk_bip_scws=1 \ +#ro.mtk_cmcc_ft_precheck_support=1 \ +#ro.mtk_world_phone=1 \ +#ro.mtk_world_phone_policy=0 \ +#ro.mtk_perfservice_support=1 \ +#ro.mtk_sim_hot_swap_common_slot=1 \ +#ro.mtk_cta_set=1 \ +#ro.mtk_mobile_management=1 \ +#ro.mtk_antibricking_level=2 \ +#ro.mtk_cam_mfb_support=3 \ +#ro.mtk_slow_motion_support=1 \ +#ro.mtk_lte_support=1 \ +#ro.mtk_cam_mav_support=1 \ +#ro.mtk_cam_vfb=1 \ +#ro.mtk_rild_read_imsi=1 \ +#ro.sim_refresh_reset_by_modem=1 \ +#ro.mtk_live_photo_support=1 \ +#ro.mtk_motion_track_support=1 \ +#ro.mtk_passpoint_r1_support=1 \ +#ro.mtk_privacy_protection_lock=1 \ +#ro.mtk_bg_power_saving_support=1 \ +#ro.mtk_bg_power_saving_ui=1 \ +#ro.have_aee_feature=1 \ +#ro.sim_me_lock_mode=0 \ +#wfd.dummy.enable=1 \ +#ro.mediatek.project.path=device/ginreen/ginr6735_65c_l1 \ +#persist.mtk.wcn.combo.chipid=-1 \ +#service.wcn.driver.ready=no \ +#ro.wind_project_definition=5 \ +#ro.wind.pl.version=02 \ +#ro.wind_project_feature=1 \ +#ro.com.android.mobiledata=false \ +#persist.radio.mobile.data=0,0 \ +#persist.radio.mobile.enable=1,1 \ +#persist.meta.dumpdata=0 \ +#persist.sys.dalvik.vm.lib.2=libart.so \ +#dalvik.vm.isa.arm64.features=default \ +#dalvik.vm.isa.arm.features=default \ +#dalvik.vm.dexopt-flags=m=y \ +#net.bt.name=Android \ +#dalvik.vm.stack-trace-file=/data/anr/traces.txt \ + + diff --git a/egl.cfg b/egl.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9438b870769bbe3d4756e460cff5af0ff463ccf7 --- /dev/null +++ b/egl.cfg @@ -0,0 +1,2 @@ +0 0 android +0 1 mali diff --git a/etc/init/audioserver.rc b/etc/init/audioserver.rc new file mode 100644 index 0000000000000000000000000000000000000000..0d2f28250af0766573d21a765c8a9b0767f4c80a --- /dev/null +++ b/etc/init/audioserver.rc @@ -0,0 +1,7 @@ +service audioserver /system/bin/audioserver + class main + user audioserver + # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct qcom_diag system + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks diff --git a/etc/init/cameraserver.rc b/etc/init/cameraserver.rc new file mode 100644 index 0000000000000000000000000000000000000000..cff9671e3e690a13dac8ca344bfdc0007c391a50 --- /dev/null +++ b/etc/init/cameraserver.rc @@ -0,0 +1,6 @@ +service cameraserver /system/bin/cameraserver + class main + user cameraserver + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct system + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks diff --git a/etc/init/mediacodec.rc b/etc/init/mediacodec.rc new file mode 100644 index 0000000000000000000000000000000000000000..948fef193682bab4b738fba9a13d8cf45dc518e5 --- /dev/null +++ b/etc/init/mediacodec.rc @@ -0,0 +1,6 @@ +service mediacodec /system/bin/mediacodec + class main + user mediacodec + group camera drmrpc mediadrm audio media + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks diff --git a/etc/init/rild.rc b/etc/init/rild.rc new file mode 100644 index 0000000000000000000000000000000000000000..6184112776fcffe8bb84f0c4f6bcabbbca429e2a --- /dev/null +++ b/etc/init/rild.rc @@ -0,0 +1,8 @@ +service ril-daemon /system/bin/rild + class main + socket rild stream 660 root radio + socket sap_uim_socket1 stream 660 bluetooth bluetooth + socket rild-debug stream 660 radio system + user root + group radio cache inet misc audio log readproc wakelock + disabled diff --git a/configs/media_codecs.xml b/etc/media_codecs.xml old mode 100755 new mode 100644 similarity index 78% rename from configs/media_codecs.xml rename to etc/media_codecs.xml index e486435e0eb15d25f700cafa722a6d76b91bef17..8397f3527935fd5483f9cc17e8ce9091f07c02a7 --- a/configs/media_codecs.xml +++ b/etc/media_codecs.xml @@ -78,19 +78,18 @@ Only the three quirks included above are recognized at this point: + + @@ -100,24 +99,22 @@ Only the three quirks included above are recognized at this point: + + + + - + @@ -129,7 +126,7 @@ Only the three quirks included above are recognized at this point: - + @@ -142,18 +139,20 @@ Only the three quirks included above are recognized at this point: - + - + - + + + @@ -179,25 +178,6 @@ Only the three quirks included above are recognized at this point: - - - - - - - - - - - - - - - - - - - @@ -214,21 +194,21 @@ Only the three quirks included above are recognized at this point: - + - + - + @@ -238,16 +218,9 @@ Only the three quirks included above are recognized at this point: - - - - - - - - - - - - \ No newline at end of file + + + + + diff --git a/extract-files.sh b/extract-files.sh index bad6d3c554298e4dfe608e0752a839560b73eae6..9bd716eebeda05188eab49e3cc933abd5ccb4aaf 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,35 +1,60 @@ -#!/bin/sh +#!/bin/bash -## usage: extract-files.sh $1 $2 -## $1 and $2 are optional -## if $1 = unzip the files will be extracted from zip file (if $1 = anything else 'adb pull' will be used -## $2 specifies the zip file to extract from (default = ../../../${DEVICE}_update.zip) +export DEVICE=persimmon +export VENDOR=archos -VENDOR=oukitel -DEVICE=orange +if [ $# -eq 0 ]; then + SRC=adb +else + if [ $# -eq 1 ]; then + SRC=$1 + else + echo "$0: bad number of arguments" + echo "" + echo "usage: $0 [PATH_TO_EXPANDED_ROM]" + echo "" + echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from" + echo "the device using adb pull." + exit 1 + fi +fi + +function extract() { + for FILE in $(eval echo `egrep -v '(^#|^$)' $1`); do + OLDIFS=$IFS IFS=":" PARSING_ARRAY=($FILE) IFS=$OLDIFS + FILE=`echo ${PARSING_ARRAY[0]} | sed -e "s/^-//g"` + DEST=${PARSING_ARRAY[1]} + if [ -z $DEST ] + then + DEST=$FILE + fi + DIR=`dirname $DEST` + if [ ! -d $BASE/$DIR ]; then + mkdir -p $BASE/$DIR + fi + # Try CM target first + if [ "$SRC" = "adb" ]; then + adb pull /system/$DEST $BASE/$DEST + # if file does not exist try OEM target + if [ "$?" != "0" ]; then + adb pull /system/$FILE $BASE/$DEST + fi + else + if [ -z $SRC/system/$DEST ]; then + echo ":: $DEST" + cp $SRC/system/$DEST $BASE/$DEST + else + echo ":: $FILE" + cp $SRC/system/$FILE $BASE/$DEST + fi + fi + done +} BASE=../../../vendor/$VENDOR/$DEVICE/proprietary rm -rf $BASE/* -if [ -z "$2" ]; then - ZIPFILE=../../../${DEVICE}_update.zip -else - ZIPFILE=$2 -fi +#extract ../../$VENDOR/$DEVICE/proprietary-files-mtk.txt $BASE +extract ../../$VENDOR/$DEVICE/proprietary-files.txt $BASE -if [ "$1" = "unzip" -a ! -e $ZIPFILE ]; then - echo $ZIPFILE does not exist. -else - for FILE in `cat proprietary-files.txt | grep -v ^# | grep -v ^$`; do - DIR=`dirname $FILE` - if [ ! -d $BASE/$DIR ]; then - mkdir -p $BASE/$DIR - fi - if [ "$1" = "unzip" ]; then - unzip -j -o $ZIPFILE system/$FILE -d $BASE/$DIR - else - adb pull /system/$FILE $BASE/$FILE - fi - done -fi ./setup-makefiles.sh diff --git a/flyme/res/Android.mk b/flyme/res/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..08526948f9e5e1f5fc0f58211bb6e8d6f6981867 --- /dev/null +++ b/flyme/res/Android.mk @@ -0,0 +1,43 @@ +# +# Copyright (C) 2016 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_PACKAGE_NAME := flyme-res +LOCAL_CERTIFICATE := platform +LOCAL_AAPT_FLAGS := --auto-add-overlay +LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res) + +# Tell aapt to create "extending (non-application)" resource IDs, +# since these resources will be used by many apps. + +# 0x3f/one less than app id +LOCAL_AAPT_FLAGS += -x 63 + +LOCAL_MODULE_TAGS := optional + +# frameworks resource packages don't like the extra subdir layer +LOCAL_IGNORE_SUBDIR := true + +# Install this alongside the libraries. +LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES) + +# Create package-export.apk, which other packages can use to get +# PRODUCT-agnostic resource data like IDs and type definitions. +LOCAL_EXPORT_PACKAGE_RESOURCES := true + +include $(BUILD_PACKAGE) diff --git a/flyme/res/AndroidManifest.xml b/flyme/res/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..a8a3558b035b2a3c0fa8f762a2ba028b5b9bf504 --- /dev/null +++ b/flyme/res/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + diff --git a/overlay/packages/services/Telecomm/res/values/config.xml b/flyme/res/res/values/strings.xml old mode 100755 new mode 100644 similarity index 58% rename from overlay/packages/services/Telecomm/res/values/config.xml rename to flyme/res/res/values/strings.xml index 59a1e6048a072919c68a74acad8c273e80df6a04..a27d87cd3048fac30ee6c8adc7ea3555996360b0 --- a/overlay/packages/services/Telecomm/res/values/config.xml +++ b/flyme/res/res/values/strings.xml @@ -1,5 +1,6 @@ - + + + Flyme System - - - - true + /sys/devices/mx_tsp/gesture_control + /sys/devices/mx_tsp/gesture_data diff --git a/flyme/xAndroid.mk b/flyme/xAndroid.mk new file mode 100644 index 0000000000000000000000000000000000000000..fad0e921cc09cb3720e0c6948459c9a00816a4f7 --- /dev/null +++ b/flyme/xAndroid.mk @@ -0,0 +1,4 @@ +LOCAL_PATH:= $(call my-dir) + +include $(LOCAL_PATH)/res/Android.mk + diff --git a/include/cutils/alelog.h b/include/cutils/alelog.h deleted file mode 100755 index 294c7a9273d322bd4bc70abb0bf5dbd9cc29fa18..0000000000000000000000000000000000000000 --- a/include/cutils/alelog.h +++ /dev/null @@ -1,59 +0,0 @@ -#if !defined(__ALE_H__) -#define __ALE_H__ - -#if defined(__cplusplus) -extern "C" { -#endif - -#define LOGGER_ALE_MASK 0xf0 - -#define LOGGER_ALE_MSG_RAW 0x00 -#define LOGGER_ALE_MSG_K 0x10 -#define LOGGER_ALE_MSG_N 0x20 -#define LOGGER_ALE_MSG_J 0x30 -#define LOGGER_ALE_XMSG_K 0x40 -#define LOGGER_ALE_XMSG_N 0x50 -#define LOGGER_ALE_XMSG_J 0x60 - -#define LOGGER_ALE_MSG_SIZE 768 - -#define LOGGER_ALE_ARGS_MAX 16 -struct ale_convert { - const char *tag_str; - const char *fmt_ptr; - const char *file; - int lineno; - unsigned int hash; - char params[LOGGER_ALE_ARGS_MAX]; -}; - -int ale_log_output_binary(int prio, const char *tag, const void *payload, size_t len); - -int ale_log_output(int bufid, int prio, const struct ale_convert *convert, ...); - -#define ale_log_print(bufid, prio, tag, fmt, ...) \ - ({ \ - if (__builtin_constant_p(tag) && __builtin_constant_p(fmt)) { \ - static const struct ale_convert ____ale_rec____ = \ - { \ - __builtin_constant_p(tag) ? tag : NULL, \ - __builtin_constant_p(fmt) ? fmt : NULL, \ - __FILE__, \ - __builtin_constant_p(prio) ? prio : 0, \ - 0, \ - "" }; \ - ale_log_output(bufid, prio, &____ale_rec____, ##__VA_ARGS__); \ - } \ - else { \ - struct ale_convert ale = \ - {tag, fmt, NULL, \ - 0, 0, ""}; \ - ale_log_output(bufid, prio, &ale, ##__VA_ARGS__); \ - } \ - }) - -#if defined(__cplusplus) -}; -#endif - -#endif diff --git a/include/cutils/xlog.h b/include/cutils/xlog.h deleted file mode 100755 index a8089b7f61d428ae6f5904752a3167585a9f450e..0000000000000000000000000000000000000000 --- a/include/cutils/xlog.h +++ /dev/null @@ -1,185 +0,0 @@ -#if !defined(_XLOG_H) -#define _XLOG_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int xlogf_java_tag_is_on(const char *name, int level); -int xlogf_native_tag_is_on(const char *name, int level); - -int xlogf_java_xtag_is_on(const char *name, int level); -int xlogf_native_xtag_is_on(const char *name, int level); - -#ifndef XLOG_TAG -#define XLOG_TAG NULL -#endif - -#ifndef SXLOGV -#define SXLOGV(...) ((void)SXLOG_PRI(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGD -#define SXLOGD(...) ((void)SXLOG_PRI(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGI -#define SXLOGI(...) ((void)SXLOG_PRI(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGW -#define SXLOGW(...) ((void)SXLOG_PRI(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGE -#define SXLOGE(...) ((void)SXLOG_PRI(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGF -#define SXLOGF(...) ((void)SXLOG_PRI(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__)) -#endif -#if LOG_NDEBUG -#define SXLOG_ASSERT(cond, ...) \ - ( (CONDITION(cond)) \ - ? ((void)SXLOGF(LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) -#else -#define SXLOG_ASSERT(cond, ...) ((void)0) -#endif - -#define SXLOG_ALWAYS_ASSERT(cond,...) \ - ( (CONDITION(cond)) \ - ? ((void)SXLOGF(LOG_TAG, __VA_ARGS__)) \ - : (void)0 ) - -#ifndef XLOGV -#define XLOGV(...) ((void)XLOG_PRI(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGD -#define XLOGD(...) ((void)XLOG_PRI(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGI -#define XLOGI(...) ((void)XLOG_PRI(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGW -#define XLOGW(...) ((void)XLOG_PRI(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGE -#define XLOGE(...) ((void)XLOG_PRI(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGF -#define XLOGF(...) ((void)XLOG_PRI(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__)) -#endif - -#if LOG_NDEBUG -#define XLOG_ASSERT(cond, ...) \ - (!(cond) \ - ? ((void)XLOGF(__VA_ARGS__)) \ - : (void)0) -#else -#define XLOG_ASSERT(cond, ...) ((void)0) -#endif - -#define XLOG_ALWAY_ASSERT(cond, ...) \ - (!(cond) \ - ? ((void)XLOGF(__VA_ARGS__)) \ - : (void)0) - - -#ifndef SXLOGV2 -#define SXLOGV2(...) ((void)SXLOG_PRI(ANDROID_LOG_VERBOSE, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGD2 -#define SXLOGD2(...) ((void)SXLOG_PRI(ANDROID_LOG_DEBUG, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGI2 -#define SXLOGI2(...) ((void)SXLOG_PRI(ANDROID_LOG_INFO, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGW2 -#define SXLOGW2(...) ((void)SXLOG_PRI(ANDROID_LOG_WARN, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGE2 -#define SXLOGE2(...) ((void)SXLOG_PRI(ANDROID_LOG_ERROR, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef SXLOGF2 -#define SXLOGF2(...) ((void)SXLOG_PRI(ANDROID_LOG_FATAL, XLOG_TAG, __VA_ARGS__)) -#endif - -#ifndef XLOGV2 -#define XLOGV2(...) ((void)XLOG_PRI(ANDROID_LOG_VERBOSE, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGD2 -#define XLOGD2(...) ((void)XLOG_PRI(ANDROID_LOG_DEBUG, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGI2 -#define XLOGI2(...) ((void)XLOG_PRI(ANDROID_LOG_INFO, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGW2 -#define XLOGW2(...) ((void)XLOG_PRI(ANDROID_LOG_WARN, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGE2 -#define XLOGE2(...) ((void)XLOG_PRI(ANDROID_LOG_ERROR, XLOG_TAG, __VA_ARGS__)) -#endif -#ifndef XLOGF2 -#define XLOGF2(...) ((void)XLOG_PRI(ANDROID_LOG_FATAL, XLOG_TAG, __VA_ARGS__)) -#endif - -struct xlog_record { - const char *tag_str; - const char *fmt_str; - int prio; -}; - -#if defined(__cplusplus) -extern "C" { -#endif - -int __xlog_buf_printf(int bufid, const struct xlog_record *rec, ...); - -#if defined(__cplusplus) -} -#endif - -#if !defined(HAVE_ALE_FEATURE) - -#define xlog_buf_printf(bufid, prio, tag, fmt, ...) \ - ({ \ - static const struct xlog_record _xlog_rec = \ - {tag, fmt, prio}; \ - __xlog_buf_printf(bufid, &_xlog_rec, ##__VA_ARGS__); \ - }) - -#else - -#define xlog_buf_printf(bufid, prio, tag, fmt, ...) \ - ({ \ - static const struct ale_convert ____xlog_ale_rec____ = \ - { tag, fmt, __FILE__, prio, 0, "" }; \ - ale_log_output(bufid, prio, &____xlog_ale_rec____, \ - ##__VA_ARGS__); \ - }) - -#endif - -#ifdef HAVE_XLOG_FEATURE -#define XLOG_PRI(priority, tag, ...) \ - xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__) - -#define SXLOG_PRI(priority, tag, ...) \ - xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__) - -#define xlog_printf(priority, tag, ...) \ - xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__) - -#define sxlog_printf(priority, tag, ...) \ - xlog_buf_printf(LOG_ID_SYSTEM, priority, tag, __VA_ARGS__) -#else //HAVE_XLOG_FEATURE -#define XLOG_PRI(priority, tag, ...) ((void)0) -#define SXLOG_PRI(priority, tag, ...) ((void)0) -#define xlog_printf(priority, tag, ...) ((void)0) -#define sxlog_printf(priority, tag, ...) ((void)0) -#endif //HAVE_XLOG_FEATURE - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/hardware/gps.h b/include/hardware/gps.h deleted file mode 100755 index 580d5a4213a200d692cdf0b074f030821762a6c7..0000000000000000000000000000000000000000 --- a/include/hardware/gps.h +++ /dev/null @@ -1,1890 +0,0 @@ -/* - * 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. - */ - -#ifndef ANDROID_INCLUDE_HARDWARE_GPS_H -#define ANDROID_INCLUDE_HARDWARE_GPS_H - -#include -#include -#include -#include -#include -#include - -#include - -__BEGIN_DECLS - -/** - * The id of this module - */ -#define GPS_HARDWARE_MODULE_ID "gps" - - -/** Milliseconds since January 1, 1970 */ -typedef int64_t GpsUtcTime; - -/** Maximum number of GNSS SVs for gps_sv_status_callback(). */ -#define GNSS_MAX_SVS 256 - -/** Maximum number of SVs for gps_sv_status_callback(). */ -#define GPS_MAX_SVS 32 - -/** Maximum number of Measurements in gps_measurement_callback(). */ -#define GPS_MAX_MEASUREMENT 32 - -/** Requested operational mode for GPS operation. */ -typedef uint32_t GpsPositionMode; -// IMPORTANT: Note that the following values must match -// constants in GpsLocationProvider.java. -/** Mode for running GPS standalone (no assistance). */ -#define GPS_POSITION_MODE_STANDALONE 0 -/** AGPS MS-Based mode. */ -#define GPS_POSITION_MODE_MS_BASED 1 -/** AGPS MS-Assisted mode. */ -#define GPS_POSITION_MODE_MS_ASSISTED 2 - -/** Requested recurrence mode for GPS operation. */ -typedef uint32_t GpsPositionRecurrence; -// IMPORTANT: Note that the following values must match -// constants in GpsLocationProvider.java. -/** Receive GPS fixes on a recurring basis at a specified period. */ -#define GPS_POSITION_RECURRENCE_PERIODIC 0 -/** Request a single shot GPS fix. */ -#define GPS_POSITION_RECURRENCE_SINGLE 1 - -/** GPS status event values. */ -typedef uint16_t GpsStatusValue; -// IMPORTANT: Note that the following values must match -// constants in GpsLocationProvider.java. -/** GPS status unknown. */ -#define GPS_STATUS_NONE 0 -/** GPS has begun navigating. */ -#define GPS_STATUS_SESSION_BEGIN 1 -/** GPS has stopped navigating. */ -#define GPS_STATUS_SESSION_END 2 -/** GPS has powered on but is not navigating. */ -#define GPS_STATUS_ENGINE_ON 3 -/** GPS is powered off. */ -#define GPS_STATUS_ENGINE_OFF 4 - -/** Flags to indicate which values are valid in a GpsLocation. */ -typedef uint16_t GpsLocationFlags; -// IMPORTANT: Note that the following values must match -// constants in GpsLocationProvider.java. -/** GpsLocation has valid latitude and longitude. */ -#define GPS_LOCATION_HAS_LAT_LONG 0x0001 -/** GpsLocation has valid altitude. */ -#define GPS_LOCATION_HAS_ALTITUDE 0x0002 -/** GpsLocation has valid speed. */ -#define GPS_LOCATION_HAS_SPEED 0x0004 -/** GpsLocation has valid bearing. */ -#define GPS_LOCATION_HAS_BEARING 0x0008 -/** GpsLocation has valid accuracy. */ -#define GPS_LOCATION_HAS_ACCURACY 0x0010 - -/** Flags for the gps_set_capabilities callback. */ - -/** GPS HAL schedules fixes for GPS_POSITION_RECURRENCE_PERIODIC mode. - If this is not set, then the framework will use 1000ms for min_interval - and will start and call start() and stop() to schedule the GPS. - */ -#define GPS_CAPABILITY_SCHEDULING 0x0000001 -/** GPS supports MS-Based AGPS mode */ -#define GPS_CAPABILITY_MSB 0x0000002 -/** GPS supports MS-Assisted AGPS mode */ -#define GPS_CAPABILITY_MSA 0x0000004 -/** GPS supports single-shot fixes */ -#define GPS_CAPABILITY_SINGLE_SHOT 0x0000008 -/** GPS supports on demand time injection */ -#define GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 -/** GPS supports Geofencing */ -#define GPS_CAPABILITY_GEOFENCING 0x0000020 -/** GPS supports Measurements */ -#define GPS_CAPABILITY_MEASUREMENTS 0x0000040 -/** GPS supports Navigation Messages */ -#define GPS_CAPABILITY_NAV_MESSAGES 0x0000080 - -/** Flags used to specify which aiding data to delete - when calling delete_aiding_data(). */ -typedef uint32_t GpsAidingData; -// IMPORTANT: Note that the following values must match -// constants in GpsLocationProvider.java. -#define GPS_DELETE_EPHEMERIS 0x00000001 -#define GPS_DELETE_ALMANAC 0x00000002 -#define GPS_DELETE_POSITION 0x00000004 -#define GPS_DELETE_TIME 0x00000008 -#define GPS_DELETE_IONO 0x00000010 -#define GPS_DELETE_UTC 0x00000020 -#define GPS_DELETE_HEALTH 0x00000040 -#define GPS_DELETE_SVDIR 0x00000080 -#define GPS_DELETE_SVSTEER 0x00000100 -#define GPS_DELETE_SADATA 0x00000200 -#define GPS_DELETE_RTI 0x00000400 -#define GPS_DELETE_CELLDB_INFO 0x00000800 -#define GPS_DELETE_ALMANAC_CORR 0x00001000 -#define GPS_DELETE_FREQ_BIAS_EST 0x00002000 -#define GLO_DELETE_EPHEMERIS 0x00004000 -#define GLO_DELETE_ALMANAC 0x00008000 -#define GLO_DELETE_SVDIR 0x00010000 -#define GLO_DELETE_SVSTEER 0x00020000 -#define GLO_DELETE_ALMANAC_CORR 0x00040000 -#define GPS_DELETE_TIME_GPS 0x00080000 -#define GLO_DELETE_TIME 0x00100000 -#define BDS_DELETE_SVDIR 0X00200000 -#define BDS_DELETE_SVSTEER 0X00400000 -#define BDS_DELETE_TIME 0X00800000 -#define BDS_DELETE_ALMANAC_CORR 0X01000000 -#define BDS_DELETE_EPHEMERIS 0X02000000 -#define BDS_DELETE_ALMANAC 0X04000000 - -#define GPS_DELETE_ALL 0xFFFFFFFF - -/** AGPS type */ -typedef uint16_t AGpsType; -#define AGPS_TYPE_SUPL 1 -#define AGPS_TYPE_C2K 2 - -typedef uint16_t AGpsSetIDType; -#define AGPS_SETID_TYPE_NONE 0 -#define AGPS_SETID_TYPE_IMSI 1 -#define AGPS_SETID_TYPE_MSISDN 2 - -typedef uint16_t ApnIpType; -#define APN_IP_INVALID 0 -#define APN_IP_IPV4 1 -#define APN_IP_IPV6 2 -#define APN_IP_IPV4V6 3 - -/** - * String length constants - */ -#define GPS_NI_SHORT_STRING_MAXLEN 256 -#define GPS_NI_LONG_STRING_MAXLEN 2048 - -/** - * GpsNiType constants - */ -typedef uint32_t GpsNiType; -#define GPS_NI_TYPE_VOICE 1 -#define GPS_NI_TYPE_UMTS_SUPL 2 -#define GPS_NI_TYPE_UMTS_CTRL_PLANE 3 - -/** - * GpsNiNotifyFlags constants - */ -typedef uint32_t GpsNiNotifyFlags; -/** NI requires notification */ -#define GPS_NI_NEED_NOTIFY 0x0001 -/** NI requires verification */ -#define GPS_NI_NEED_VERIFY 0x0002 -/** NI requires privacy override, no notification/minimal trace */ -#define GPS_NI_PRIVACY_OVERRIDE 0x0004 - -/** - * GPS NI responses, used to define the response in - * NI structures - */ -typedef int GpsUserResponseType; -#define GPS_NI_RESPONSE_ACCEPT 1 -#define GPS_NI_RESPONSE_DENY 2 -#define GPS_NI_RESPONSE_NORESP 3 - -/** - * NI data encoding scheme - */ -typedef int GpsNiEncodingType; -#define GPS_ENC_NONE 0 -#define GPS_ENC_SUPL_GSM_DEFAULT 1 -#define GPS_ENC_SUPL_UTF8 2 -#define GPS_ENC_SUPL_UCS2 3 -#define GPS_ENC_UNKNOWN -1 - -/** AGPS status event values. */ -typedef uint16_t AGpsStatusValue; -/** GPS requests data connection for AGPS. */ -#define GPS_REQUEST_AGPS_DATA_CONN 1 -/** GPS releases the AGPS data connection. */ -#define GPS_RELEASE_AGPS_DATA_CONN 2 -/** AGPS data connection initiated */ -#define GPS_AGPS_DATA_CONNECTED 3 -/** AGPS data connection completed */ -#define GPS_AGPS_DATA_CONN_DONE 4 -/** AGPS data connection failed */ -#define GPS_AGPS_DATA_CONN_FAILED 5 - -#define AGPS_REF_LOCATION_TYPE_GSM_CELLID 1 -#define AGPS_REF_LOCATION_TYPE_UMTS_CELLID 2 -#define AGPS_REG_LOCATION_TYPE_MAC 3 - -/** Network types for update_network_state "type" parameter */ -#define AGPS_RIL_NETWORK_TYPE_MOBILE 0 -#define AGPS_RIL_NETWORK_TYPE_WIFI 1 -#define AGPS_RIL_NETWORK_TYPE_MOBILE_MMS 2 -#define AGPS_RIL_NETWORK_TYPE_MOBILE_SUPL 3 -#define AGPS_RIL_NETWORK_TTYPE_MOBILE_DUN 4 -#define AGPS_RIL_NETWORK_TTYPE_MOBILE_HIPRI 5 -#define AGPS_RIL_NETWORK_TTYPE_WIMAX 6 - -/** - * Flags to indicate what fields in GpsClock are valid. - */ -typedef uint16_t GpsClockFlags; -/** A valid 'leap second' is stored in the data structure. */ -#define GPS_CLOCK_HAS_LEAP_SECOND (1<<0) -/** A valid 'time uncertainty' is stored in the data structure. */ -#define GPS_CLOCK_HAS_TIME_UNCERTAINTY (1<<1) -/** A valid 'full bias' is stored in the data structure. */ -#define GPS_CLOCK_HAS_FULL_BIAS (1<<2) -/** A valid 'bias' is stored in the data structure. */ -#define GPS_CLOCK_HAS_BIAS (1<<3) -/** A valid 'bias uncertainty' is stored in the data structure. */ -#define GPS_CLOCK_HAS_BIAS_UNCERTAINTY (1<<4) -/** A valid 'drift' is stored in the data structure. */ -#define GPS_CLOCK_HAS_DRIFT (1<<5) -/** A valid 'drift uncertainty' is stored in the data structure. */ -#define GPS_CLOCK_HAS_DRIFT_UNCERTAINTY (1<<6) - -/** - * Enumeration of the available values for the GPS Clock type. - */ -typedef uint8_t GpsClockType; -/** The type is not available ot it is unknown. */ -#define GPS_CLOCK_TYPE_UNKNOWN 0 -/** The source of the time value reported by GPS clock is the local hardware clock. */ -#define GPS_CLOCK_TYPE_LOCAL_HW_TIME 1 -/** - * The source of the time value reported by GPS clock is the GPS time derived from satellites - * (epoch = Jan 6, 1980) - */ -#define GPS_CLOCK_TYPE_GPS_TIME 2 - -/** - * Flags to indicate what fields in GpsMeasurement are valid. - */ -typedef uint32_t GpsMeasurementFlags; -/** A valid 'snr' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_SNR (1<<0) -/** A valid 'elevation' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_ELEVATION (1<<1) -/** A valid 'elevation uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY (1<<2) -/** A valid 'azimuth' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_AZIMUTH (1<<3) -/** A valid 'azimuth uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY (1<<4) -/** A valid 'pseudorange' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_PSEUDORANGE (1<<5) -/** A valid 'pseudorange uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY (1<<6) -/** A valid 'code phase' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CODE_PHASE (1<<7) -/** A valid 'code phase uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY (1<<8) -/** A valid 'carrier frequency' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CARRIER_FREQUENCY (1<<9) -/** A valid 'carrier cycles' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CARRIER_CYCLES (1<<10) -/** A valid 'carrier phase' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CARRIER_PHASE (1<<11) -/** A valid 'carrier phase uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY (1<<12) -/** A valid 'bit number' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_BIT_NUMBER (1<<13) -/** A valid 'time from last bit' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT (1<<14) -/** A valid 'doppler shift' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_DOPPLER_SHIFT (1<<15) -/** A valid 'doppler shift uncertainty' is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY (1<<16) -/** A valid 'used in fix' flag is stored in the data structure. */ -#define GPS_MEASUREMENT_HAS_USED_IN_FIX (1<<17) - -/** - * Enumeration of the available values for the GPS Measurement's loss of lock. - */ -typedef uint8_t GpsLossOfLock; -/** The indicator is not available or it is unknown. */ -#define GPS_LOSS_OF_LOCK_UNKNOWN 0 -/** The measurement does not present any indication of loss of lock. */ -#define GPS_LOSS_OF_LOCK_OK 1 -/** Loss of lock between previous and current observation: cycle slip possible. */ -#define GPS_LOSS_OF_LOCK_CYCLE_SLIP 2 - -/** - * Enumeration of available values for the GPS Measurement's multipath indicator. - */ -typedef uint8_t GpsMultipathIndicator; -/** The indicator is not available or unknown. */ -#define GPS_MULTIPATH_INDICATOR_UNKNOWN 0 -/** The measurement has been indicated to use multipath. */ -#define GPS_MULTIPATH_INDICATOR_DETECTED 1 -/** The measurement has been indicated Not to use multipath. */ -#define GPS_MULTIPATH_INDICATOR_NOT_USED 2 - -/** - * Flags indicating the GPS measurement state. - * The expected behavior here is for GPS HAL to set all the flags that applies. For - * example, if the state for a satellite is only C/A code locked and bit synchronized, - * and there is still millisecond ambiguity, the state should be set as: - * GPS_MEASUREMENT_STATE_CODE_LOCK|GPS_MEASUREMENT_STATE_BIT_SYNC|GPS_MEASUREMENT_STATE_MSEC_AMBIGUOUS - * If GPS is still searching for a satellite, the corresponding state should be set to - * GPS_MEASUREMENT_STATE_UNKNOWN(0). - */ -typedef uint16_t GpsMeasurementState; -#define GPS_MEASUREMENT_STATE_UNKNOWN 0 -#define GPS_MEASUREMENT_STATE_CODE_LOCK (1<<0) -#define GPS_MEASUREMENT_STATE_BIT_SYNC (1<<1) -#define GPS_MEASUREMENT_STATE_SUBFRAME_SYNC (1<<2) -#define GPS_MEASUREMENT_STATE_TOW_DECODED (1<<3) -#define GPS_MEASUREMENT_STATE_MSEC_AMBIGUOUS (1<<4) - -/** - * Flags indicating the Accumulated Delta Range's states. - */ -typedef uint16_t GpsAccumulatedDeltaRangeState; -#define GPS_ADR_STATE_UNKNOWN 0 -#define GPS_ADR_STATE_VALID (1<<0) -#define GPS_ADR_STATE_RESET (1<<1) -#define GPS_ADR_STATE_CYCLE_SLIP (1<<2) - -/** - * Enumeration of available values to indicate the available GPS Navigation message types. - */ -typedef uint8_t GpsNavigationMessageType; -/** The message type is unknown. */ -#define GPS_NAVIGATION_MESSAGE_TYPE_UNKNOWN 0 -/** L1 C/A message contained in the structure. */ -#define GPS_NAVIGATION_MESSAGE_TYPE_L1CA 1 -/** L2-CNAV message contained in the structure. */ -#define GPS_NAVIGATION_MESSAGE_TYPE_L2CNAV 2 -/** L5-CNAV message contained in the structure. */ -#define GPS_NAVIGATION_MESSAGE_TYPE_L5CNAV 3 -/** CNAV-2 message contained in the structure. */ -#define GPS_NAVIGATION_MESSAGE_TYPE_CNAV2 4 - -/** - * Status of Navigation Message - * When a message is received properly without any parity error in its navigation words, the - * status should be set to NAV_MESSAGE_STATUS_PARITY_PASSED. But if a message is received - * with words that failed parity check, but GPS is able to correct those words, the status - * should be set to NAV_MESSAGE_STATUS_PARITY_REBUILT. - * No need to send any navigation message that contains words with parity error and cannot be - * corrected. - */ -typedef uint16_t NavigationMessageStatus; -#define NAV_MESSAGE_STATUS_UNKONW 0 -#define NAV_MESSAGE_STATUS_PARITY_PASSED (1<<0) -#define NAV_MESSAGE_STATUS_PARITY_REBUILT (1<<1) - -/** - * Name for the GPS XTRA interface. - */ -#define GPS_XTRA_INTERFACE "gps-xtra" - -/** - * Name for the GPS DEBUG interface. - */ -#define GPS_DEBUG_INTERFACE "gps-debug" - -/** - * Name for the AGPS interface. - */ -#define AGPS_INTERFACE "agps" - -/** - * Name of the Supl Certificate interface. - */ -#define SUPL_CERTIFICATE_INTERFACE "supl-certificate" - -/** - * Name for NI interface - */ -#define GPS_NI_INTERFACE "gps-ni" - -/** - * Name for the AGPS-RIL interface. - */ -#define AGPS_RIL_INTERFACE "agps_ril" - -/** - * Name for the GPS_Geofencing interface. - */ -#define GPS_GEOFENCING_INTERFACE "gps_geofencing" - -/** - * Name of the GPS Measurements interface. - */ -#define GPS_MEASUREMENT_INTERFACE "gps_measurement" - -/** - * Name of the GPS navigation message interface. - */ -#define GPS_NAVIGATION_MESSAGE_INTERFACE "gps_navigation_message" - -/** - * Name of the GNSS/GPS configuration interface. - */ -#define GNSS_CONFIGURATION_INTERFACE "gnss_configuration" - - -/** Represents a location. */ -typedef struct { - /** set to sizeof(GpsLocation) */ - size_t size; - /** Contains GpsLocationFlags bits. */ - uint16_t flags; - /** Represents latitude in degrees. */ - double latitude; - /** Represents longitude in degrees. */ - double longitude; - /** Represents altitude in meters above the WGS 84 reference - * ellipsoid. */ - double altitude; - /** Represents speed in meters per second. */ - float speed; - /** Represents heading in degrees. */ - float bearing; - /** Represents expected accuracy in meters. */ - float accuracy; - /** Timestamp for the location fix. */ - GpsUtcTime timestamp; -} GpsLocation; - -/** Represents the status. */ -typedef struct { - /** set to sizeof(GpsStatus) */ - size_t size; - GpsStatusValue status; -} GpsStatus; - -/** Represents SV information. */ -typedef struct { - /** set to sizeof(GpsSvInfo) */ - size_t size; - /** Pseudo-random number for the SV. */ - int prn; - /** Signal to noise ratio. */ - float snr; - /** Elevation of SV in degrees. */ - float elevation; - /** Azimuth of SV in degrees. */ - float azimuth; -} GpsSvInfo; - - -/** Represents GNSS SV information. */ -typedef struct { - /** set to sizeof(GnssSvInfo) */ - size_t size; - /** Pseudo-random number for the SV. */ - int prn; - /** Signal to noise ratio. */ - float snr; - /** Elevation of SV in degrees. */ - float elevation; - /** Azimuth of SV in degrees. */ - float azimuth; - /** - * SVs have ephemeris data. - */ - bool has_ephemeris; - /** - * SVs have almanac data. - */ - bool has_almanac; - /** - * SVs were used for computing the most recent position fix. - */ - bool used_in_fix; -} GnssSvInfo; - -/** Represents SV status. */ -typedef struct { - /** set to sizeof(GpsSvStatus) */ - size_t size; - - /** Number of SVs currently visible. */ - int num_svs; - - /** Contains an array of SV information. */ - GpsSvInfo sv_list[GPS_MAX_SVS]; - - /** Represents a bit mask indicating which SVs - * have ephemeris data. - */ - uint32_t ephemeris_mask; - - /** Represents a bit mask indicating which SVs - * have almanac data. - */ - uint32_t almanac_mask; - - /** - * Represents a bit mask indicating which SVs - * were used for computing the most recent position fix. - */ - uint32_t used_in_fix_mask; -} GpsSvStatus; - - -/** Represents GNSS SV status. */ -typedef struct { - /** set to sizeof(GnssSvStatus) */ - size_t size; - - /** Number of SVs currently visible. */ - int num_svs; - - /** Contains an array of GNSS SV information. */ - GnssSvInfo sv_list[GNSS_MAX_SVS]; -} GnssSvStatus; - -/* 2G and 3G */ -/* In 3G lac is discarded */ -typedef struct { - uint16_t type; - uint16_t mcc; - uint16_t mnc; - uint16_t lac; - uint32_t cid; -} AGpsRefLocationCellID; - -typedef struct { - uint8_t mac[6]; -} AGpsRefLocationMac; - -/** Represents ref locations */ -typedef struct { - uint16_t type; - union { - AGpsRefLocationCellID cellID; - AGpsRefLocationMac mac; - } u; -} AGpsRefLocation; - -/** Callback with location information. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gps_location_callback)(GpsLocation* location); - -/** Callback with status information. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gps_status_callback)(GpsStatus* status); - -/** - * Callback with SV status information. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gps_sv_status_callback)(GpsSvStatus* sv_info); - -/** - * Callback with GNSS SV status information. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gnss_sv_status_callback)(GnssSvStatus* sv_info); - -/** Callback for reporting NMEA sentences. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gps_nmea_callback)(GpsUtcTime timestamp, const char* nmea, int length); - -/** Callback to inform framework of the GPS engine's capabilities. - * Capability parameter is a bit field of GPS_CAPABILITY_* flags. - */ -typedef void (* gps_set_capabilities)(uint32_t capabilities); - -/** Callback utility for acquiring the GPS wakelock. - * This can be used to prevent the CPU from suspending while handling GPS events. - */ -typedef void (* gps_acquire_wakelock)(); - -/** Callback utility for releasing the GPS wakelock. */ -typedef void (* gps_release_wakelock)(); - -/** Callback for requesting NTP time */ -typedef void (* gps_request_utc_time)(); - -/** Callback for creating a thread that can call into the Java framework code. - * This must be used to create any threads that report events up to the framework. - */ -typedef pthread_t (* gps_create_thread)(const char* name, void (*start)(void *), void* arg); - -/** GPS callback structure. */ -typedef struct { - /** set to sizeof(GpsCallbacks) */ - size_t size; - gps_location_callback location_cb; - gps_status_callback status_cb; - gps_sv_status_callback sv_status_cb; - gnss_sv_status_callback gnss_sv_status_cb; - gps_nmea_callback nmea_cb; - gps_set_capabilities set_capabilities_cb; - gps_acquire_wakelock acquire_wakelock_cb; - gps_release_wakelock release_wakelock_cb; - gps_create_thread create_thread_cb; - gps_request_utc_time request_utc_time_cb; -} GpsCallbacks; - - -/** Represents the standard GPS interface. */ -typedef struct { - /** set to sizeof(GpsInterface) */ - size_t size; - /** - * Opens the interface and provides the callback routines - * to the implementation of this interface. - */ - int (*init)( GpsCallbacks* callbacks ); - - /** Starts navigating. */ - int (*start)( void ); - - /** Stops navigating. */ - int (*stop)( void ); - - /** Closes the interface. */ - void (*cleanup)( void ); - - /** Injects the current time. */ - int (*inject_time)(GpsUtcTime time, int64_t timeReference, - int uncertainty); - - /** Injects current location from another location provider - * (typically cell ID). - * latitude and longitude are measured in degrees - * expected accuracy is measured in meters - */ - int (*inject_location)(double latitude, double longitude, float accuracy); - - /** - * Specifies that the next call to start will not use the - * information defined in the flags. GPS_DELETE_ALL is passed for - * a cold start. - */ - void (*delete_aiding_data)(GpsAidingData flags); - - /** - * min_interval represents the time between fixes in milliseconds. - * preferred_accuracy represents the requested fix accuracy in meters. - * preferred_time represents the requested time to first fix in milliseconds. - */ - int (*set_position_mode)(GpsPositionMode mode, GpsPositionRecurrence recurrence, - uint32_t min_interval, uint32_t preferred_accuracy, uint32_t preferred_time); - - /** Get a pointer to extension information. */ - const void* (*get_extension)(const char* name); -} GpsInterface; - -/** Callback to request the client to download XTRA data. - * The client should download XTRA data and inject it by calling inject_xtra_data(). - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* gps_xtra_download_request)(); - -/** Callback structure for the XTRA interface. */ -typedef struct { - gps_xtra_download_request download_request_cb; - gps_create_thread create_thread_cb; -} GpsXtraCallbacks; - -/** Extended interface for XTRA support. */ -typedef struct { - /** set to sizeof(GpsXtraInterface) */ - size_t size; - /** - * Opens the XTRA interface and provides the callback routines - * to the implementation of this interface. - */ - int (*init)( GpsXtraCallbacks* callbacks ); - /** Injects XTRA data into the GPS. */ - int (*inject_xtra_data)( char* data, int length ); -} GpsXtraInterface; - -/** Extended interface for DEBUG support. */ -typedef struct { - /** set to sizeof(GpsDebugInterface) */ - size_t size; - - /** - * This function should return any information that the native - * implementation wishes to include in a bugreport. - */ - size_t (*get_internal_state)(char* buffer, size_t bufferSize); -} GpsDebugInterface; - -/** Represents the status of AGPS. */ -typedef struct { - /** set to sizeof(AGpsStatus_v1) */ - size_t size; - - AGpsType type; - AGpsStatusValue status; -} AGpsStatus_v1; - -/** Represents the status of AGPS augmented with a IPv4 address field. */ -typedef struct { - /** set to sizeof(AGpsStatus_v2) */ - size_t size; - - AGpsType type; - AGpsStatusValue status; - uint32_t ipaddr; -} AGpsStatus_v2; - -/* Represents the status of AGPS augmented to support IPv4 and IPv6. */ -typedef struct { - /** set to sizeof(AGpsStatus_v3) */ - size_t size; - - AGpsType type; - AGpsStatusValue status; - - /** - * Must be set to a valid IPv4 address if the field 'addr' contains an IPv4 - * address, or set to INADDR_NONE otherwise. - */ - uint32_t ipaddr; - - /** - * Must contain the IPv4 (AF_INET) or IPv6 (AF_INET6) address to report. - * Any other value of addr.ss_family will be rejected. - * */ - struct sockaddr_storage addr; -} AGpsStatus_v3; - -typedef AGpsStatus_v3 AGpsStatus; - -/** Callback with AGPS status information. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (* agps_status_callback)(AGpsStatus* status); - -/** Callback structure for the AGPS interface. */ -typedef struct { - agps_status_callback status_cb; - gps_create_thread create_thread_cb; -} AGpsCallbacks; - - -/** Extended interface for AGPS support. */ -typedef struct { - /** set to sizeof(AGpsInterface_v1) */ - size_t size; - - /** - * Opens the AGPS interface and provides the callback routines - * to the implementation of this interface. - */ - void (*init)( AGpsCallbacks* callbacks ); - /** - * Notifies that a data connection is available and sets - * the name of the APN to be used for SUPL. - */ - int (*data_conn_open)( const char* apn ); - /** - * Notifies that the AGPS data connection has been closed. - */ - int (*data_conn_closed)(); - /** - * Notifies that a data connection is not available for AGPS. - */ - int (*data_conn_failed)(); - /** - * Sets the hostname and port for the AGPS server. - */ - int (*set_server)( AGpsType type, const char* hostname, int port ); -} AGpsInterface_v1; - -/** - * Extended interface for AGPS support, it is augmented to enable to pass - * extra APN data. - */ -typedef struct { - /** set to sizeof(AGpsInterface_v2) */ - size_t size; - - /** - * Opens the AGPS interface and provides the callback routines to the - * implementation of this interface. - */ - void (*init)(AGpsCallbacks* callbacks); - /** - * Deprecated. - * If the HAL supports AGpsInterface_v2 this API will not be used, see - * data_conn_open_with_apn_ip_type for more information. - */ - int (*data_conn_open)(const char* apn); - /** - * Notifies that the AGPS data connection has been closed. - */ - int (*data_conn_closed)(); - /** - * Notifies that a data connection is not available for AGPS. - */ - int (*data_conn_failed)(); - /** - * Sets the hostname and port for the AGPS server. - */ - int (*set_server)(AGpsType type, const char* hostname, int port); - - /** - * Notifies that a data connection is available and sets the name of the - * APN, and its IP type, to be used for SUPL connections. - */ - int (*data_conn_open_with_apn_ip_type)( - const char* apn, - ApnIpType apnIpType); -} AGpsInterface_v2; - -typedef AGpsInterface_v2 AGpsInterface; - -/** Error codes associated with certificate operations */ -#define AGPS_CERTIFICATE_OPERATION_SUCCESS 0 -#define AGPS_CERTIFICATE_ERROR_GENERIC -100 -#define AGPS_CERTIFICATE_ERROR_TOO_MANY_CERTIFICATES -101 - -/** A data structure that represents an X.509 certificate using DER encoding */ -typedef struct { - size_t length; - u_char* data; -} DerEncodedCertificate; - -/** - * A type definition for SHA1 Fingerprints used to identify X.509 Certificates - * The Fingerprint is a digest of the DER Certificate that uniquely identifies it. - */ -typedef struct { - u_char data[20]; -} Sha1CertificateFingerprint; - -/** AGPS Interface to handle SUPL certificate operations */ -typedef struct { - /** set to sizeof(SuplCertificateInterface) */ - size_t size; - - /** - * Installs a set of Certificates used for SUPL connections to the AGPS server. - * If needed the HAL should find out internally any certificates that need to be removed to - * accommodate the certificates to install. - * The certificates installed represent a full set of valid certificates needed to connect to - * AGPS SUPL servers. - * The list of certificates is required, and all must be available at the same time, when trying - * to establish a connection with the AGPS Server. - * - * Parameters: - * certificates - A pointer to an array of DER encoded certificates that are need to be - * installed in the HAL. - * length - The number of certificates to install. - * Returns: - * AGPS_CERTIFICATE_OPERATION_SUCCESS if the operation is completed successfully - * AGPS_CERTIFICATE_ERROR_TOO_MANY_CERTIFICATES if the HAL cannot store the number of - * certificates attempted to be installed, the state of the certificates stored should - * remain the same as before on this error case. - * - * IMPORTANT: - * If needed the HAL should find out internally the set of certificates that need to be - * removed to accommodate the certificates to install. - */ - int (*install_certificates) ( const DerEncodedCertificate* certificates, size_t length ); - - /** - * Notifies the HAL that a list of certificates used for SUPL connections are revoked. It is - * expected that the given set of certificates is removed from the internal store of the HAL. - * - * Parameters: - * fingerprints - A pointer to an array of SHA1 Fingerprints to identify the set of - * certificates to revoke. - * length - The number of fingerprints provided. - * Returns: - * AGPS_CERTIFICATE_OPERATION_SUCCESS if the operation is completed successfully. - * - * IMPORTANT: - * If any of the certificates provided (through its fingerprint) is not known by the HAL, - * it should be ignored and continue revoking/deleting the rest of them. - */ - int (*revoke_certificates) ( const Sha1CertificateFingerprint* fingerprints, size_t length ); -} SuplCertificateInterface; - -/** Represents an NI request */ -typedef struct { - /** set to sizeof(GpsNiNotification) */ - size_t size; - - /** - * An ID generated by HAL to associate NI notifications and UI - * responses - */ - int notification_id; - - /** - * An NI type used to distinguish different categories of NI - * events, such as GPS_NI_TYPE_VOICE, GPS_NI_TYPE_UMTS_SUPL, ... - */ - GpsNiType ni_type; - - /** - * Notification/verification options, combinations of GpsNiNotifyFlags constants - */ - GpsNiNotifyFlags notify_flags; - - /** - * Timeout period to wait for user response. - * Set to 0 for no time out limit. - */ - int timeout; - - /** - * Default response when time out. - */ - GpsUserResponseType default_response; - - /** - * Requestor ID - */ - char requestor_id[GPS_NI_SHORT_STRING_MAXLEN]; - - /** - * Notification message. It can also be used to store client_id in some cases - */ - char text[GPS_NI_LONG_STRING_MAXLEN]; - - /** - * Client name decoding scheme - */ - GpsNiEncodingType requestor_id_encoding; - - /** - * Client name decoding scheme - */ - GpsNiEncodingType text_encoding; - - /** - * A pointer to extra data. Format: - * key_1 = value_1 - * key_2 = value_2 - */ - char extras[GPS_NI_LONG_STRING_MAXLEN]; - -} GpsNiNotification; - -/** Callback with NI notification. - * Can only be called from a thread created by create_thread_cb. - */ -typedef void (*gps_ni_notify_callback)(GpsNiNotification *notification); - -/** GPS NI callback structure. */ -typedef struct -{ - /** - * Sends the notification request from HAL to GPSLocationProvider. - */ - gps_ni_notify_callback notify_cb; - gps_create_thread create_thread_cb; -} GpsNiCallbacks; - -/** - * Extended interface for Network-initiated (NI) support. - */ -typedef struct -{ - /** set to sizeof(GpsNiInterface) */ - size_t size; - - /** Registers the callbacks for HAL to use. */ - void (*init) (GpsNiCallbacks *callbacks); - - /** Sends a response to HAL. */ - void (*respond) (int notif_id, GpsUserResponseType user_response); -} GpsNiInterface; - -struct gps_device_t { - struct hw_device_t common; - - /** - * Set the provided lights to the provided values. - * - * Returns: 0 on succes, error code on failure. - */ - const GpsInterface* (*get_gps_interface)(struct gps_device_t* dev); -}; - -#define AGPS_RIL_REQUEST_SETID_IMSI (1<<0L) -#define AGPS_RIL_REQUEST_SETID_MSISDN (1<<1L) - -#define AGPS_RIL_REQUEST_REFLOC_CELLID (1<<0L) -#define AGPS_RIL_REQUEST_REFLOC_MAC (1<<1L) - -typedef void (*agps_ril_request_set_id)(uint32_t flags); -typedef void (*agps_ril_request_ref_loc)(uint32_t flags); - -typedef struct { - agps_ril_request_set_id request_setid; - agps_ril_request_ref_loc request_refloc; - gps_create_thread create_thread_cb; -} AGpsRilCallbacks; - -/** Extended interface for AGPS_RIL support. */ -typedef struct { - /** set to sizeof(AGpsRilInterface) */ - size_t size; - /** - * Opens the AGPS interface and provides the callback routines - * to the implementation of this interface. - */ - void (*init)( AGpsRilCallbacks* callbacks ); - - /** - * Sets the reference location. - */ - void (*set_ref_location) (const AGpsRefLocation *agps_reflocation, size_t sz_struct); - /** - * Sets the set ID. - */ - void (*set_set_id) (AGpsSetIDType type, const char* setid); - - /** - * Send network initiated message. - */ - void (*ni_message) (uint8_t *msg, size_t len); - - /** - * Notify GPS of network status changes. - * These parameters match values in the android.net.NetworkInfo class. - */ - void (*update_network_state) (int connected, int type, int roaming, const char* extra_info); - - /** - * Notify GPS of network status changes. - * These parameters match values in the android.net.NetworkInfo class. - */ - void (*update_network_availability) (int avaiable, const char* apn); -} AGpsRilInterface; - -/** - * GPS Geofence. - * There are 3 states associated with a Geofence: Inside, Outside, Unknown. - * There are 3 transitions: ENTERED, EXITED, UNCERTAIN. - * - * An example state diagram with confidence level: 95% and Unknown time limit - * set as 30 secs is shown below. (confidence level and Unknown time limit are - * explained latter) - * ____________________________ - * | Unknown (30 secs) | - * """""""""""""""""""""""""""" - * ^ | | ^ - * UNCERTAIN| |ENTERED EXITED| |UNCERTAIN - * | v v | - * ________ EXITED _________ - * | Inside | -----------> | Outside | - * | | <----------- | | - * """""""" ENTERED """"""""" - * - * Inside state: We are 95% confident that the user is inside the geofence. - * Outside state: We are 95% confident that the user is outside the geofence - * Unknown state: Rest of the time. - * - * The Unknown state is better explained with an example: - * - * __________ - * | c| - * | ___ | _______ - * | |a| | | b | - * | """ | """"""" - * | | - * """""""""" - * In the diagram above, "a" and "b" are 2 geofences and "c" is the accuracy - * circle reported by the GPS subsystem. Now with regard to "b", the system is - * confident that the user is outside. But with regard to "a" is not confident - * whether it is inside or outside the geofence. If the accuracy remains the - * same for a sufficient period of time, the UNCERTAIN transition would be - * triggered with the state set to Unknown. If the accuracy improves later, an - * appropriate transition should be triggered. This "sufficient period of time" - * is defined by the parameter in the add_geofence_area API. - * In other words, Unknown state can be interpreted as a state in which the - * GPS subsystem isn't confident enough that the user is either inside or - * outside the Geofence. It moves to Unknown state only after the expiry of the - * timeout. - * - * The geofence callback needs to be triggered for the ENTERED and EXITED - * transitions, when the GPS system is confident that the user has entered - * (Inside state) or exited (Outside state) the Geofence. An implementation - * which uses a value of 95% as the confidence is recommended. The callback - * should be triggered only for the transitions requested by the - * add_geofence_area call. - * - * Even though the diagram and explanation talks about states and transitions, - * the callee is only interested in the transistions. The states are mentioned - * here for illustrative purposes. - * - * Startup Scenario: When the device boots up, if an application adds geofences, - * and then we get an accurate GPS location fix, it needs to trigger the - * appropriate (ENTERED or EXITED) transition for every Geofence it knows about. - * By default, all the Geofences will be in the Unknown state. - * - * When the GPS system is unavailable, gps_geofence_status_callback should be - * called to inform the upper layers of the same. Similarly, when it becomes - * available the callback should be called. This is a global state while the - * UNKNOWN transition described above is per geofence. - * - * An important aspect to note is that users of this API (framework), will use - * other subsystems like wifi, sensors, cell to handle Unknown case and - * hopefully provide a definitive state transition to the third party - * application. GPS Geofence will just be a signal indicating what the GPS - * subsystem knows about the Geofence. - * - */ -#define GPS_GEOFENCE_ENTERED (1<<0L) -#define GPS_GEOFENCE_EXITED (1<<1L) -#define GPS_GEOFENCE_UNCERTAIN (1<<2L) - -#define GPS_GEOFENCE_UNAVAILABLE (1<<0L) -#define GPS_GEOFENCE_AVAILABLE (1<<1L) - -#define GPS_GEOFENCE_OPERATION_SUCCESS 0 -#define GPS_GEOFENCE_ERROR_TOO_MANY_GEOFENCES -100 -#define GPS_GEOFENCE_ERROR_ID_EXISTS -101 -#define GPS_GEOFENCE_ERROR_ID_UNKNOWN -102 -#define GPS_GEOFENCE_ERROR_INVALID_TRANSITION -103 -#define GPS_GEOFENCE_ERROR_GENERIC -149 - -/** - * The callback associated with the geofence. - * Parameters: - * geofence_id - The id associated with the add_geofence_area. - * location - The current GPS location. - * transition - Can be one of GPS_GEOFENCE_ENTERED, GPS_GEOFENCE_EXITED, - * GPS_GEOFENCE_UNCERTAIN. - * timestamp - Timestamp when the transition was detected. - * - * The callback should only be called when the caller is interested in that - * particular transition. For instance, if the caller is interested only in - * ENTERED transition, then the callback should NOT be called with the EXITED - * transition. - * - * IMPORTANT: If a transition is triggered resulting in this callback, the GPS - * subsystem will wake up the application processor, if its in suspend state. - */ -typedef void (*gps_geofence_transition_callback) (int32_t geofence_id, GpsLocation* location, - int32_t transition, GpsUtcTime timestamp); - -/** - * The callback associated with the availability of the GPS system for geofencing - * monitoring. If the GPS system determines that it cannot monitor geofences - * because of lack of reliability or unavailability of the GPS signals, it will - * call this callback with GPS_GEOFENCE_UNAVAILABLE parameter. - * - * Parameters: - * status - GPS_GEOFENCE_UNAVAILABLE or GPS_GEOFENCE_AVAILABLE. - * last_location - Last known location. - */ -typedef void (*gps_geofence_status_callback) (int32_t status, GpsLocation* last_location); - -/** - * The callback associated with the add_geofence call. - * - * Parameter: - * geofence_id - Id of the geofence. - * status - GPS_GEOFENCE_OPERATION_SUCCESS - * GPS_GEOFENCE_ERROR_TOO_MANY_GEOFENCES - geofence limit has been reached. - * GPS_GEOFENCE_ERROR_ID_EXISTS - geofence with id already exists - * GPS_GEOFENCE_ERROR_INVALID_TRANSITION - the monitorTransition contains an - * invalid transition - * GPS_GEOFENCE_ERROR_GENERIC - for other errors. - */ -typedef void (*gps_geofence_add_callback) (int32_t geofence_id, int32_t status); - -/** - * The callback associated with the remove_geofence call. - * - * Parameter: - * geofence_id - Id of the geofence. - * status - GPS_GEOFENCE_OPERATION_SUCCESS - * GPS_GEOFENCE_ERROR_ID_UNKNOWN - for invalid id - * GPS_GEOFENCE_ERROR_GENERIC for others. - */ -typedef void (*gps_geofence_remove_callback) (int32_t geofence_id, int32_t status); - - -/** - * The callback associated with the pause_geofence call. - * - * Parameter: - * geofence_id - Id of the geofence. - * status - GPS_GEOFENCE_OPERATION_SUCCESS - * GPS_GEOFENCE_ERROR_ID_UNKNOWN - for invalid id - * GPS_GEOFENCE_ERROR_INVALID_TRANSITION - - * when monitor_transitions is invalid - * GPS_GEOFENCE_ERROR_GENERIC for others. - */ -typedef void (*gps_geofence_pause_callback) (int32_t geofence_id, int32_t status); - -/** - * The callback associated with the resume_geofence call. - * - * Parameter: - * geofence_id - Id of the geofence. - * status - GPS_GEOFENCE_OPERATION_SUCCESS - * GPS_GEOFENCE_ERROR_ID_UNKNOWN - for invalid id - * GPS_GEOFENCE_ERROR_GENERIC for others. - */ -typedef void (*gps_geofence_resume_callback) (int32_t geofence_id, int32_t status); - -typedef struct { - gps_geofence_transition_callback geofence_transition_callback; - gps_geofence_status_callback geofence_status_callback; - gps_geofence_add_callback geofence_add_callback; - gps_geofence_remove_callback geofence_remove_callback; - gps_geofence_pause_callback geofence_pause_callback; - gps_geofence_resume_callback geofence_resume_callback; - gps_create_thread create_thread_cb; -} GpsGeofenceCallbacks; - -/** Extended interface for GPS_Geofencing support */ -typedef struct { - /** set to sizeof(GpsGeofencingInterface) */ - size_t size; - - /** - * Opens the geofence interface and provides the callback routines - * to the implementation of this interface. - */ - void (*init)( GpsGeofenceCallbacks* callbacks ); - - /** - * Add a geofence area. This api currently supports circular geofences. - * Parameters: - * geofence_id - The id for the geofence. If a geofence with this id - * already exists, an error value (GPS_GEOFENCE_ERROR_ID_EXISTS) - * should be returned. - * latitude, longtitude, radius_meters - The lat, long and radius - * (in meters) for the geofence - * last_transition - The current state of the geofence. For example, if - * the system already knows that the user is inside the geofence, - * this will be set to GPS_GEOFENCE_ENTERED. In most cases, it - * will be GPS_GEOFENCE_UNCERTAIN. - * monitor_transition - Which transitions to monitor. Bitwise OR of - * GPS_GEOFENCE_ENTERED, GPS_GEOFENCE_EXITED and - * GPS_GEOFENCE_UNCERTAIN. - * notification_responsiveness_ms - Defines the best-effort description - * of how soon should the callback be called when the transition - * associated with the Geofence is triggered. For instance, if set - * to 1000 millseconds with GPS_GEOFENCE_ENTERED, the callback - * should be called 1000 milliseconds within entering the geofence. - * This parameter is defined in milliseconds. - * NOTE: This is not to be confused with the rate that the GPS is - * polled at. It is acceptable to dynamically vary the rate of - * sampling the GPS for power-saving reasons; thus the rate of - * sampling may be faster or slower than this. - * unknown_timer_ms - The time limit after which the UNCERTAIN transition - * should be triggered. This parameter is defined in milliseconds. - * See above for a detailed explanation. - */ - void (*add_geofence_area) (int32_t geofence_id, double latitude, double longitude, - double radius_meters, int last_transition, int monitor_transitions, - int notification_responsiveness_ms, int unknown_timer_ms); - - /** - * Pause monitoring a particular geofence. - * Parameters: - * geofence_id - The id for the geofence. - */ - void (*pause_geofence) (int32_t geofence_id); - - /** - * Resume monitoring a particular geofence. - * Parameters: - * geofence_id - The id for the geofence. - * monitor_transitions - Which transitions to monitor. Bitwise OR of - * GPS_GEOFENCE_ENTERED, GPS_GEOFENCE_EXITED and - * GPS_GEOFENCE_UNCERTAIN. - * This supersedes the value associated provided in the - * add_geofence_area call. - */ - void (*resume_geofence) (int32_t geofence_id, int monitor_transitions); - - /** - * Remove a geofence area. After the function returns, no notifications - * should be sent. - * Parameter: - * geofence_id - The id for the geofence. - */ - void (*remove_geofence_area) (int32_t geofence_id); -} GpsGeofencingInterface; - - -/** - * Represents an estimate of the GPS clock time. - */ -typedef struct { - /** set to sizeof(GpsClock) */ - size_t size; - - /** A set of flags indicating the validity of the fields in this data structure. */ - GpsClockFlags flags; - - /** - * Leap second data. - * The sign of the value is defined by the following equation: - * utc_time_ns = time_ns + (full_bias_ns + bias_ns) - leap_second * 1,000,000,000 - * - * If the data is available 'flags' must contain GPS_CLOCK_HAS_LEAP_SECOND. - */ - int16_t leap_second; - - /** - * Indicates the type of time reported by the 'time_ns' field. - * This is a Mandatory field. - */ - GpsClockType type; - - /** - * The GPS receiver internal clock value. This can be either the local hardware clock value - * (GPS_CLOCK_TYPE_LOCAL_HW_TIME), or the current GPS time derived inside GPS receiver - * (GPS_CLOCK_TYPE_GPS_TIME). The field 'type' defines the time reported. - * - * For local hardware clock, this value is expected to be monotonically increasing during - * the reporting session. The real GPS time can be derived by compensating the 'full bias' - * (when it is available) from this value. - * - * For GPS time, this value is expected to be the best estimation of current GPS time that GPS - * receiver can achieve. Set the 'time uncertainty' appropriately when GPS time is specified. - * - * Sub-nanosecond accuracy can be provided by means of the 'bias' field. - * The value contains the 'time uncertainty' in it. - * - * This is a Mandatory field. - */ - int64_t time_ns; - - /** - * 1-Sigma uncertainty associated with the clock's time in nanoseconds. - * The uncertainty is represented as an absolute (single sided) value. - * - * This value should be set if GPS_CLOCK_TYPE_GPS_TIME is set. - * If the data is available 'flags' must contain GPS_CLOCK_HAS_TIME_UNCERTAINTY. - */ - double time_uncertainty_ns; - - /** - * The difference between hardware clock ('time' field) inside GPS receiver and the true GPS - * time since 0000Z, January 6, 1980, in nanoseconds. - * This value is used if and only if GPS_CLOCK_TYPE_LOCAL_HW_TIME is set, and GPS receiver - * has solved the clock for GPS time. - * The caller is responsible for using the 'bias uncertainty' field for quality check. - * - * The sign of the value is defined by the following equation: - * true time (GPS time) = time_ns + (full_bias_ns + bias_ns) - * - * This value contains the 'bias uncertainty' in it. - * If the data is available 'flags' must contain GPS_CLOCK_HAS_FULL_BIAS. - - */ - int64_t full_bias_ns; - - /** - * Sub-nanosecond bias. - * The value contains the 'bias uncertainty' in it. - * - * If the data is available 'flags' must contain GPS_CLOCK_HAS_BIAS. - */ - double bias_ns; - - /** - * 1-Sigma uncertainty associated with the clock's bias in nanoseconds. - * The uncertainty is represented as an absolute (single sided) value. - * - * If the data is available 'flags' must contain GPS_CLOCK_HAS_BIAS_UNCERTAINTY. - */ - double bias_uncertainty_ns; - - /** - * The clock's drift in nanoseconds (per second). - * A positive value means that the frequency is higher than the nominal frequency. - * - * The value contains the 'drift uncertainty' in it. - * If the data is available 'flags' must contain GPS_CLOCK_HAS_DRIFT. - */ - double drift_nsps; - - /** - * 1-Sigma uncertainty associated with the clock's drift in nanoseconds (per second). - * The uncertainty is represented as an absolute (single sided) value. - * - * If the data is available 'flags' must contain GPS_CLOCK_HAS_DRIFT_UNCERTAINTY. - */ - double drift_uncertainty_nsps; -} GpsClock; - -/** - * Represents a GPS Measurement, it contains raw and computed information. - */ -typedef struct { - /** set to sizeof(GpsMeasurement) */ - size_t size; - - /** A set of flags indicating the validity of the fields in this data structure. */ - GpsMeasurementFlags flags; - - /** - * Pseudo-random number in the range of [1, 32] - * This is a Mandatory value. - */ - int8_t prn; - - /** - * Time offset at which the measurement was taken in nanoseconds. - * The reference receiver's time is specified by GpsData::clock::time_ns and should be - * interpreted in the same way as indicated by GpsClock::type. - * - * The sign of time_offset_ns is given by the following equation: - * measurement time = GpsClock::time_ns + time_offset_ns - * - * It provides an individual time-stamp for the measurement, and allows sub-nanosecond accuracy. - * This is a Mandatory value. - */ - double time_offset_ns; - - /** - * Per satellite sync state. It represents the current sync state for the associated satellite. - * Based on the sync state, the 'received GPS tow' field should be interpreted accordingly. - * - * This is a Mandatory value. - */ - GpsMeasurementState state; - - /** - * Received GPS Time-of-Week at the measurement time, in nanoseconds. - * The value is relative to the beginning of the current GPS week. - * - * Given the highest sync state that can be achieved, per each satellite, valid range for - * this field can be: - * Searching : [ 0 ] : GPS_MEASUREMENT_STATE_UNKNOWN - * C/A code lock : [ 0 1ms ] : GPS_MEASUREMENT_STATE_CODE_LOCK is set - * Bit sync : [ 0 20ms ] : GPS_MEASUREMENT_STATE_BIT_SYNC is set - * Subframe sync : [ 0 6s ] : GPS_MEASUREMENT_STATE_SUBFRAME_SYNC is set - * TOW decoded : [ 0 1week ] : GPS_MEASUREMENT_STATE_TOW_DECODED is set - * - * However, if there is any ambiguity in integer millisecond, - * GPS_MEASUREMENT_STATE_MSEC_AMBIGUOUS should be set accordingly, in the 'state' field. - */ - int64_t received_gps_tow_ns; - - /** - * 1-Sigma uncertainty of the Received GPS Time-of-Week in nanoseconds. - */ - int64_t received_gps_tow_uncertainty_ns; - - /** - * Carrier-to-noise density in dB-Hz, in the range [0, 63]. - * It contains the measured C/N0 value for the signal at the antenna input. - * - * This is a Mandatory value. - */ - double c_n0_dbhz; - - /** - * Pseudorange rate at the timestamp in m/s. - * The value also includes the effects of the receiver clock frequency and satellite clock - * frequency errors. - * - * The value includes the 'pseudorange rate uncertainty' in it. - * A positive value indicates that the pseudorange is getting larger. - * - * This is a Mandatory value. - */ - double pseudorange_rate_mps; - - /** - * 1-Sigma uncertainty of the pseudurange rate in m/s. - * The uncertainty is represented as an absolute (single sided) value. - * - * This is a Mandatory value. - */ - double pseudorange_rate_uncertainty_mps; - - /** - * Accumulated delta range's state. It indicates whether ADR is reset or there is a cycle slip - * (indicating loss of lock). - * - * This is a Mandatory value. - */ - GpsAccumulatedDeltaRangeState accumulated_delta_range_state; - - /** - * Accumulated delta range since the last channel reset in meters. - * The data is available if 'accumulated delta range state' != GPS_ADR_STATE_UNKNOWN. - */ - double accumulated_delta_range_m; - - /** - * 1-Sigma uncertainty of the accumulated delta range in meters. - * The data is available if 'accumulated delta range state' != GPS_ADR_STATE_UNKNOWN. - */ - double accumulated_delta_range_uncertainty_m; - - /** - * Best derived Pseudorange by the chip-set, in meters. - * The value contains the 'pseudorange uncertainty' in it. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_PSEUDORANGE. - */ - double pseudorange_m; - - /** - * 1-Sigma uncertainty of the pseudorange in meters. - * The value contains the 'pseudorange' and 'clock' uncertainty in it. - * The uncertainty is represented as an absolute (single sided) value. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY. - */ - double pseudorange_uncertainty_m; - - /** - * A fraction of the current C/A code cycle, in the range [0.0, 1023.0] - * This value contains the time (in Chip units) since the last C/A code cycle (GPS Msec epoch). - * - * The reference frequency is given by the field 'carrier_frequency_hz'. - * The value contains the 'code-phase uncertainty' in it. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CODE_PHASE. - */ - double code_phase_chips; - - /** - * 1-Sigma uncertainty of the code-phase, in a fraction of chips. - * The uncertainty is represented as an absolute (single sided) value. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY. - */ - double code_phase_uncertainty_chips; - - /** - * Carrier frequency at which codes and messages are modulated, it can be L1 or L2. - * If the field is not set, the carrier frequency is assumed to be L1. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CARRIER_FREQUENCY. - */ - float carrier_frequency_hz; - - /** - * The number of full carrier cycles between the satellite and the receiver. - * The reference frequency is given by the field 'carrier_frequency_hz'. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CARRIER_CYCLES. - */ - int64_t carrier_cycles; - - /** - * The RF phase detected by the receiver, in the range [0.0, 1.0]. - * This is usually the fractional part of the complete carrier phase measurement. - * - * The reference frequency is given by the field 'carrier_frequency_hz'. - * The value contains the 'carrier-phase uncertainty' in it. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CARRIER_PHASE. - */ - double carrier_phase; - - /** - * 1-Sigma uncertainty of the carrier-phase. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY. - */ - double carrier_phase_uncertainty; - - /** - * An enumeration that indicates the 'loss of lock' state of the event. - */ - GpsLossOfLock loss_of_lock; - - /** - * The number of GPS bits transmitted since Sat-Sun midnight (GPS week). - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_BIT_NUMBER. - */ - int32_t bit_number; - - /** - * The elapsed time since the last received bit in milliseconds, in the range [0, 20] - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT. - */ - int16_t time_from_last_bit_ms; - - /** - * Doppler shift in Hz. - * A positive value indicates that the SV is moving toward the receiver. - * - * The reference frequency is given by the field 'carrier_frequency_hz'. - * The value contains the 'doppler shift uncertainty' in it. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_DOPPLER_SHIFT. - */ - double doppler_shift_hz; - - /** - * 1-Sigma uncertainty of the doppler shift in Hz. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY. - */ - double doppler_shift_uncertainty_hz; - - /** - * An enumeration that indicates the 'multipath' state of the event. - */ - GpsMultipathIndicator multipath_indicator; - - /** - * Signal-to-noise ratio in dB. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_SNR. - */ - double snr_db; - - /** - * Elevation in degrees, the valid range is [-90, 90]. - * The value contains the 'elevation uncertainty' in it. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_ELEVATION. - */ - double elevation_deg; - - /** - * 1-Sigma uncertainty of the elevation in degrees, the valid range is [0, 90]. - * The uncertainty is represented as the absolute (single sided) value. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY. - */ - double elevation_uncertainty_deg; - - /** - * Azimuth in degrees, in the range [0, 360). - * The value contains the 'azimuth uncertainty' in it. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_AZIMUTH. - * */ - double azimuth_deg; - - /** - * 1-Sigma uncertainty of the azimuth in degrees, the valid range is [0, 180]. - * The uncertainty is represented as an absolute (single sided) value. - * - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY. - */ - double azimuth_uncertainty_deg; - - /** - * Whether the GPS represented by the measurement was used for computing the most recent fix. - * If the data is available, 'flags' must contain GPS_MEASUREMENT_HAS_USED_IN_FIX. - */ - bool used_in_fix; -} GpsMeasurement; - -/** Represents a reading of GPS measurements. */ -typedef struct { - /** set to sizeof(GpsData) */ - size_t size; - - /** Number of measurements. */ - size_t measurement_count; - - /** The array of measurements. */ - GpsMeasurement measurements[GPS_MAX_MEASUREMENT]; - - /** The GPS clock time reading. */ - GpsClock clock; -} GpsData; - -/** - * The callback for to report measurements from the HAL. - * - * Parameters: - * data - A data structure containing the measurements. - */ -typedef void (*gps_measurement_callback) (GpsData* data); - -typedef struct { - /** set to sizeof(GpsMeasurementCallbacks) */ - size_t size; - gps_measurement_callback measurement_callback; -} GpsMeasurementCallbacks; - -#define GPS_MEASUREMENT_OPERATION_SUCCESS 0 -#define GPS_MEASUREMENT_ERROR_ALREADY_INIT -100 -#define GPS_MEASUREMENT_ERROR_GENERIC -101 - -/** - * Extended interface for GPS Measurements support. - */ -typedef struct { - /** Set to sizeof(GpsMeasurementInterface) */ - size_t size; - - /** - * Initializes the interface and registers the callback routines with the HAL. - * After a successful call to 'init' the HAL must begin to provide updates at its own phase. - * - * Status: - * GPS_MEASUREMENT_OPERATION_SUCCESS - * GPS_MEASUREMENT_ERROR_ALREADY_INIT - if a callback has already been registered without a - * corresponding call to 'close' - * GPS_MEASUREMENT_ERROR_GENERIC - if any other error occurred, it is expected that the HAL - * will not generate any updates upon returning this error code. - */ - int (*init) (GpsMeasurementCallbacks* callbacks); - - /** - * Stops updates from the HAL, and unregisters the callback routines. - * After a call to stop, the previously registered callbacks must be considered invalid by the - * HAL. - * If stop is invoked without a previous 'init', this function should perform no work. - */ - void (*close) (); - -} GpsMeasurementInterface; - - -/** Represents a GPS navigation message (or a fragment of it). */ -typedef struct { - /** set to sizeof(GpsNavigationMessage) */ - size_t size; - - /** - * Pseudo-random number in the range of [1, 32] - * This is a Mandatory value. - */ - int8_t prn; - - /** - * The type of message contained in the structure. - * This is a Mandatory value. - */ - GpsNavigationMessageType type; - - /** - * The status of the received navigation message. - * No need to send any navigation message that contains words with parity error and cannot be - * corrected. - */ - NavigationMessageStatus status; - - /** - * Message identifier. - * It provides an index so the complete Navigation Message can be assembled. i.e. fo L1 C/A - * subframe 4 and 5, this value corresponds to the 'frame id' of the navigation message. - * Subframe 1, 2, 3 does not contain a 'frame id' and this value can be set to -1. - */ - int16_t message_id; - - /** - * Sub-message identifier. - * If required by the message 'type', this value contains a sub-index within the current - * message (or frame) that is being transmitted. - * i.e. for L1 C/A the submessage id corresponds to the sub-frame id of the navigation message. - */ - int16_t submessage_id; - - /** - * The length of the data (in bytes) contained in the current message. - * If this value is different from zero, 'data' must point to an array of the same size. - * e.g. for L1 C/A the size of the sub-frame will be 40 bytes (10 words, 30 bits/word). - * - * This is a Mandatory value. - */ - size_t data_length; - - /** - * The data of the reported GPS message. - * The bytes (or words) specified using big endian format (MSB first). - * - * For L1 C/A, each subframe contains 10 30-bit GPS words. Each GPS word (30 bits) should be - * fitted into the last 30 bits in a 4-byte word (skip B31 and B32), with MSB first. - */ - uint8_t* data; - -} GpsNavigationMessage; - -/** - * The callback to report an available fragment of a GPS navigation messages from the HAL. - * - * Parameters: - * message - The GPS navigation submessage/subframe representation. - */ -typedef void (*gps_navigation_message_callback) (GpsNavigationMessage* message); - -typedef struct { - /** set to sizeof(GpsNavigationMessageCallbacks) */ - size_t size; - gps_navigation_message_callback navigation_message_callback; -} GpsNavigationMessageCallbacks; - -#define GPS_NAVIGATION_MESSAGE_OPERATION_SUCCESS 0 -#define GPS_NAVIGATION_MESSAGE_ERROR_ALREADY_INIT -100 -#define GPS_NAVIGATION_MESSAGE_ERROR_GENERIC -101 - -/** - * Extended interface for GPS navigation message reporting support. - */ -typedef struct { - /** Set to sizeof(GpsNavigationMessageInterface) */ - size_t size; - - /** - * Initializes the interface and registers the callback routines with the HAL. - * After a successful call to 'init' the HAL must begin to provide updates as they become - * available. - * - * Status: - * GPS_NAVIGATION_MESSAGE_OPERATION_SUCCESS - * GPS_NAVIGATION_MESSAGE_ERROR_ALREADY_INIT - if a callback has already been registered - * without a corresponding call to 'close'. - * GPS_NAVIGATION_MESSAGE_ERROR_GENERIC - if any other error occurred, it is expected that - * the HAL will not generate any updates upon returning this error code. - */ - int (*init) (GpsNavigationMessageCallbacks* callbacks); - - /** - * Stops updates from the HAL, and unregisters the callback routines. - * After a call to stop, the previously registered callbacks must be considered invalid by the - * HAL. - * If stop is invoked without a previous 'init', this function should perform no work. - */ - void (*close) (); - -} GpsNavigationMessageInterface; - -/** - * Interface for passing GNSS configuration contents from platform to HAL. - */ -typedef struct { - /** Set to sizeof(GnssConfigurationInterface) */ - size_t size; - - /** - * Deliver GNSS configuration contents to HAL. - * Parameters: - * config_data - a pointer to a char array which holds what usually is expected from - file(/etc/gps.conf), i.e., a sequence of UTF8 strings separated by '\n'. - * length - total number of UTF8 characters in configuraiton data. - * - * IMPORTANT: - * GPS HAL should expect this function can be called multiple times. And it may be - * called even when GpsLocationProvider is already constructed and enabled. GPS HAL - * should maintain the existing requests for various callback regardless the change - * in configuration data. - */ - void (*configuration_update) (const char* config_data, int32_t length); -} GnssConfigurationInterface; - -__END_DECLS - -#endif /* ANDROID_INCLUDE_HARDWARE_GPS_H */ - diff --git a/mtk/lib_driver_cmd_mt66xx/Android.mk b/lib_driver_cmd_mt66xx/Android.mk old mode 100755 new mode 100644 similarity index 100% rename from mtk/lib_driver_cmd_mt66xx/Android.mk rename to lib_driver_cmd_mt66xx/Android.mk diff --git a/mtk/lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c b/lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c old mode 100755 new mode 100644 similarity index 99% rename from mtk/lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c rename to lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c index 9b66b1fec9713bc558190e4d1cd3e2836472d5df..f9f081ea41022a83fb17e3b8c04403bba38bb06c --- a/mtk/lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c +++ b/lib_driver_cmd_mt66xx/mediatek_driver_cmd_nl80211.c @@ -1,4 +1,15 @@ -#include "hardware_legacy/driver_nl80211.h" +#include "includes.h" +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "linux_ioctl.h" +#include "driver_nl80211.h" #include "mediatek_driver_nl80211.h" #include "wpa_supplicant_i.h" #include "config.h" @@ -358,12 +369,6 @@ static void wpa_driver_nl80211_scan_loading_timeout(void *eloop_ctx, void *timeo NULL); } #endif -static void * nl80211_cmd(struct wpa_driver_nl80211_data *drv, - struct nl_msg *msg, int flags, uint8_t cmd) -{ - return genlmsg_put(msg, 0, 0, drv->global->nl80211_id, - 0, flags, cmd, 0); -} int wpa_driver_nl80211_testmode(void *priv, const u8 *data, size_t data_len) diff --git a/mtk/lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h b/lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h old mode 100755 new mode 100644 similarity index 99% rename from mtk/lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h rename to lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h index 39f2e184c27242c08f41a1e8e06104980901d988..067a75660579fb8034ebbbd51b7ff3e1a7bdc662 --- a/mtk/lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h +++ b/lib_driver_cmd_mt66xx/mediatek_driver_nl80211.h @@ -1,6 +1,8 @@ #ifndef _MTK_DRIVER_NL80211_H_ #define _MTK_DRIVER_NL80211_H_ +#include + #ifndef BITS /* Eddie */ /* bits range: for example BITS(16,23) = 0xFF0000 diff --git a/libmtk_symbols/Android.mk b/libmtk_symbols/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..9eb81bbdecbad453c2abc73eb952638304a17b4d --- /dev/null +++ b/libmtk_symbols/Android.mk @@ -0,0 +1,22 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + mtk_gui.cpp \ + mtk_ui.cpp \ + mtk_omx.cpp \ + icu55.c \ + icu53.c \ + ssl.c + +# only for 32bit libraries +LOCAL_SRC_FILES_32 := mtk_string.cpp +# only for 64bit libraries +LOCAL_SRC_FILES_64 := mtk_parcel.cpp + +LOCAL_SHARED_LIBRARIES := libbinder libutils liblog libgui libui \ + libicuuc libicui18n libcrypto +LOCAL_MODULE := libmtk_symbols +LOCAL_MODULE_TAGS := optional + +include $(BUILD_SHARED_LIBRARY) diff --git a/libmtk_symbols/icu53.c b/libmtk_symbols/icu53.c new file mode 100644 index 0000000000000000000000000000000000000000..a7752fd9a7e6d56870a4a18253cc16b002f43747 --- /dev/null +++ b/libmtk_symbols/icu53.c @@ -0,0 +1,72 @@ +#include "unicode/ucnv.h" + +U_STABLE UConverter* U_EXPORT2 +ucnv_open_53(const char *converterName, UErrorCode *err) +{ + return ucnv_open(converterName, err); +} + +U_STABLE void U_EXPORT2 +ucnv_close_53(UConverter * converter) +{ + return ucnv_close(converter); +} + +U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_STOP_53( + const void *context, + UConverterToUnicodeArgs *toUArgs, + const char* codeUnits, + int32_t length, + UConverterCallbackReason reason, + UErrorCode * err) +{ + UCNV_TO_U_CALLBACK_STOP(context, toUArgs, codeUnits, length, reason, err); +} + +U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_STOP_53( + const void *context, + UConverterFromUnicodeArgs *fromUArgs, + const UChar* codeUnits, + int32_t length, + UChar32 codePoint, + UConverterCallbackReason reason, + UErrorCode * err) +{ + UCNV_FROM_U_CALLBACK_STOP (context, fromUArgs, codeUnits, length, codePoint, reason, err); +} + +U_STABLE void U_EXPORT2 +ucnv_setToUCallBack_53(UConverter * converter, + UConverterToUCallback newAction, + const void* newContext, + UConverterToUCallback *oldAction, + const void** oldContext, + UErrorCode * err) +{ + ucnv_setToUCallBack(converter, newAction, newContext, oldAction, oldContext, err); +} + +U_STABLE void U_EXPORT2 +ucnv_setFromUCallBack_53(UConverter * converter, + UConverterFromUCallback newAction, + const void *newContext, + UConverterFromUCallback *oldAction, + const void **oldContext, + UErrorCode * err) +{ + ucnv_setFromUCallBack(converter, newAction, newContext, oldAction, oldContext, err); +} + +U_STABLE void U_EXPORT2 +ucnv_convertEx_53(UConverter *targetCnv, UConverter *sourceCnv, + char **target, const char *targetLimit, + const char **source, const char *sourceLimit, + UChar *pivotStart, UChar **pivotSource, + UChar **pivotTarget, const UChar *pivotLimit, + UBool reset, UBool flush, + UErrorCode *pErrorCode) +{ + ucnv_convertEx(targetCnv, sourceCnv, target, targetLimit, source, sourceLimit, + pivotStart, pivotSource, pivotTarget, pivotLimit, reset, flush, + pErrorCode); +} diff --git a/libmtk_symbols/icu55.c b/libmtk_symbols/icu55.c new file mode 100644 index 0000000000000000000000000000000000000000..2e4786e2d4efd15268cdf5daf65f72c923bcf474 --- /dev/null +++ b/libmtk_symbols/icu55.c @@ -0,0 +1,72 @@ +#include "unicode/ucnv.h" + +U_STABLE UConverter* U_EXPORT2 +ucnv_open_55(const char *converterName, UErrorCode *err) +{ + return ucnv_open(converterName, err); +} + +U_STABLE void U_EXPORT2 +ucnv_close_55(UConverter * converter) +{ + return ucnv_close(converter); +} + +U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_STOP_55( + const void *context, + UConverterToUnicodeArgs *toUArgs, + const char* codeUnits, + int32_t length, + UConverterCallbackReason reason, + UErrorCode * err) +{ + UCNV_TO_U_CALLBACK_STOP(context, toUArgs, codeUnits, length, reason, err); +} + +U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_STOP_55( + const void *context, + UConverterFromUnicodeArgs *fromUArgs, + const UChar* codeUnits, + int32_t length, + UChar32 codePoint, + UConverterCallbackReason reason, + UErrorCode * err) +{ + UCNV_FROM_U_CALLBACK_STOP (context, fromUArgs, codeUnits, length, codePoint, reason, err); +} + +U_STABLE void U_EXPORT2 +ucnv_setToUCallBack_55(UConverter * converter, + UConverterToUCallback newAction, + const void* newContext, + UConverterToUCallback *oldAction, + const void** oldContext, + UErrorCode * err) +{ + ucnv_setToUCallBack(converter, newAction, newContext, oldAction, oldContext, err); +} + +U_STABLE void U_EXPORT2 +ucnv_setFromUCallBack_55(UConverter * converter, + UConverterFromUCallback newAction, + const void *newContext, + UConverterFromUCallback *oldAction, + const void **oldContext, + UErrorCode * err) +{ + ucnv_setFromUCallBack(converter, newAction, newContext, oldAction, oldContext, err); +} + +U_STABLE void U_EXPORT2 +ucnv_convertEx_55(UConverter *targetCnv, UConverter *sourceCnv, + char **target, const char *targetLimit, + const char **source, const char *sourceLimit, + UChar *pivotStart, UChar **pivotSource, + UChar **pivotTarget, const UChar *pivotLimit, + UBool reset, UBool flush, + UErrorCode *pErrorCode) +{ + ucnv_convertEx(targetCnv, sourceCnv, target, targetLimit, source, sourceLimit, + pivotStart, pivotSource, pivotTarget, pivotLimit, reset, flush, + pErrorCode); +} diff --git a/libmtk_symbols/mtk_gui.cpp b/libmtk_symbols/mtk_gui.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8cc75ba2ecef1842f2308c9fb88724152d90b975 --- /dev/null +++ b/libmtk_symbols/mtk_gui.cpp @@ -0,0 +1,9 @@ +#include + +extern "C" { + void _ZN7android14SurfaceControl8setLayerEj(uint32_t); + + void _ZN7android14SurfaceControl8setLayerEi(int32_t layer){ + _ZN7android14SurfaceControl8setLayerEj(static_cast(layer)); + } +} \ No newline at end of file diff --git a/libmtk_symbols/mtk_omx.cpp b/libmtk_symbols/mtk_omx.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5145e4683d3915d93eaacd2504a867889363ef65 --- /dev/null +++ b/libmtk_symbols/mtk_omx.cpp @@ -0,0 +1,5 @@ +extern "C" { + void _ZN7android13AwesomePlayer24mtk_omx_get_current_timeEPx(long long* time){ + time = (long long*)-1; + } +} \ No newline at end of file diff --git a/libmtk_symbols/mtk_parcel.cpp b/libmtk_symbols/mtk_parcel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..03ba718c99a145bb139c3e53275431a4526efa0c --- /dev/null +++ b/libmtk_symbols/mtk_parcel.cpp @@ -0,0 +1,7 @@ +extern "C" { + void _ZN7android6Parcel13writeString16EPKDsm(char16_t const*, unsigned long); + + void _ZN7android6Parcel13writeString16EPKtm(unsigned short const* str, unsigned long len){ + _ZN7android6Parcel13writeString16EPKDsm((char16_t const*)str, len); + } +} \ No newline at end of file diff --git a/libmtk_symbols/mtk_string.cpp b/libmtk_symbols/mtk_string.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f5f61ecdb06011c2e3b5bbba266c223511f8485f --- /dev/null +++ b/libmtk_symbols/mtk_string.cpp @@ -0,0 +1,13 @@ +extern "C" { + void _ZN7android8String165setToEPKDsj(char16_t const*, unsigned int); + + void _ZN7android8String165setToEPKtj(unsigned short const* str, unsigned int len){ + _ZN7android8String165setToEPKDsj((char16_t const*)str, len); + } + + void _ZN7android8String16C1EPKDsj(char16_t const*, unsigned int); + + void _ZN7android8String16C1EPKtj(unsigned short const* o, unsigned int len){ + _ZN7android8String16C1EPKDsj((char16_t const*)o, len); + } +} \ No newline at end of file diff --git a/libmtk_symbols/mtk_ui.cpp b/libmtk_symbols/mtk_ui.cpp new file mode 100644 index 0000000000000000000000000000000000000000..395789987a2febe5b9a636654eae4c0c91602330 --- /dev/null +++ b/libmtk_symbols/mtk_ui.cpp @@ -0,0 +1,32 @@ +#include +#include +#include + +extern "C" { + void _ZN7android19GraphicBufferMapper9lockYCbCrEPK13native_handlejRKNS_4RectEP13android_ycbcr(buffer_handle_t, uint32_t, const android::Rect&, android_ycbcr*); + + void _ZN7android19GraphicBufferMapper9lockYCbCrEPK13native_handleiRKNS_4RectEP13android_ycbcr(buffer_handle_t handle, int usage, const android::Rect& bounds, android_ycbcr *ycbcr) { + _ZN7android19GraphicBufferMapper9lockYCbCrEPK13native_handlejRKNS_4RectEP13android_ycbcr(handle, static_cast(usage), bounds, ycbcr); + } + + void _ZN7android19GraphicBufferMapper4lockEPK13native_handlejRKNS_4RectEPPv(buffer_handle_t, uint32_t, const android::Rect&, void**); + + void _ZN7android19GraphicBufferMapper4lockEPK13native_handleiRKNS_4RectEPPv(buffer_handle_t handle, int usage, const android::Rect& bounds, void** vaddr) { + _ZN7android19GraphicBufferMapper4lockEPK13native_handlejRKNS_4RectEPPv(handle, static_cast(usage), bounds, vaddr); + } + + void _ZN7android13GraphicBufferC1EjjijNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE( + uint32_t inWidth, uint32_t inHeight, android::PixelFormat inFormat, + uint32_t inUsage, std::string requestorName); + + void _ZN7android13GraphicBufferC1Ejjij(uint32_t inWidth, uint32_t inHeight, int32_t inFormat, uint32_t inUsage) { + _ZN7android13GraphicBufferC1EjjijNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE( + inWidth, inHeight, inFormat, inUsage, ""); + } + + void _ZN7android5Fence4waitEi(int); + + void _ZN7android5Fence4waitEj(unsigned int timeout) { + _ZN7android5Fence4waitEi(static_cast(timeout)); + } +} diff --git a/libmtk_symbols/mtk_xlog.cpp b/libmtk_symbols/mtk_xlog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8c690ce979d63ab4891897324b04a9ab3fe98fb0 --- /dev/null +++ b/libmtk_symbols/mtk_xlog.cpp @@ -0,0 +1,29 @@ +#include + +extern "C" { + +struct xlog_record { + const char *tag_str; + const char *fmt_str; + int prio; +}; + +static void init(void) __attribute__ ((constructor)); + +void init(void){} + +int __xlog_buf_printf(int bufid, const struct xlog_record *rec, ...) +{ + va_list args; + va_start(args, rec); + LOG_PRI_VA(rec->prio, rec->tag_str, rec->fmt_str, args); + va_end(args); + + return 0; +} + +void dl_unregister_notify_function(void){} + +void dl_register_notify_function(int (*load_notify_function) (const char *name, uintptr_t address, uintptr_t size), int(*unload_notify_function) (const char *name, uintptr_t address)){} + +} \ No newline at end of file diff --git a/libmtk_symbols/ssl.c b/libmtk_symbols/ssl.c new file mode 100644 index 0000000000000000000000000000000000000000..894c51e20cdf29c15c997e1761ab0ac8febfe40e --- /dev/null +++ b/libmtk_symbols/ssl.c @@ -0,0 +1,27 @@ +#include + +#define LOG_TAG "SSL_ctrl_stub" +#include + +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg) { + ALOGD("SSL_ctrl: ssl=%p cmd=%d larg=%ld parg=%p", ssl, cmd, larg, parg); + return -1; +} + +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) { + ALOGD("SSL_CTX_ctrl: ctx=%p cmd=%d larg=%ld parg=%p", ctx, cmd, larg, parg); + return -1; +} + +void CRYPTO_free(void *str) { + free(str); +} + +void *CRYPTO_malloc(int num, const char *file, int line) { + ALOGD("CRYPTO_malloc: num=%d file=%s line=%d", num, file, line); + return malloc(num); +} + +void CRYPTO_lock(int mode, int type, const char *file, int line) { + ALOGD("CRYPTO_lock: mode=%d type=%d file=%s line=%d", mode, type, file, line); +} diff --git a/configs/media_profiles.xml b/media_profiles.xml old mode 100755 new mode 100644 similarity index 95% rename from configs/media_profiles.xml rename to media_profiles.xml index f509088f5c58567a96d7af848df117aba1872c59..5a3217af04f2bed6eec5b73340a70d22f6438008 --- a/configs/media_profiles.xml +++ b/media_profiles.xml @@ -92,7 +92,7 @@ -