angler: remove USE_CLANG_PLATFORM_BUILD
am: 40d2796a7f
Change-Id: I89027ad332ef8431a5ab1f409a32b52f895cd7ec
diff --git a/AnglerLayout/res/values-bn-rBD/strings.xml b/AnglerLayout/res/values-bn/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-bn-rBD/strings.xml
rename to AnglerLayout/res/values-bn/strings.xml
diff --git a/AnglerLayout/res/values-et-rEE/strings.xml b/AnglerLayout/res/values-et/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-et-rEE/strings.xml
rename to AnglerLayout/res/values-et/strings.xml
diff --git a/AnglerLayout/res/values-eu-rES/strings.xml b/AnglerLayout/res/values-eu/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-eu-rES/strings.xml
rename to AnglerLayout/res/values-eu/strings.xml
diff --git a/AnglerLayout/res/values-gl-rES/strings.xml b/AnglerLayout/res/values-gl/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-gl-rES/strings.xml
rename to AnglerLayout/res/values-gl/strings.xml
diff --git a/AnglerLayout/res/values-gu-rIN/strings.xml b/AnglerLayout/res/values-gu/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-gu-rIN/strings.xml
rename to AnglerLayout/res/values-gu/strings.xml
diff --git a/AnglerLayout/res/values-hy-rAM/strings.xml b/AnglerLayout/res/values-hy/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-hy-rAM/strings.xml
rename to AnglerLayout/res/values-hy/strings.xml
diff --git a/AnglerLayout/res/values-is-rIS/strings.xml b/AnglerLayout/res/values-is/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-is-rIS/strings.xml
rename to AnglerLayout/res/values-is/strings.xml
diff --git a/AnglerLayout/res/values-ka-rGE/strings.xml b/AnglerLayout/res/values-ka/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ka-rGE/strings.xml
rename to AnglerLayout/res/values-ka/strings.xml
diff --git a/AnglerLayout/res/values-kk-rKZ/strings.xml b/AnglerLayout/res/values-kk/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-kk-rKZ/strings.xml
rename to AnglerLayout/res/values-kk/strings.xml
diff --git a/AnglerLayout/res/values-km-rKH/strings.xml b/AnglerLayout/res/values-km/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-km-rKH/strings.xml
rename to AnglerLayout/res/values-km/strings.xml
diff --git a/AnglerLayout/res/values-kn-rIN/strings.xml b/AnglerLayout/res/values-kn/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-kn-rIN/strings.xml
rename to AnglerLayout/res/values-kn/strings.xml
diff --git a/AnglerLayout/res/values-ky-rKG/strings.xml b/AnglerLayout/res/values-ky/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ky-rKG/strings.xml
rename to AnglerLayout/res/values-ky/strings.xml
diff --git a/AnglerLayout/res/values-lo-rLA/strings.xml b/AnglerLayout/res/values-lo/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-lo-rLA/strings.xml
rename to AnglerLayout/res/values-lo/strings.xml
diff --git a/AnglerLayout/res/values-mk-rMK/strings.xml b/AnglerLayout/res/values-mk/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-mk-rMK/strings.xml
rename to AnglerLayout/res/values-mk/strings.xml
diff --git a/AnglerLayout/res/values-ml-rIN/strings.xml b/AnglerLayout/res/values-ml/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ml-rIN/strings.xml
rename to AnglerLayout/res/values-ml/strings.xml
diff --git a/AnglerLayout/res/values-mn-rMN/strings.xml b/AnglerLayout/res/values-mn/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-mn-rMN/strings.xml
rename to AnglerLayout/res/values-mn/strings.xml
diff --git a/AnglerLayout/res/values-mr-rIN/strings.xml b/AnglerLayout/res/values-mr/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-mr-rIN/strings.xml
rename to AnglerLayout/res/values-mr/strings.xml
diff --git a/AnglerLayout/res/values-ms-rMY/strings.xml b/AnglerLayout/res/values-ms/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ms-rMY/strings.xml
rename to AnglerLayout/res/values-ms/strings.xml
diff --git a/AnglerLayout/res/values-my-rMM/strings.xml b/AnglerLayout/res/values-my/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-my-rMM/strings.xml
rename to AnglerLayout/res/values-my/strings.xml
diff --git a/AnglerLayout/res/values-ne-rNP/strings.xml b/AnglerLayout/res/values-ne/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ne-rNP/strings.xml
rename to AnglerLayout/res/values-ne/strings.xml
diff --git a/AnglerLayout/res/values-pa-rIN/strings.xml b/AnglerLayout/res/values-pa/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-pa-rIN/strings.xml
rename to AnglerLayout/res/values-pa/strings.xml
diff --git a/AnglerLayout/res/values-si-rLK/strings.xml b/AnglerLayout/res/values-si/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-si-rLK/strings.xml
rename to AnglerLayout/res/values-si/strings.xml
diff --git a/AnglerLayout/res/values-sq-rAL/strings.xml b/AnglerLayout/res/values-sq/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-sq-rAL/strings.xml
rename to AnglerLayout/res/values-sq/strings.xml
diff --git a/AnglerLayout/res/values-ta-rIN/strings.xml b/AnglerLayout/res/values-ta/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ta-rIN/strings.xml
rename to AnglerLayout/res/values-ta/strings.xml
diff --git a/AnglerLayout/res/values-te-rIN/strings.xml b/AnglerLayout/res/values-te/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-te-rIN/strings.xml
rename to AnglerLayout/res/values-te/strings.xml
diff --git a/AnglerLayout/res/values-ur-rPK/strings.xml b/AnglerLayout/res/values-ur/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-ur-rPK/strings.xml
rename to AnglerLayout/res/values-ur/strings.xml
diff --git a/AnglerLayout/res/values-uz-rUZ/strings.xml b/AnglerLayout/res/values-uz/strings.xml
similarity index 100%
rename from AnglerLayout/res/values-uz-rUZ/strings.xml
rename to AnglerLayout/res/values-uz/strings.xml
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 6697461..26724c5 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -35,6 +35,8 @@
BOARD_RAMDISK_OFFSET := 0x02000000
BOARD_KERNEL_CMDLINE := androidboot.hardware=angler androidboot.console=ttyHSL0 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 boot_cpus=0-3 no_console_suspend
+BOARD_KERNEL_CMDLINE += loop.max_part=7
+
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
BOARD_USES_ALSA_AUDIO := true
@@ -64,8 +66,13 @@
USE_OPENGL_RENDERER := true
TARGET_USES_ION := true
TARGET_USES_C2D_COMPOSITION := true
+TARGET_USES_GRALLOC1_ADAPTER := true
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
MAX_VIRTUAL_DISPLAY_DIMENSION := 2048
+TARGET_USES_HWC2 := true
+VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
+SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
+NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
HAVE_ADRENO_SOURCE:= false
@@ -78,12 +85,15 @@
BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
+BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0
+# as of 3765811, inode usage was xxxx, use 4096 to be safe
+BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 4096
BOARD_USERDATAIMAGE_PARTITION_SIZE := 26503790080
BOARD_CACHEIMAGE_PARTITION_SIZE := 104857600
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_FLASH_BLOCK_SIZE := 131072
-BOARD_HAL_STATIC_LIBRARIES := libdumpstate.angler
+TARGET_AUX_OS_VARIANT_LIST := angler
TARGET_RECOVERY_FSTAB = device/huawei/angler/fstab.angler
TARGET_COPY_OUT_VENDOR := vendor
diff --git a/aosp_angler.mk b/aosp_angler.mk
index e59b338..f250a8a 100644
--- a/aosp_angler.mk
+++ b/aosp_angler.mk
@@ -37,7 +37,8 @@
$(call inherit-product-if-exists, vendor/huawei/angler/device-vendor.mk)
PRODUCT_PACKAGES += \
- Launcher3
+ Launcher3 \
+ WallpaperPicker
PRODUCT_PACKAGES += \
AOSPLinks
diff --git a/audio_effects.conf b/audio_effects.conf
index 55b318e..dac9c80 100644
--- a/audio_effects.conf
+++ b/audio_effects.conf
@@ -16,7 +16,7 @@
path /vendor/lib/soundfx/libvisualizer.so
}
visualizer_hw {
- path /system/lib/soundfx/libqcomvisualizer.so
+ path /vendor/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /vendor/lib/soundfx/libdownmix.so
@@ -25,10 +25,10 @@
path /vendor/lib/soundfx/libeffectproxy.so
}
offload_bundle {
- path /system/lib/soundfx/libqcompostprocbundle.so
+ path /vendor/lib/soundfx/libqcompostprocbundle.so
}
qcom_pre_processing {
- path /system/lib/soundfx/libqcomvoiceprocessing.so
+ path /vendor/lib/soundfx/libqcomvoiceprocessing.so
}
loudness_enhancer {
path /vendor/lib/soundfx/libldnhncr.so
diff --git a/audio_platform_info.xml b/audio_platform_info.xml
index 0c0d478..47ab7a4 100755
--- a/audio_platform_info.xml
+++ b/audio_platform_info.xml
@@ -56,6 +56,8 @@
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_0_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_0_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_0_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="QUAT_MI2S_RX-and-SEC_AUX_PCM_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="QUAT_MI2S_RX-and-SEC_AUX_PCM_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" backend="speaker" interface="QUAT_MI2S_RX"/>
</backend_names>
diff --git a/audio_policy.conf b/audio_policy.conf
deleted file mode 100644
index 7c64117..0000000
--- a/audio_policy.conf
+++ /dev/null
@@ -1,146 +0,0 @@
-# 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
-# - defines whether the speaker output path uses DRC
-# "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used.
-
-global_configuration {
- attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_TELEPHONY_TX
- default_output_device AUDIO_DEVICE_OUT_SPEAKER
- attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_TELEPHONY_RX
- speaker_drc_enabled TRUE
-}
-
-# 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.<device>.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 {
- outputs {
- primary {
- sampling_rates 44100|48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats 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_LINE|AUDIO_DEVICE_OUT_ALL_SCO
- flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY
- }
- raw {
- sampling_rates 48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats 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_LINE|AUDIO_DEVICE_OUT_ALL_SCO
- flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
- }
- deep_buffer {
- sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO
- flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
- }
- compress_offload {
- sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
- channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
- formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2
- devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
- }
- voice_tx {
- sampling_rates 8000|16000|48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_MONO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_TELEPHONY_TX
- }
- tts {
- sampling_rates 48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_SPEAKER
- flags AUDIO_OUTPUT_FLAG_TTS
- }
- }
- inputs {
- primary {
- sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
- channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_INDEX_MASK_3
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC
- }
- voice_rx {
- sampling_rates 8000|16000|48000
- channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_IN_TELEPHONY_RX
- }
- }
- }
- a2dp {
- outputs {
- a2dp {
- sampling_rates 44100
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_ALL_A2DP
- }
- }
- inputs {
- a2dp {
- sampling_rates 44100|48000
- channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
- }
- }
- }
- usb {
- 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 dynamic
- channel_masks dynamic
- formats dynamic
- devices AUDIO_DEVICE_OUT_USB_DEVICE
- }
- }
- inputs {
- usb_device {
- sampling_rates dynamic
- channel_masks dynamic
- formats dynamic
- devices AUDIO_DEVICE_IN_USB_DEVICE
- }
- }
- }
- r_submix {
- outputs {
- submix {
- sampling_rates 48000
- channel_masks AUDIO_CHANNEL_OUT_STEREO
- formats AUDIO_FORMAT_PCM_16_BIT
- devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
- }
- }
- inputs {
- 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/camera/QCamera2/HAL/QCamera2HWI.cpp b/camera/QCamera2/HAL/QCamera2HWI.cpp
index 1d75233..8a4e8e2 100644
--- a/camera/QCamera2/HAL/QCamera2HWI.cpp
+++ b/camera/QCamera2/HAL/QCamera2HWI.cpp
@@ -38,7 +38,6 @@
#include <utils/Errors.h>
#include <utils/Trace.h>
#include <gralloc_priv.h>
-#include <gui/Surface.h>
#include "QCamera2HWI.h"
#include "QCameraMem.h"
@@ -1719,13 +1718,14 @@
{
if (isNoDisplayMode()) {
mem = new QCameraStreamMemory(mGetMemory,
+ mCallbackCookie,
bCachedMem,
(bPoolMem) ? &m_memoryPool : NULL,
stream_type);
} else {
cam_dimension_t dim;
QCameraGrallocMemory *grallocMemory =
- new QCameraGrallocMemory(mGetMemory);
+ new QCameraGrallocMemory(mGetMemory, mCallbackCookie);
mParameters.getStreamDimension(stream_type, dim);
if (grallocMemory)
@@ -1739,11 +1739,11 @@
case CAM_STREAM_TYPE_POSTVIEW:
{
if (isNoDisplayMode() || isPreviewRestartEnabled()) {
- mem = new QCameraStreamMemory(mGetMemory, bCachedMem);
+ mem = new QCameraStreamMemory(mGetMemory, mCallbackCookie, bCachedMem);
} else {
cam_dimension_t dim;
QCameraGrallocMemory *grallocMemory =
- new QCameraGrallocMemory(mGetMemory);
+ new QCameraGrallocMemory(mGetMemory, mCallbackCookie);
mParameters.getStreamDimension(stream_type, dim);
if (grallocMemory)
@@ -1760,6 +1760,7 @@
case CAM_STREAM_TYPE_METADATA:
case CAM_STREAM_TYPE_OFFLINE_PROC:
mem = new QCameraStreamMemory(mGetMemory,
+ mCallbackCookie,
bCachedMem,
(bPoolMem) ? &m_memoryPool : NULL,
stream_type);
@@ -1771,7 +1772,7 @@
bCachedMem = QCAMERA_ION_USE_NOCACHE;
}
CDBG_HIGH("%s: vidoe buf using cached memory = %d", __func__, bCachedMem);
- mem = new QCameraVideoMemory(mGetMemory, bCachedMem);
+ mem = new QCameraVideoMemory(mGetMemory, mCallbackCookie, bCachedMem);
}
break;
case CAM_STREAM_TYPE_DEFAULT:
@@ -2072,7 +2073,7 @@
switch (streamInfo->stream_type) {
case CAM_STREAM_TYPE_VIDEO: {
QCameraVideoMemory *video_mem = new QCameraVideoMemory(
- mGetMemory, FALSE, CAM_STREAM_BUF_TYPE_USERPTR);
+ mGetMemory, mCallbackCookie, FALSE, CAM_STREAM_BUF_TYPE_USERPTR);
video_mem->allocateMeta(streamInfo->num_bufs);
mem = static_cast<QCameraMemory *>(video_mem);
}
diff --git a/camera/QCamera2/HAL/QCameraChannel.cpp b/camera/QCamera2/HAL/QCameraChannel.cpp
index 3ce8535..91fbef2 100644
--- a/camera/QCamera2/HAL/QCameraChannel.cpp
+++ b/camera/QCamera2/HAL/QCameraChannel.cpp
@@ -33,6 +33,7 @@
#include "QCameraParameters.h"
#include "QCamera2HWI.h"
#include "QCameraChannel.h"
+#include <media/hardware/HardwareAPI.h>
using namespace android;
@@ -804,6 +805,17 @@
}
int32_t rc = pVideoStream->bufDone(opaque, isMetaData);
+
+ const VideoNativeHandleMetadata *packet =
+ static_cast<const VideoNativeHandleMetadata *> (opaque);
+ if (kMetadataBufferTypeNativeHandleSource == packet->eType) {
+ native_handle_close(packet->pHandle);
+ native_handle_delete(packet->pHandle);
+ } else {
+ ALOGE("%s Received unexpected video buffer type: %d",
+ __func__, packet->eType);
+ }
+
return rc;
}
diff --git a/camera/QCamera2/HAL/QCameraMem.cpp b/camera/QCamera2/HAL/QCameraMem.cpp
index 47e1eff..bf4703e 100644
--- a/camera/QCamera2/HAL/QCameraMem.cpp
+++ b/camera/QCamera2/HAL/QCameraMem.cpp
@@ -37,7 +37,7 @@
#include <utils/Trace.h>
#include <utils/Log.h>
#include <gralloc_priv.h>
-#include <QComOMXMetadata.h>
+#include <media/hardware/HardwareAPI.h>
#include "QCamera2HWI.h"
#include "QCameraMem.h"
#include "QCameraParameters.h"
@@ -517,7 +517,7 @@
memInfo.heap_id = heap_id;
ALOGD("%s : ION buffer %lx with size %d allocated",
- __func__, (unsigned long)memInfo.handle, alloc.len);
+ __func__, (unsigned long)memInfo.handle, alloc.len);
return OK;
ION_MAP_FAILED:
@@ -975,11 +975,13 @@
* RETURN : none
*==========================================================================*/
QCameraStreamMemory::QCameraStreamMemory(camera_request_memory memory,
+ void* cbCookie,
bool cached,
QCameraMemoryPool *pool,
cam_stream_type_t streamType, cam_stream_buf_type bufType)
:QCameraMemory(cached, pool, streamType),
- mGetMemory(memory)
+ mGetMemory(memory),
+ mCallbackCookie(cbCookie)
{
for (int i = 0; i < MM_CAMERA_MAX_NUM_FRAMES; i ++)
mCameraMemory[i] = NULL;
@@ -1023,7 +1025,7 @@
if (isSecure == SECURE) {
mCameraMemory[i] = 0;
} else {
- mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, this);
+ mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, mCallbackCookie);
}
}
mBufferCount = count;
@@ -1053,7 +1055,7 @@
return rc;
for (int i = mBufferCount; i < mBufferCount + count; i++) {
- mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, this);
+ mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, mCallbackCookie);
}
mBufferCount = (uint8_t)(mBufferCount + count);
traceLogAllocEnd((size * count));
@@ -1202,8 +1204,9 @@
* RETURN : none
*==========================================================================*/
QCameraVideoMemory::QCameraVideoMemory(camera_request_memory memory,
+ void* cbCookie,
bool cached, cam_stream_buf_type bufType)
- : QCameraStreamMemory(memory, cached)
+ : QCameraStreamMemory(memory, cbCookie, cached)
{
memset(mMetadata, 0, sizeof(mMetadata));
mMetaBufCount = 0;
@@ -1250,12 +1253,13 @@
}
for (int i = 0; i < count; i ++) {
- struct encoder_media_buffer_type * packet =
- (struct encoder_media_buffer_type *)mMetadata[i]->data;
+ VideoNativeHandleMetadata *packet =
+ static_cast<VideoNativeHandleMetadata *> (mMetadata[i]->data);
//1 fd, 1 offset, 1 size, 1 color transform
- packet->meta_handle = native_handle_create(1, 3);
- packet->buffer_type = kMetadataBufferTypeCameraSource;
- native_handle_t * nh = const_cast<native_handle_t *>(packet->meta_handle);
+ mNativeHandles[i] = native_handle_create(1, 3);
+ packet->pHandle = mNativeHandles[i];
+ packet->eType = kMetadataBufferTypeNativeHandleSource;
+ native_handle_t * nh = packet->pHandle;
if (!nh) {
ALOGE("%s: Error in getting video native handle", __func__);
return NO_MEMORY;
@@ -1294,7 +1298,7 @@
if (mBufType != CAM_STREAM_BUF_TYPE_USERPTR) {
for (int i = mBufferCount; i < count + mBufferCount; i ++) {
mMetadata[i] = mGetMemory(-1,
- sizeof(struct encoder_media_buffer_type), 1, this);
+ sizeof(struct VideoNativeHandleMetadata), 1, mCallbackCookie);
if (!mMetadata[i]) {
ALOGE("allocation of video metadata failed.");
for (int j = mBufferCount; j <= i-1; j ++) {
@@ -1305,11 +1309,12 @@
}
return NO_MEMORY;
}
- struct encoder_media_buffer_type * packet =
- (struct encoder_media_buffer_type *)mMetadata[i]->data;
- packet->meta_handle = native_handle_create(1, 2); //1 fd, 1 offset and 1 size
- packet->buffer_type = kMetadataBufferTypeCameraSource;
- native_handle_t * nh = const_cast<native_handle_t *>(packet->meta_handle);
+ VideoNativeHandleMetadata *packet =
+ static_cast<VideoNativeHandleMetadata *>(mMetadata[i]->data);
+ mNativeHandles[i] = native_handle_create(1, 2); //1 fd, 1 offset and 1 size
+ packet->pHandle = mNativeHandles[i];
+ packet->eType = kMetadataBufferTypeNativeHandleSource;
+ native_handle_t * nh = packet->pHandle;
if (!nh) {
ALOGE("%s: Error in getting video native handle", __func__);
return NO_MEMORY;
@@ -1343,7 +1348,7 @@
for (int i = 0; i < buf_cnt; i++) {
mMetadata[i] = mGetMemory(-1,
- sizeof(struct encoder_media_buffer_type), 1, this);
+ sizeof(struct VideoNativeHandleMetadata), 1, mCallbackCookie);
if (!mMetadata[i]) {
ALOGE("allocation of video metadata failed.");
for (int j = (i - 1); j >= 0; j--) {
@@ -1388,19 +1393,13 @@
{
if (mBufType != CAM_STREAM_BUF_TYPE_USERPTR) {
for (int i = 0; i < mBufferCount; i ++) {
- struct encoder_media_buffer_type * packet =
- (struct encoder_media_buffer_type *)mMetadata[i]->data;
- if (NULL != packet) {
- native_handle_t * nh = const_cast<native_handle_t *>(packet->meta_handle);
- if (NULL != nh) {
- if (native_handle_delete(nh)) {
- ALOGE("Unable to delete native handle");
- }
- } else {
- ALOGE("native handle not available");
- }
+ native_handle_t * nh = mNativeHandles[i];
+ if (NULL != nh) {
+ if (native_handle_delete(nh)) {
+ ALOGE("Unable to delete native handle");
+ }
} else {
- ALOGE("packet not available");
+ ALOGE("native handle not available");
}
}
}
@@ -1430,10 +1429,14 @@
if (index >= mMetaBufCount || (!metadata && index >= mBufferCount))
return NULL;
- if (metadata)
+ if (metadata) {
+ VideoNativeHandleMetadata *packet =
+ static_cast<VideoNativeHandleMetadata *> (mMetadata[index]->data);
+ packet->pHandle = mNativeHandles[index];
return mMetadata[index];
- else
+ } else {
return mCameraMemory[index];
+ }
}
/*===========================================================================
@@ -1482,7 +1485,7 @@
*
* RETURN : none
*==========================================================================*/
-QCameraGrallocMemory::QCameraGrallocMemory(camera_request_memory memory)
+QCameraGrallocMemory::QCameraGrallocMemory(camera_request_memory memory, void* cbCookie)
: QCameraMemory(true), mColorSpace(ITU_R_601_FR)
{
mMinUndequeuedBuffers = 0;
@@ -1490,6 +1493,7 @@
mWidth = mHeight = mStride = mScanline = 0;
mFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP;
mGetMemory = memory;
+ mCallbackCookie = cbCookie;
for (int i = 0; i < MM_CAMERA_MAX_NUM_FRAMES; i ++) {
mBufferHandle[i] = NULL;
mLocalFlag[i] = BUFFER_NOT_OWNED;
@@ -1746,7 +1750,7 @@
mGetMemory(mPrivateHandle[cnt]->fd,
(size_t)mPrivateHandle[cnt]->size,
1,
- (void *)this);
+ mCallbackCookie);
CDBG_HIGH("%s: idx = %d, fd = %d, size = %d, offset = %d",
__func__, cnt, mPrivateHandle[cnt]->fd,
mPrivateHandle[cnt]->size,
diff --git a/camera/QCamera2/HAL/QCameraMem.h b/camera/QCamera2/HAL/QCameraMem.h
index dbb401b..067a164 100644
--- a/camera/QCamera2/HAL/QCameraMem.h
+++ b/camera/QCamera2/HAL/QCameraMem.h
@@ -171,6 +171,7 @@
class QCameraStreamMemory : public QCameraMemory {
public:
QCameraStreamMemory(camera_request_memory getMemory,
+ void* cbCookie,
bool cached,
QCameraMemoryPool *pool = NULL,
cam_stream_type_t streamType = CAM_STREAM_TYPE_DEFAULT,
@@ -188,6 +189,7 @@
protected:
camera_request_memory mGetMemory;
+ void* mCallbackCookie;
camera_memory_t *mCameraMemory[MM_CAMERA_MAX_NUM_FRAMES];
};
@@ -195,7 +197,8 @@
// framework. They are allocated from /dev/ion or gralloc.
class QCameraVideoMemory : public QCameraStreamMemory {
public:
- QCameraVideoMemory(camera_request_memory getMemory, bool cached,
+ QCameraVideoMemory(camera_request_memory getMemory,
+ void* cbCookie, bool cached,
cam_stream_buf_type bufType = CAM_STREAM_BUF_TYPE_MPLANE);
virtual ~QCameraVideoMemory();
@@ -209,6 +212,7 @@
private:
camera_memory_t *mMetadata[MM_CAMERA_MAX_NUM_FRAMES];
+ native_handle_t *mNativeHandles[MM_CAMERA_MAX_NUM_FRAMES];
uint8_t mMetaBufCount;
};
@@ -220,7 +224,7 @@
BUFFER_OWNED,
};
public:
- QCameraGrallocMemory(camera_request_memory getMemory);
+ QCameraGrallocMemory(camera_request_memory getMemory, void* cbCookie);
void setNativeWindow(preview_stream_ops_t *anw);
virtual ~QCameraGrallocMemory();
@@ -247,6 +251,7 @@
preview_stream_ops_t *mWindow;
int mWidth, mHeight, mFormat, mStride, mScanline;
camera_request_memory mGetMemory;
+ void* mCallbackCookie;
camera_memory_t *mCameraMemory[MM_CAMERA_MAX_NUM_FRAMES];
int mMinUndequeuedBuffers;
enum ColorSpace_t mColorSpace;
diff --git a/camera/QCamera2/HAL/QCameraParameters.h b/camera/QCamera2/HAL/QCameraParameters.h
index e248313..855c93c 100644
--- a/camera/QCamera2/HAL/QCameraParameters.h
+++ b/camera/QCamera2/HAL/QCameraParameters.h
@@ -42,7 +42,7 @@
static const char ExifUndefinedPrefix[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // "\0\0\0\0\0\0\0\0"
#define EXIF_ASCII_PREFIX_SIZE 8 //(sizeof(ExifAsciiPrefix))
-#define FOCAL_LENGTH_DECIMAL_PRECISION 100
+#define FOCAL_LENGTH_DECIMAL_PRECISION 1000
#define CAMERA_MIN_BATCH_COUNT 1
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp
index 52acc1c..cb31953 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp
@@ -3571,6 +3571,8 @@
*frame = *super_frame;
/* Since reprocessing is done, send the callback to release the input buffer */
+ // Release offline buffers.
+ obj->releaseOfflineMemory(resultFrameNumber);
if (mChannelCB) {
mChannelCB(NULL, NULL, resultFrameNumber, true, mUserData);
}
@@ -4242,6 +4244,14 @@
ALOGE("%s: Input buffer memory map failed: %d", __func__, rc);
}
+ if (rc != NO_ERROR) {
+ //Try to recover by returning input with error status
+ camera3_stream_buffer_t result;
+ memset(&result, 0, sizeof(result));
+ result.status = CAMERA3_BUFFER_STATUS_ERROR;
+ mChannelCB(NULL, &result, frame->frameNumber, true, mUserData);
+ }
+
return rc;
}
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.h b/camera/QCamera2/HAL3/QCamera3Channel.h
index 3bf4125..b1edece 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.h
+++ b/camera/QCamera2/HAL3/QCamera3Channel.h
@@ -198,13 +198,13 @@
int32_t getStreamSize(cam_dimension_t &dim);
QCamera3PostProcessor m_postprocessor; // post processor
+ int32_t releaseOfflineMemory(uint32_t resultFrameNumber);
protected:
bool isWNREnabled() {return m_bWNROn;};
void startPostProc(const reprocess_config_t &reproc_cfg);
void issueChannelCb(buffer_handle_t *resultBuffer,
uint32_t resultFrameNumber);
- int32_t releaseOfflineMemory(uint32_t resultFrameNumber);
QCamera3StreamMem mMemory; //output buffer allocated by fwk
camera3_stream_t *mCamera3Stream;
diff --git a/camera/QCamera2/HAL3/QCamera3HALHeader.h b/camera/QCamera2/HAL3/QCamera3HALHeader.h
index 4502b8a..1c730ad 100644
--- a/camera/QCamera2/HAL3/QCamera3HALHeader.h
+++ b/camera/QCamera2/HAL3/QCamera3HALHeader.h
@@ -41,6 +41,10 @@
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
+#define IS_USAGE_VIDEO(usage) (((usage) & (GRALLOC_USAGE_HW_VIDEO_ENCODER)) \
+ == GRALLOC_USAGE_HW_VIDEO_ENCODER)
+#define IS_USAGE_PREVIEW(usage) (((usage) & (GRALLOC_USAGE_HW_TEXTURE)) \
+ == GRALLOC_USAGE_HW_TEXTURE)
#define IS_USAGE_ZSL(usage) (((usage) & (GRALLOC_USAGE_HW_CAMERA_ZSL)) \
== (GRALLOC_USAGE_HW_CAMERA_ZSL))
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 8b74e30..1893800 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -917,6 +917,55 @@
return rc;
}
+/*===========================================================================
+ * FUNCTION : validateUsageFlags
+ *
+ * DESCRIPTION: Check if the configuration usage flags are supported
+ *
+ * PARAMETERS :
+ * @stream_list : streams to be configured
+ *
+ * RETURN :
+ * NO_ERROR if the usage flags are supported
+ * error code if usage flags are not supported
+ *
+ *==========================================================================*/
+int QCamera3HardwareInterface::validateUsageFlags(
+ const camera3_stream_configuration_t* streamList)
+{
+ for (size_t j = 0; j < streamList->num_streams; j++) {
+ const camera3_stream_t *newStream = streamList->streams[j];
+
+ if (newStream->format != HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED ||
+ (newStream->stream_type != CAMERA3_STREAM_OUTPUT &&
+ newStream->stream_type != CAMERA3_STREAM_BIDIRECTIONAL)) {
+ continue;
+ }
+
+ bool isVideo = IS_USAGE_VIDEO(newStream->usage);
+ bool isPreview = IS_USAGE_PREVIEW(newStream->usage);
+ bool isZSL = IS_USAGE_ZSL(newStream->usage);
+
+ // Color space for this camera device is guaranteed to be ITU_R_601_FR.
+ // So color spaces will always match.
+
+ // Check whether underlying formats of shared streams match.
+ if (isVideo && isPreview) {
+ ALOGE("Combined video and preview usage flag is not supported");
+ return -EINVAL;
+ }
+ if (isPreview && isZSL) {
+ ALOGE("Combined preview and zsl usage flag is not supported");
+ return -EINVAL;
+ }
+ if (isVideo && isZSL) {
+ ALOGE("Combined video and zsl usage flag is not supported");
+ return -EINVAL;
+ }
+ }
+ return NO_ERROR;
+}
+
/*==============================================================================
* FUNCTION : isSupportChannelNeeded
*
@@ -1120,6 +1169,11 @@
return BAD_VALUE;
}
+ rc = validateUsageFlags(streamList);
+ if (rc != NO_ERROR) {
+ return rc;
+ }
+
mOpMode = streamList->operation_mode;
CDBG("%s: mOpMode: %d", __func__, mOpMode);
@@ -1831,7 +1885,8 @@
default:
ALOGE("%s: not a supported format 0x%x", __func__, newStream->format);
- break;
+ pthread_mutex_unlock(&mMutex);
+ return -EINVAL;
}
} else if (newStream->stream_type == CAMERA3_STREAM_INPUT) {
newStream->max_buffers = MAX_INFLIGHT_REPROCESS_REQUESTS;
@@ -2393,7 +2448,8 @@
pthread_mutex_lock(&mMutex);
handleMetadataWithLock(metadata_buf,
false /* free_and_bufdone_meta_buf */,
- (i == 0) /* first metadata in the batch metadata */);
+ (i == urgentFrameNumDiff-1), /* last urgent metadata in the batch */
+ (i == frameNumDiff-1) /* last metadata in the batch metadata */);
pthread_mutex_unlock(&mMutex);
}
@@ -2413,15 +2469,17 @@
* PARAMETERS : @metadata_buf: metadata buffer
* @free_and_bufdone_meta_buf: Buf done on the meta buf and free
* the meta buf in this method
- * @firstMetadataInBatch: Boolean to indicate whether this is the
- * first metadata in a batch. Valid only for batch mode
+ * @lastUrgentMetadataInBatch: Boolean to indicate whether this is the
+ * last urgent metadata in a batch. Always true for non-batch mode
+ * @lastMetadataInBatch: Boolean to indicate whether this is the
+ * last metadata in a batch. Always true for non-batch mode
*
* RETURN :
*
*==========================================================================*/
void QCamera3HardwareInterface::handleMetadataWithLock(
mm_camera_super_buf_t *metadata_buf, bool free_and_bufdone_meta_buf,
- bool firstMetadataInBatch)
+ bool lastUrgentMetadataInBatch, bool lastMetadataInBatch)
{
ATRACE_CALL();
@@ -2476,6 +2534,7 @@
(i->partial_result_cnt == 0)) {
ALOGE("%s: Error: HAL missed urgent metadata for frame number %d",
__func__, i->frame_number);
+ i->partial_result_cnt++;
}
if (i->frame_number == urgent_frame_number &&
@@ -2487,8 +2546,8 @@
i->partial_result_cnt++;
i->bUrgentReceived = 1;
// Extract 3A metadata
- result.result =
- translateCbUrgentMetadataToResultMetadata(metadata);
+ result.result = translateCbUrgentMetadataToResultMetadata(
+ metadata, lastUrgentMetadataInBatch);
// Populate metadata result
result.frame_number = urgent_frame_number;
result.num_output_buffers = 0;
@@ -2585,8 +2644,6 @@
ALOGE("%s: Missing metadata buffer for frame number %d, reporting CAMERA3_MSG_ERROR_RESULT",
__func__, i->frame_number);
- mPendingLiveRequest--;
-
CameraMetadata dummyMetadata;
dummyMetadata.update(ANDROID_REQUEST_ID, &(i->request_id), 1);
result.result = dummyMetadata.release();
@@ -2598,6 +2655,11 @@
notify_msg.message.error.error_stream = NULL;
notify_msg.message.error.frame_number = i->frame_number;
mCallbackOps->notify(mCallbackOps, ¬ify_msg);
+
+ // partial_result should be PARTIAL_RESULT_CNT in case of
+ // ERROR_RESULT.
+ i->partial_result_cnt = PARTIAL_RESULT_COUNT;
+ result.partial_result = PARTIAL_RESULT_COUNT;
}
} else {
i->partial_result_cnt++;
@@ -2647,7 +2709,7 @@
result.result = translateFromHalMetadata(metadata,
i->timestamp, i->request_id, i->jpegMetadata, i->pipeline_depth,
i->capture_intent, i->hybrid_ae_enable, internalPproc, i->need_dynamic_blklvl,
- firstMetadataInBatch);
+ lastMetadataInBatch);
saveExifParams(metadata);
@@ -2815,12 +2877,15 @@
*
* DESCRIPTION: Handles input buffer and shutter callback with mMutex lock held.
*
- * PARAMETERS : @frame_number: frame number of the input buffer
+ * PARAMETERS :
+ * @buffer: contains status information about the processed buffer
+ * @frame_number: frame number of the input buffer
*
* RETURN :
*
*==========================================================================*/
-void QCamera3HardwareInterface::handleInputBufferWithLock(uint32_t frame_number)
+void QCamera3HardwareInterface::handleInputBufferWithLock(
+ camera3_stream_buffer_t *buffer, uint32_t frame_number)
{
ATRACE_CALL();
pendingRequestIterator i = mPendingRequestsList.begin();
@@ -2863,14 +2928,55 @@
}
}
- camera3_capture_result result;
- memset(&result, 0, sizeof(camera3_capture_result));
- result.frame_number = frame_number;
- result.result = i->settings;
- result.input_buffer = i->input_buffer;
- result.partial_result = PARTIAL_RESULT_COUNT;
+ if ((nullptr != buffer) && (CAMERA3_BUFFER_STATUS_OK != buffer->status)) {
+ camera3_notify_msg_t notify_msg;
+ memset(¬ify_msg, 0, sizeof(camera3_notify_msg_t));
+ notify_msg.type = CAMERA3_MSG_ERROR;
+ notify_msg.message.error.error_code = CAMERA3_MSG_ERROR_REQUEST;
+ notify_msg.message.error.error_stream = NULL;
+ notify_msg.message.error.frame_number = frame_number;
+ mCallbackOps->notify(mCallbackOps, ¬ify_msg);
- mCallbackOps->process_capture_result(mCallbackOps, &result);
+ Vector<camera3_stream_buffer_t> pendingBuffers;
+ camera3_stream_buffer_t pending;
+ memset(&pending, 0, sizeof(pending));
+ pending.acquire_fence = -1;
+ pending.release_fence = -1;
+ pending.status = CAMERA3_BUFFER_STATUS_ERROR;
+ for (List<PendingBufferInfo>::iterator k =
+ mPendingBuffersMap.mPendingBufferList.begin();
+ k != mPendingBuffersMap.mPendingBufferList.end();) {
+ if (k->frame_number == frame_number) {
+ pending.buffer = k->buffer;
+ pending.stream = k->stream;
+ pendingBuffers.add(pending);
+
+ mPendingBuffersMap.num_buffers--;
+ k = mPendingBuffersMap.mPendingBufferList.erase(k);
+ } else {
+ k++;
+ }
+ }
+
+ camera3_capture_result result;
+ memset(&result, 0, sizeof(camera3_capture_result));
+ result.input_buffer = i->input_buffer;
+ result.num_output_buffers = pendingBuffers.size();
+ result.output_buffers = pendingBuffers.array();
+ result.result = NULL;
+ result.frame_number = frame_number;
+ mCallbackOps->process_capture_result(mCallbackOps, &result);
+ } else {
+ camera3_capture_result result;
+ memset(&result, 0, sizeof(camera3_capture_result));
+ result.frame_number = frame_number;
+ result.result = i->settings;
+ result.input_buffer = i->input_buffer;
+
+ result.partial_result = PARTIAL_RESULT_COUNT;
+
+ mCallbackOps->process_capture_result(mCallbackOps, &result);
+ }
CDBG("%s: Input request metadata and input buffer frame_number = %u",
__func__, i->frame_number);
i = erasePendingRequest(i);
@@ -4039,12 +4145,13 @@
pthread_mutex_lock(&mMutex);
handleMetadataWithLock(metadata_buf,
true /* free_and_bufdone_meta_buf */,
- false /* first frame of batch metadata */ );
+ true /* last urgent frame of batch metadata */,
+ true /* last frame of batch metadata */ );
pthread_mutex_unlock(&mMutex);
}
} else if (isInputBuffer) {
pthread_mutex_lock(&mMutex);
- handleInputBufferWithLock(frame_number);
+ handleInputBufferWithLock(buffer, frame_number);
pthread_mutex_unlock(&mMutex);
} else {
pthread_mutex_lock(&mMutex);
@@ -4199,6 +4306,8 @@
* @hybrid_ae_enable: whether hybrid ae is enabled
* @jpegMetadata: additional jpeg metadata
* @pprocDone: whether internal offline postprocsesing is done
+ * @lastMetadataInBatch: Boolean to indicate whether this is the last metadata
+ * in a batch. Always true for non-batch mode.
*
* RETURN : camera_metadata_t*
* metadata in a format specified by fwk
@@ -4214,16 +4323,15 @@
uint8_t hybrid_ae_enable,
bool pprocDone,
bool dynamic_blklvl,
- bool firstMetadataInBatch)
+ bool lastMetadataInBatch)
{
CameraMetadata camMetadata;
camera_metadata_t *resultMetadata;
- if (mBatchSize && !firstMetadataInBatch) {
- /* In batch mode, use cached metadata from the first metadata
- in the batch */
- camMetadata.clear();
- camMetadata = mCachedMetadata;
+ if (!lastMetadataInBatch) {
+ /* In batch mode, use empty metadata if this is not the last in batch*/
+ resultMetadata = allocate_camera_metadata(0, 0);
+ return resultMetadata;
}
if (jpegMetadata.entryCount())
@@ -4235,12 +4343,6 @@
camMetadata.update(ANDROID_CONTROL_CAPTURE_INTENT, &capture_intent, 1);
camMetadata.update(NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE, &hybrid_ae_enable, 1);
- if (mBatchSize && !firstMetadataInBatch) {
- /* In batch mode, use cached metadata instead of parsing metadata buffer again */
- resultMetadata = camMetadata.release();
- return resultMetadata;
- }
-
IF_META_AVAILABLE(uint32_t, frame_number, CAM_INTF_META_FRAME_NUMBER, metadata) {
int64_t fwk_frame_number = *frame_number;
camMetadata.update(ANDROID_SYNC_FRAME_NUMBER, &fwk_frame_number, 1);
@@ -5038,12 +5140,6 @@
camMetadata.update(ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST, &postRawSensitivity, 1);
}
- /* In batch mode, cache the first metadata in the batch */
- if (mBatchSize && firstMetadataInBatch) {
- mCachedMetadata.clear();
- mCachedMetadata = camMetadata;
- }
-
resultMetadata = camMetadata.release();
return resultMetadata;
}
@@ -5111,17 +5207,26 @@
*
* PARAMETERS :
* @metadata : metadata information from callback
+ * @lastUrgentMetadataInBatch: Boolean to indicate whether this is the last
+ * urgent metadata in a batch. Always true for
+ * non-batch mode.
*
* RETURN : camera_metadata_t*
* metadata in a format specified by fwk
*==========================================================================*/
camera_metadata_t*
QCamera3HardwareInterface::translateCbUrgentMetadataToResultMetadata
- (metadata_buffer_t *metadata)
+ (metadata_buffer_t *metadata, bool lastUrgentMetadataInBatch)
{
CameraMetadata camMetadata;
camera_metadata_t *resultMetadata;
+ if (!lastUrgentMetadataInBatch) {
+ /* In batch mode, use empty metadata if this is not the last in batch
+ */
+ resultMetadata = allocate_camera_metadata(0, 0);
+ return resultMetadata;
+ }
IF_META_AVAILABLE(uint32_t, whiteBalanceState, CAM_INTF_META_AWB_STATE, metadata) {
uint8_t fwk_whiteBalanceState = (uint8_t) *whiteBalanceState;
@@ -9330,6 +9435,21 @@
for (size_t j = 0; j < streamList->num_streams; j++){
camera3_stream_t *newStream = streamList->streams[j];
+ switch(newStream->rotation) {
+ case CAMERA3_STREAM_ROTATION_0:
+ case CAMERA3_STREAM_ROTATION_90:
+ case CAMERA3_STREAM_ROTATION_180:
+ case CAMERA3_STREAM_ROTATION_270:
+ //Expected values
+ break;
+ default:
+ ALOGE("%s: Error: Unsupported rotation of %d requested for stream"
+ "type:%d and stream format:%d", __func__,
+ newStream->rotation, newStream->stream_type,
+ newStream->format);
+ return -EINVAL;
+ }
+
bool isRotated = (newStream->rotation != CAMERA3_STREAM_ROTATION_0);
bool isImplDef = (newStream->format ==
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED);
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.h b/camera/QCamera2/HAL3/QCamera3HWI.h
index eb75f97..e22cb29 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.h
+++ b/camera/QCamera2/HAL3/QCamera3HWI.h
@@ -169,13 +169,13 @@
int translateToHalMetadata(const camera3_capture_request_t *request,
metadata_buffer_t *parm, uint32_t snapshotStreamId);
camera_metadata_t* translateCbUrgentMetadataToResultMetadata (
- metadata_buffer_t *metadata);
+ metadata_buffer_t *metadata, bool lastUrgentMetadataInBatch);
camera_metadata_t* translateFromHalMetadata(metadata_buffer_t *metadata,
nsecs_t timestamp, int32_t request_id,
const CameraMetadata& jpegMetadata, uint8_t pipeline_depth,
uint8_t capture_intent, uint8_t hybrid_ae_enable,
bool pprocDone, bool dynamic_blklvl,
- bool firstMetadataInBatch);
+ bool lastMetadataInBatch);
camera_metadata_t* saveRequestSettings(const CameraMetadata& jpegMetadata,
camera3_capture_request_t *request);
int initParameters();
@@ -231,17 +231,20 @@
int validateCaptureRequest(camera3_capture_request_t *request);
int validateStreamDimensions(camera3_stream_configuration_t *streamList);
int validateStreamRotations(camera3_stream_configuration_t *streamList);
+ int validateUsageFlags(const camera3_stream_configuration_t *streamList);
void deriveMinFrameDuration();
int32_t handlePendingReprocResults(uint32_t frame_number);
int64_t getMinFrameDuration(const camera3_capture_request_t *request);
void handleMetadataWithLock(mm_camera_super_buf_t *metadata_buf,
bool free_and_bufdone_meta_buf,
- bool firstMetadataInBatch);
+ bool lastUrgentMetadataInBatch,
+ bool lastMetadataInBatch);
void handleBatchMetadata(mm_camera_super_buf_t *metadata_buf,
bool free_and_bufdone_meta_buf);
void handleBufferWithLock(camera3_stream_buffer_t *buffer,
uint32_t frame_number);
- void handleInputBufferWithLock(uint32_t frame_number);
+ void handleInputBufferWithLock(camera3_stream_buffer_t *buffer,
+ uint32_t frame_number);
void unblockRequestIfNecessary();
void dumpMetadataToFile(tuning_params_t &meta, uint32_t &dumpFrameCount,
bool enabled, const char *type, uint32_t frameNumber);
@@ -437,7 +440,6 @@
uint32_t mLdafCalib[2];
bool mPowerHintEnabled;
int32_t mLastCustIntentFrmNum;
- CameraMetadata mCachedMetadata;
static const QCameraMap<camera_metadata_enum_android_control_effect_mode_t,
cam_effect_mode_type> EFFECT_MODES_MAP[];
diff --git a/camera/QCamera2/QCamera2Hal.cpp b/camera/QCamera2/QCamera2Hal.cpp
index 81fbc9b..569c86c 100755
--- a/camera/QCamera2/QCamera2Hal.cpp
+++ b/camera/QCamera2/QCamera2Hal.cpp
@@ -48,7 +48,7 @@
.get_camera_info = qcamera::QCamera2Factory::get_camera_info,
.set_callbacks = qcamera::QCamera2Factory::set_callbacks,
.get_vendor_tag_ops = qcamera::QCamera3VendorTags::get_vendor_tag_ops,
- .open_legacy = qcamera::QCamera2Factory::open_legacy,
+ .open_legacy = NULL,
.set_torch_mode = qcamera::QCamera2Factory::set_torch_mode,
.init = NULL,
.reserved = {0}
diff --git a/camera/QCamera2/stack/mm-jpeg-interface/Android.mk b/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
index 90527f5..cc270e2 100644
--- a/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
+++ b/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
@@ -58,7 +58,7 @@
LOCAL_MODULE := libmmjpeg_interface
LOCAL_PRELINK_MODULE := false
-LOCAL_SHARED_LIBRARIES := libdl libcutils liblog libqomx_core
+LOCAL_SHARED_LIBRARIES := libdl libcutils liblog libqomx_core liblog
LOCAL_MODULE_TAGS := optional
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
diff --git a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
index 9fa8b89..4a09dc2 100755
--- a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
+++ b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
@@ -2211,6 +2211,7 @@
if (!p_session->meta_enc_key) {
CDBG_ERROR("%s:%d] error", __func__, __LINE__);
+ fclose(fp);
return -1;
}
diff --git a/camera/QCamera2/stack/mm-jpeg-interface/test/Android.mk b/camera/QCamera2/stack/mm-jpeg-interface/test/Android.mk
index b995e61..f7cbda3 100644
--- a/camera/QCamera2/stack/mm-jpeg-interface/test/Android.mk
+++ b/camera/QCamera2/stack/mm-jpeg-interface/test/Android.mk
@@ -33,7 +33,7 @@
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
LOCAL_MODULE := mm-jpeg-interface-test
LOCAL_PRELINK_MODULE := false
-LOCAL_SHARED_LIBRARIES := libcutils libdl libmmjpeg_interface
+LOCAL_SHARED_LIBRARIES := libcutils libdl libmmjpeg_interface liblog
include $(BUILD_EXECUTABLE)
@@ -72,7 +72,7 @@
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
LOCAL_MODULE := mm-jpegdec-interface-test
LOCAL_PRELINK_MODULE := false
-LOCAL_SHARED_LIBRARIES := libcutils libdl libmmjpeg_interface
+LOCAL_SHARED_LIBRARIES := libcutils libdl libmmjpeg_interface liblog
include $(BUILD_EXECUTABLE)
diff --git a/camera/QCamera2/util/QCameraFlash.cpp b/camera/QCamera2/util/QCameraFlash.cpp
index 2ca8fb4..e5d3c4c 100644
--- a/camera/QCamera2/util/QCameraFlash.cpp
+++ b/camera/QCamera2/util/QCameraFlash.cpp
@@ -156,7 +156,7 @@
ALOGE("%s: No flash available for camera id: %d",
__func__,
camera_id);
- retVal = -EINVAL;
+ retVal = -ENOSYS;
} else if (m_cameraOpen[camera_id]) {
ALOGE("%s: Camera in use for camera id: %d",
__func__,
diff --git a/device.mk b/device.mk
index f6ad2da..31bf0a1 100644
--- a/device.mk
+++ b/device.mk
@@ -23,7 +23,7 @@
TARGET_USES_CHINOOK_SENSORHUB := false
ifeq ($(TARGET_PREBUILT_KERNEL),)
- LOCAL_KERNEL := device/huawei/angler-kernel/Image.gz-dtb
+ LOCAL_KERNEL := device/huawei/angler-kernel/Image.gz-dtb
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
@@ -38,7 +38,10 @@
device/huawei/angler/ueventd.angler.rc:root/ueventd.angler.rc \
device/huawei/angler/init.recovery.angler.rc:root/init.recovery.angler.rc \
device/huawei/angler/init.angler.power.sh:system/bin/init.angler.power.sh \
- device/huawei/angler/uinput-fpc.kl:system/usr/keylayout/uinput-fpc.kl
+ device/huawei/angler/uinput-fpc.kl:system/usr/keylayout/uinput-fpc.kl \
+ device/huawei/angler/uinput-fpc.idc:system/usr/idc/uinput-fpc.idc \
+ device/huawei/angler/init.qcom.devwait.sh:system/bin/init.qcom.devwait.sh \
+ device/huawei/angler/init.qcom.devstart.sh:system/bin/init.qcom.devstart.sh
ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
PRODUCT_COPY_FILES += \
@@ -58,6 +61,10 @@
PRODUCT_COPY_FILES += \
device/huawei/angler/thermal-engine-angler.conf:system/etc/thermal-engine.conf
+# Vendor Interface Manifest
+PRODUCT_COPY_FILES += \
+ device/huawei/angler/manifest.xml:vendor/manifest.xml
+
# Media
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
@@ -93,9 +100,10 @@
PRODUCT_PACKAGES += \
AnglerLayout
-# include fingerprintd
+# Fingerprint Sensor
PRODUCT_PACKAGES += \
- fingerprintd
+ fingerprint.angler \
+ android.hardware.biometrics.fingerprint@2.1-service
# Delegation for OEM customization
PRODUCT_OEM_PROPERTIES := \
@@ -115,7 +123,8 @@
device/huawei/angler/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \
device/huawei/angler/bcmdhd-pme.cal:system/etc/wifi/bcmdhd-pme.cal \
device/huawei/angler/bcmdhd-high.cal:system/etc/wifi/bcmdhd-high.cal \
- device/huawei/angler/bcmdhd-low.cal:system/etc/wifi/bcmdhd-low.cal
+ device/huawei/angler/bcmdhd-low.cal:system/etc/wifi/bcmdhd-low.cal \
+ device/huawei/angler/filter_ie:system/etc/wifi/filter_ie
# These are the hardware-specific features
PRODUCT_COPY_FILES += \
@@ -152,7 +161,6 @@
frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
- frameworks/native/data/etc/android.hardware.vr.high_performance.xml:system/etc/permissions/android.hardware.vr.high_performance.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
@@ -180,10 +188,25 @@
PRODUCT_PACKAGES += \
gralloc.msm8994 \
+ android.hardware.graphics.allocator@2.0-impl \
+ android.hardware.graphics.allocator@2.0-service \
+ android.hardware.graphics.mapper@2.0-impl \
hwcomposer.msm8994 \
libgenlock \
memtrack.msm8994 \
- lights.angler
+ android.hardware.memtrack@1.0-impl
+
+# Light HAL
+PRODUCT_PACKAGES += \
+ lights.angler \
+ android.hardware.light@2.0-impl
+
+# RenderScript HAL
+PRODUCT_PACKAGES += \
+ android.hardware.renderscript@1.0-impl
+
+PRODUCT_PACKAGES += \
+ android.hardware.drm@1.0-impl \
USE_XML_AUDIO_POLICY_CONF := 1
PRODUCT_PACKAGES += \
@@ -197,12 +220,6 @@
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.0-impl
-# TODO(b/31817599) remove when angler_treble goes away
-ifeq ($(TARGET_PRODUCT), angler_treble)
-PRODUCT_PACKAGES += \
- android.hardware.audio@2.0-service
-endif
-
# Audio effects
PRODUCT_PACKAGES += \
libqcomvisualizer \
@@ -219,8 +236,16 @@
libOmxVdecHevc \
libOmxVenc
+PRODUCT_PACKAGES += \
+ android.hardware.audio@2.0-impl \
+ android.hardware.audio.effect@2.0-impl \
+ android.hardware.broadcastradio@1.0-impl \
+ android.hardware.soundtrigger@2.0-impl
+
#CAMERA
PRODUCT_PACKAGES += \
+ camera.device@3.2-impl \
+ android.hardware.camera.provider@2.4-impl \
camera.msm8994 \
libcamera \
libmmcamera_interface \
@@ -234,6 +259,9 @@
libgps.utils \
gps.msm8994
+PRODUCT_PACKAGES += \
+ android.hardware.graphics.composer@2.1-impl
+
# Sensor & activity_recognition HAL
TARGET_USES_NANOHUB_SENSORHAL := true
NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
@@ -243,7 +271,13 @@
PRODUCT_PACKAGES += \
sensors.angler \
activity_recognition.angler \
- context_hub.default
+ context_hub.default \
+ android.hardware.sensors@1.0-impl \
+ android.hardware.contexthub@1.0-impl \
+
+# new gatekeeper HAL
+PRODUCT_PACKAGES += \
+ android.hardware.gatekeeper@1.0-impl
ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
PRODUCT_PACKAGES += \
@@ -271,6 +305,7 @@
hostapd \
wlutil \
wificond \
+ wifilogd \
wpa_supplicant \
wpa_supplicant.conf
@@ -282,16 +317,36 @@
# NFC
PRODUCT_PACKAGES += \
libnfc-nci \
- nfc_nci.angler \
NfcNci \
Tag \
+ nfc_nci.angler \
android.hardware.nfc@1.0-impl \
+# Keymaster HAL
+PRODUCT_PACKAGES += \
+ android.hardware.keymaster@3.0-impl
+
+# Vibrator
+PRODUCT_PACKAGES += \
+ android.hardware.vibrator@1.0-impl
+
# Power HAL
PRODUCT_PACKAGES += \
power.angler \
- thermal.angler
+ android.hardware.power@1.0-impl \
+# Thermal HAL
+PRODUCT_PACKAGES += \
+ thermal.angler \
+ android.hardware.thermal@1.0-impl
+
+#GNSS HAL
+PRODUCT_PACKAGES += \
+ android.hardware.gnss@1.0-impl
+
+#USB HAL
+PRODUCT_PACKAGES += \
+ android.hardware.usb@1.0-service
# Library used for VTS tests (only for userdebug and eng builds)
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
# For VTS profiling.
@@ -323,6 +378,15 @@
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.data_con_rprt=true
+# Write Manufacturer & Model information in created media files.
+# IMPORTANT: ONLY SET THIS PROPERTY TO TRUE FOR PUBLIC DEVICES
+ifneq ($(filter aosp_angler% angler%, $(TARGET_PRODUCT)),)
+PRODUCT_PROPERTY_OVERRIDES += \
+ media.recorder.show_manufacturer_and_model=true
+else
+$(error "you must decide whether to write manufacturer and model information into created media files for this device. ONLY ENABLE IT FOR PUBLIC DEVICE.")
+endif #TARGET_PRODUCT
+
PRODUCT_PROPERTY_OVERRIDES += \
ro.hwui.texture_cache_size=72 \
ro.hwui.layer_cache_size=48 \
@@ -336,10 +400,6 @@
ro.hwui.text_large_cache_width=2048 \
ro.hwui.text_large_cache_height=1024
-# VR HAL
-PRODUCT_PACKAGES += \
- vr.angler
-
# Enable low power video mode for 4K encode
PRODUCT_PROPERTY_OVERRIDES += \
vidc.debug.perf.mode=2 \
@@ -419,6 +479,10 @@
persist.audio.product.identify="angler" \
persist.audio.fluence.speaker=true
+# Default OMX service to non-Treble
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.media.treble_omx=false
+
# Enable AAC 5.1 output
PRODUCT_PROPERTY_OVERRIDES += \
media.aac_51_output_enabled=true
@@ -459,7 +523,7 @@
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
ifeq (,$(filter aosp_angler, $(TARGET_PRODUCT)))
PRODUCT_PACKAGES += \
- QXDMLoggerV2
+ NexusLogger
endif # aosp_angler
PRODUCT_COPY_FILES += \
@@ -517,3 +581,7 @@
# b/29995499
$(call add-product-sanitizer-module-config,cameraserver,never)
$(call add-product-sanitizer-module-config,mm-qcamera-daemon,never)
+
+# b/36201281
+$(call add-product-sanitizer-module-config,thermal-engine,never)
+$(call add-product-sanitizer-module-config,qmuxd,never)
diff --git a/dumpstate/Android.mk b/dumpstate/Android.mk
index 3800e19..0ab008b 100644
--- a/dumpstate/Android.mk
+++ b/dumpstate/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 The Android Open Source Project
+# Copyright (C) 2016 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.
@@ -12,15 +12,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-LOCAL_PATH:= $(call my-dir)
+LOCAL_PATH := $(call my-dir)
+
include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.dumpstate@1.0-service.angler
+LOCAL_INIT_RC := android.hardware.dumpstate@1.0-service.angler.rc
+LOCAL_MODULE_RELATIVE_PATH := hw
+LOCAL_SRC_FILES := \
+ DumpstateDevice.cpp \
+ service.cpp
-LOCAL_C_INCLUDES := frameworks/native/cmds/dumpstate
-
-LOCAL_SRC_FILES := dumpstate.cpp
-
-LOCAL_MODULE := libdumpstate.angler
+LOCAL_SHARED_LIBRARIES := \
+ android.hardware.dumpstate@1.0 \
+ libbase \
+ libcutils \
+ libdumpstateutil \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ liblog \
+ libutils
LOCAL_MODULE_TAGS := optional
+LOCAL_PROPRIETARY_MODULE := true
-include $(BUILD_STATIC_LIBRARY)
+include $(BUILD_EXECUTABLE)
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
new file mode 100644
index 0000000..62e14be
--- /dev/null
+++ b/dumpstate/DumpstateDevice.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "dumpstate"
+
+#include "DumpstateDevice.h"
+
+#include <log/log.h>
+
+#include "DumpstateUtil.h"
+
+using android::os::dumpstate::CommandOptions;
+using android::os::dumpstate::DumpFileToFd;
+using android::os::dumpstate::RunCommandToFd;
+
+namespace android {
+namespace hardware {
+namespace dumpstate {
+namespace V1_0 {
+namespace implementation {
+
+// Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow.
+Return<void> DumpstateDevice::dumpstateBoard(const hidl_handle& handle) {
+ if (handle->numFds < 1) {
+ ALOGE("no FDs\n");
+ return Void();
+ }
+
+ int fd = handle->data[0];
+ if (fd < 0) {
+ ALOGE("invalid FD: %d\n", handle->data[0]);
+ return Void();
+ }
+
+ DumpFileToFd(fd, "INTERRUPTS", "/proc/interrupts");
+ DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats");
+ DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats");
+ RunCommandToFd(fd, "SUBSYSTEM TOMBSTONES", {"ls", "-l", "/data/tombstones/ramdump"}, CommandOptions::AS_ROOT);
+ DumpFileToFd(fd, "BAM DMUX Log", "/d/ipc_logging/bam_dmux/log");
+ DumpFileToFd(fd, "SMD Log", "/d/ipc_logging/smd/log");
+ DumpFileToFd(fd, "SMD PKT Log", "/d/ipc_logging/smd_pkt/log");
+ DumpFileToFd(fd, "IPC Router Log", "/d/ipc_logging/ipc_router/log");
+ DumpFileToFd(fd, "Enabled Clocks", "/d/clk/enabled_clocks");
+ DumpFileToFd(fd, "wlan", "/sys/module/bcmdhd/parameters/info_string");
+ RunCommandToFd(fd, "ION HEAPS", {"/system/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done"}, CommandOptions::AS_ROOT);
+ RunCommandToFd(fd, "Temperatures", {"/system/bin/sh", "-c", "for f in die_temp emmc_therm msm_therm pa_therm1 quiet_therm ; do echo -n \"$f : \" ; cat /sys/class/hwmon/hwmon1/device/$f ; done ; for f in `ls /sys/class/thermal` ; do type=`cat /sys/class/thermal/$f/type` ; temp=`cat /sys/class/thermal/$f/temp` ; echo \"$type: $temp\" ; done"}, CommandOptions::AS_ROOT);
+ DumpFileToFd(fd, "dmesg-ramoops-0", "/sys/fs/pstore/dmesg-ramoops-0");
+ DumpFileToFd(fd, "dmesg-ramoops-1", "/sys/fs/pstore/dmesg-ramoops-1");
+ DumpFileToFd(fd, "LITTLE cluster time-in-state", "/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state");
+ RunCommandToFd(fd, "LITTLE cluster cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu0/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}, CommandOptions::AS_ROOT);
+ DumpFileToFd(fd, "big cluster time-in-state", "/sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state");
+ RunCommandToFd(fd,"big cluster cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu4/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}, CommandOptions::AS_ROOT);
+ DumpFileToFd(fd, "Battery:", "/sys/class/power_supply/bms/uevent");
+ RunCommandToFd(fd, "Battery:", {"/system/bin/sh", "-c", "for f in 1 2 3 4 5 6 7 8; do echo $f > /sys/class/power_supply/bms/cycle_count_id; echo \"$f: `cat /sys/class/power_supply/bms/cycle_count`\"; done"}, CommandOptions::AS_ROOT);
+
+ return Void();
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace dumpstate
+} // namespace hardware
+} // namespace android
diff --git a/dumpstate/DumpstateDevice.h b/dumpstate/DumpstateDevice.h
new file mode 100644
index 0000000..f8585f5
--- /dev/null
+++ b/dumpstate/DumpstateDevice.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2016 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_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H
+#define ANDROID_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H
+
+#include <android/hardware/dumpstate/1.0/IDumpstateDevice.h>
+#include <hidl/MQDescriptor.h>
+#include <hidl/Status.h>
+
+namespace android {
+namespace hardware {
+namespace dumpstate {
+namespace V1_0 {
+namespace implementation {
+
+using ::android::hardware::dumpstate::V1_0::IDumpstateDevice;
+using ::android::hardware::hidl_array;
+using ::android::hardware::hidl_handle;
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::Void;
+using ::android::sp;
+
+struct DumpstateDevice : public IDumpstateDevice {
+ // Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow.
+ Return<void> dumpstateBoard(const hidl_handle& h) override;
+
+};
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace dumpstate
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H
diff --git a/dumpstate/NOTICE b/dumpstate/NOTICE
index 1a5b8e4..e48dd6b 100644
--- a/dumpstate/NOTICE
+++ b/dumpstate/NOTICE
@@ -1,5 +1,5 @@
- Copyright (C) 2015 The Android Open Source Project
+ Copyright (C) 2016 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.
diff --git a/dumpstate/android.hardware.dumpstate@1.0-service.angler.rc b/dumpstate/android.hardware.dumpstate@1.0-service.angler.rc
new file mode 100644
index 0000000..8fd84b2
--- /dev/null
+++ b/dumpstate/android.hardware.dumpstate@1.0-service.angler.rc
@@ -0,0 +1,4 @@
+service dumpstate-1-0 /vendor/bin/hw/android.hardware.dumpstate@1.0-service.angler
+ class hal
+ user system
+ group system
diff --git a/dumpstate/dumpstate.cpp b/dumpstate/dumpstate.cpp
deleted file mode 100644
index a0a498d..0000000
--- a/dumpstate/dumpstate.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2015 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.
- */
-
-#include <dumpstate.h>
-
-void dumpstate_board()
-{
- dump_file("INTERRUPTS", "/proc/interrupts");
- dump_file("RPM Stats", "/d/rpm_stats");
- dump_file("Power Management Stats", "/d/rpm_master_stats");
- run_command("SUBSYSTEM TOMBSTONES", 5, SU_PATH, "root", "ls", "-l", "/data/tombstones/ramdump", NULL);
- dump_file("BAM DMUX Log", "/d/ipc_logging/bam_dmux/log");
- dump_file("SMD Log", "/d/ipc_logging/smd/log");
- dump_file("SMD PKT Log", "/d/ipc_logging/smd_pkt/log");
- dump_file("IPC Router Log", "/d/ipc_logging/ipc_router/log");
- dump_file("Enabled Clocks", "/d/clk/enabled_clocks");
- dump_file("wlan", "/sys/module/bcmdhd/parameters/info_string");
- run_command("ION HEAPS", 5, SU_PATH, "root", "/system/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done", NULL);
- run_command("Temperatures", 5, SU_PATH, "root", "/system/bin/sh", "-c", "for f in die_temp emmc_therm msm_therm pa_therm1 quiet_therm ; do echo -n \"$f : \" ; cat /sys/class/hwmon/hwmon1/device/$f ; done ; for f in `ls /sys/class/thermal` ; do type=`cat /sys/class/thermal/$f/type` ; temp=`cat /sys/class/thermal/$f/temp` ; echo \"$type: $temp\" ; done", NULL);
- dump_file("dmesg-ramoops-0", "/sys/fs/pstore/dmesg-ramoops-0");
- dump_file("dmesg-ramoops-1", "/sys/fs/pstore/dmesg-ramoops-1");
- dump_file("LITTLE cluster time-in-state", "/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state");
- run_command("LITTLE cluster cpuidle", 5, SU_PATH, "root", "/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu0/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done", NULL);
- dump_file("big cluster time-in-state", "/sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state");
- run_command("big cluster cpuidle", 5, SU_PATH, "root", "/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu4/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done", NULL);
- dump_file("Battery:", "/sys/class/power_supply/bms/uevent");
- run_command("Battery:", 5, SU_PATH, "root", "/system/bin/sh", "-c", "for f in 1 2 3 4 5 6 7 8; do echo $f > /sys/class/power_supply/bms/cycle_count_id; echo \"$f: `cat /sys/class/power_supply/bms/cycle_count`\"; done", NULL);
-};
diff --git a/dumpstate/service.cpp b/dumpstate/service.cpp
new file mode 100644
index 0000000..46f68b1
--- /dev/null
+++ b/dumpstate/service.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#define LOG_TAG "android.hardware.dumpstate@1.0-service.angler"
+
+#include <hidl/HidlSupport.h>
+#include <hidl/HidlTransportSupport.h>
+
+#include "DumpstateDevice.h"
+
+using ::android::hardware::configureRpcThreadpool;
+using ::android::hardware::dumpstate::V1_0::IDumpstateDevice;
+using ::android::hardware::dumpstate::V1_0::implementation::DumpstateDevice;
+using ::android::hardware::joinRpcThreadpool;
+using ::android::OK;
+using ::android::sp;
+
+int main(int /* argc */, char* /* argv */ []) {
+ sp<IDumpstateDevice> dumpstate = new DumpstateDevice;
+ configureRpcThreadpool(1, true /* will join */);
+ if (dumpstate->registerAsService() != OK) {
+ ALOGE("Could not register service.");
+ return 1;
+ }
+ joinRpcThreadpool();
+
+ ALOGE("Service exited!");
+ return 1;
+}
diff --git a/filter_ie b/filter_ie
new file mode 100644
index 0000000..7c10dcd
--- /dev/null
+++ b/filter_ie
@@ -0,0 +1,3 @@
+0
+1
+3
diff --git a/fstab.angler b/fstab.angler
index de0e0b1..1b4bf5e 100644
--- a/fstab.angler
+++ b/fstab.angler
@@ -5,9 +5,9 @@
/dev/block/platform/soc.0/f9824900.sdhci/by-name/system /system ext4 ro,barrier=1,inode_readahead_blks=8 wait,verify=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor /vendor ext4 ro,barrier=1,inode_readahead_blks=8 wait,verify=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
-/dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,discard,errors=panic,inode_readahead_blks=8 wait,check,forcefdeorfbe=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic,inode_readahead_blks=8 wait,check,forcefdeorfbe=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
/dev/block/platform/soc.0/f9824900.sdhci/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
-/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist /persist ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/platform/soc.0/f9824900.sdhci/by-name/boot /boot emmc defaults defaults
/dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery /recovery emmc defaults defaults
diff --git a/fstab.aosp_angler b/fstab.aosp_angler
index ab57d3a..70a03ae 100644
--- a/fstab.aosp_angler
+++ b/fstab.aosp_angler
@@ -5,9 +5,9 @@
/dev/block/platform/soc.0/f9824900.sdhci/by-name/system /system ext4 ro,barrier=1,inode_readahead_blks=8 wait,verify=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor /vendor ext4 ro,barrier=1,inode_readahead_blks=8 wait
-/dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,discard,errors=panic,inode_readahead_blks=8 wait,check,forcefdeorfbe=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic,inode_readahead_blks=8 wait,check,forcefdeorfbe=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
/dev/block/platform/soc.0/f9824900.sdhci/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
-/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist /persist ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/platform/soc.0/f9824900.sdhci/by-name/boot /boot emmc defaults defaults
/dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery /recovery emmc defaults defaults
diff --git a/init.angler.nanohub.rc b/init.angler.nanohub.rc
index b936ad8..b0f18f2 100644
--- a/init.angler.nanohub.rc
+++ b/init.angler.nanohub.rc
@@ -5,6 +5,11 @@
## Update Nanohub FW if needed
start flash-nanohub-fw
-service flash-nanohub-fw /system/bin/nanoapp_cmd download
+on post-fs-data
+ mkdir /data/vendor/sensor
+ chown root system /data/vendor/sensor
+ chmod 0770 /data/vendor/sensor
+
+service flash-nanohub-fw /vendor/bin/nanoapp_cmd download
oneshot
disabled
diff --git a/init.angler.qseecomd.sh b/init.angler.qseecomd.sh
index f126a77..25a477d 100644
--- a/init.angler.qseecomd.sh
+++ b/init.angler.qseecomd.sh
@@ -1,5 +1,6 @@
#!/system/bin/sh
+registered="`getprop sys.listeners.registered`"
while [ "$registered" != "true" ]
do
sleep 0.1
diff --git a/init.angler.rc b/init.angler.rc
index e46fdd5..775344a 100755
--- a/init.angler.rc
+++ b/init.angler.rc
@@ -60,6 +60,9 @@
# Update dm-verity state and set partition.*.verified properties
verity_update_state
+ # Busy loop to wait for devices booted by devstart_sh just in case device not ready
+ exec - root root system -- /system/bin/init.qcom.devwait.sh
+
on boot
# execute script to set initial CPU settings
# don't run as a service to avoid race conditions
@@ -140,8 +143,8 @@
chown root system /sys/class/kgsl/kgsl-3d0/dispatch/inflight_low_latency
chmod 0660 /sys/class/kgsl/kgsl-3d0/dispatch/inflight_low_latency
- write /sys/block/mmcblk0/queue/rq_affinity 0
- write /sys/block/mmcblk0/queue/scheduler noop
+ # Wifi firmware reload path
+ chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path
# Wifi firmware reload path
chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path
@@ -156,10 +159,21 @@
symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
start qseecomd
+ # Busy loop to wait for qseecomd started
exec - root root system -- /system/bin/init.angler.qseecomd.sh
+ # Start devices by sysfs trigger
+ start devstart_sh
on post-fs-data
- write /sys/kernel/boot_adsp/boot 1
+ # boot time fs tune
+ write /sys/block/mmcblk0/queue/iostats 0
+ write /sys/block/mmcblk0/queue/scheduler cfq
+ write /sys/block/mmcblk0/queue/iosched/slice_idle 0
+ write /sys/block/mmcblk0/queue/read_ahead_kb 2048
+ write /sys/block/mmcblk0/queue/nr_requests 256
+ write /sys/block/dm-0/queue/read_ahead_kb 2048
+ write /sys/block/dm-1/queue/read_ahead_kb 2048
+ write /sys/block/dm-2/queue/read_ahead_kb 2048
# Ecc_Handler qcril.db
mkdir /data/misc/radio 0770 system radio
@@ -213,6 +227,7 @@
# Create nfc local data
mkdir /data/nfc 0770 nfc nfc
+ mkdir /data/vendor/nfc 0770 nfc nfc
#modify access for speaker calibdata
chown system system /persist/audio/speaker_calibdata.bin
@@ -265,6 +280,15 @@
on property:sys.boot_completed=1
#allow CPUs to go in deeper idle state than C0
write /sys/module/lpm_levels/parameters/sleep_disabled 0
+ #end boot time fs tune
+ write /sys/block/mmcblk0/queue/scheduler noop
+ write /sys/block/mmcblk0/queue/rq_affinity 0
+ write /sys/block/mmcblk0/queue/read_ahead_kb 128
+ write /sys/block/mmcblk0/queue/nr_requests 128
+ write /sys/block/dm-0/queue/read_ahead_kb 128
+ write /sys/block/dm-1/queue/read_ahead_kb 128
+ write /sys/block/dm-2/queue/read_ahead_kb 128
+ write /sys/block/mmcblk0/queue/iostats 1
# Search the laser device under /dev/input, then create symlink
service InputEventFind /vendor/bin/InputEventFind
@@ -291,10 +315,10 @@
on property:persist.sys.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
-service charger /sbin/healthd -c
+service charger /charger
class charger
group log
- seclabel u:r:healthd:s0
+ seclabel u:r:charger:s0
writepid /dev/cpuset/system-background/tasks
service per_mgr /vendor/bin/pm-service
@@ -386,12 +410,6 @@
group camera system inet input graphics
writepid /dev/cpuset/camera-daemon/tasks
-service fingerprintd /system/bin/fingerprintd
- class late_start
- user system
- group input
- writepid /dev/cpuset/system-background/tasks
-
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
-I/system/etc/wifi/p2p_supplicant_overlay.conf \
@@ -500,3 +518,9 @@
on property:ro.boot.mode=hw-factory
start diag_test_server
+service devstart_sh /system/bin/init.qcom.devstart.sh
+ class main
+ user root
+ group root system
+ disabled
+ oneshot
diff --git a/init.angler.usb.rc b/init.angler.usb.rc
index 90ad8e8..d186220 100644
--- a/init.angler.usb.rc
+++ b/init.angler.usb.rc
@@ -21,13 +21,20 @@
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
+ chown root system /sys/class/dual_role_usb/otg_default/mode
+ chmod 664 /sys/class/dual_role_usb/otg_default/mode
write /sys/module/dwc3/boot_finished 1
on post-fs
- mkdir /dev/usb-ffs 0770 shell shell
+ mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
- write /sys/class/android_usb/android0/f_ffs/aliases adb
+ mkdir /dev/usb-ffs/mtp 0770 mtp mtp
+ mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
+ write /sys/class/android_usb/android0/f_ffs/aliases adb,mtp
+ setprop sys.usb.ffs.max_write 262144
+ setprop sys.usb.ffs.max_read 262144
+ setprop sys.usb.mtp.device_type 3
on charger
setprop persist.sys.usb.config charging
@@ -91,7 +98,7 @@
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
- write /sys/class/android_usb/android0/functions ptp
+ write /sys/class/android_usb/android0/functions mtp
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@@ -102,7 +109,7 @@
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
- write /sys/class/android_usb/android0/functions ptp,adb
+ write /sys/class/android_usb/android0/functions mtp,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
diff --git a/init.qcom.devstart.sh b/init.qcom.devstart.sh
new file mode 100755
index 0000000..8e8cff5
--- /dev/null
+++ b/init.qcom.devstart.sh
@@ -0,0 +1,4 @@
+#!/system/bin/sh
+
+echo 1 > /sys/kernel/boot_adsp/boot
+setprop sys.qcom.devup 1
diff --git a/init.qcom.devwait.sh b/init.qcom.devwait.sh
new file mode 100755
index 0000000..aeee1d4
--- /dev/null
+++ b/init.qcom.devwait.sh
@@ -0,0 +1,8 @@
+#!/system/bin/sh
+
+up="`getprop sys.qcom.devup`"
+while [ "$up" != "1" ]
+do
+ sleep 0.1
+ up="`getprop sys.qcom.devup`"
+done
diff --git a/manifest.xml b/manifest.xml
new file mode 100644
index 0000000..4d2a5cf
--- /dev/null
+++ b/manifest.xml
@@ -0,0 +1,29 @@
+<manifest version="1.0" type="device">
+ <hal format="hidl">
+ <name>android.hardware.graphics.allocator</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IAllocator</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.wifi</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IWifi</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.wifi.supplicant</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ISupplicant</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</manifest>
diff --git a/media_codecs.xml b/media_codecs.xml
index 49e6cba..9ca7d80 100644
--- a/media_codecs.xml
+++ b/media_codecs.xml
@@ -159,11 +159,11 @@
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="4096x2160" />
+ <Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="972000" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
@@ -215,11 +215,11 @@
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="4096x2160" />
+ <Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="972000" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index 34d63cd..1658834 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -32,7 +32,7 @@
<Limit name="measured-frame-rate-1280x720" range="62-62" /> <!-- N=40 v95%=1.5 -->
<Limit name="measured-frame-rate-1920x1080" range="30-30" /> <!-- N=40 v95%=1.4 -->
<!-- measured 95%:5-20 med:9 SLOW -->
- <Limit name="measured-frame-rate-3840x2160" range="8-11" /> <!-- N=40 v95%=1.9 -->
+ <Limit name="measured-frame-rate-3840x2160" range="8-16" /> <!-- TWEAKED -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="380-380" /> <!-- N=40 v95%=1.0 -->
@@ -54,7 +54,7 @@
<Limit name="measured-frame-rate-720x480" range="76-76" /> <!-- N=40 v95%=1.6 -->
<!-- measured 95%:21-53 med:26 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="25-34" /> <!-- N=40 v95%=1.6 -->
- <Limit name="measured-frame-rate-1920x1080" range="12-12" /> <!-- N=40 v95%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="12-17.5" /> <!-- TWEAKED -->
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="275-293" /> <!-- N=40 v93%=1.2 -->
diff --git a/mixer_paths.xml b/mixer_paths.xml
index 96f3722..2d0c894 100755
--- a/mixer_paths.xml
+++ b/mixer_paths.xml
@@ -465,6 +465,16 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker" />
+ <path name="deep-buffer-playback bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker" />
+ <path name="deep-buffer-playback bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -513,6 +523,16 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback speaker" />
+ <path name="low-latency-playback bt-sco" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker" />
+ <path name="low-latency-playback bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -552,6 +572,16 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker" />
+ <path name="audio-ull-playback bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker" />
+ <path name="audio-ull-playback bt-sco-wb" />
+ </path>
+
<path name="multi-channel-playback hdmi">
<ctl name="HDMI Mixer MultiMedia2" value="1" />
</path>
@@ -608,6 +638,16 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker" />
+ <path name="compress-offload-playback bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker" />
+ <path name="compress-offload-playback bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="1" />
</path>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc202-mnc05/config.xml b/overlay/frameworks/base/core/res/res/values-mcc202-mnc05/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc202-mnc05/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc202-mnc05/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc204-mnc04/config.xml b/overlay/frameworks/base/core/res/res/values-mcc204-mnc04/config.xml
index ee36992..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc204-mnc04/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc204-mnc04/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>+31654501233</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc214-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc214-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc214-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc214-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc216-mnc70/config.xml b/overlay/frameworks/base/core/res/res/values-mcc216-mnc70/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc216-mnc70/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc216-mnc70/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc219-mnc10/config.xml b/overlay/frameworks/base/core/res/res/values-mcc219-mnc10/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc219-mnc10/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc219-mnc10/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc222-mnc10/config.xml b/overlay/frameworks/base/core/res/res/values-mcc222-mnc10/config.xml
index d455066..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc222-mnc10/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc222-mnc10/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>42020</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc226-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc226-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc226-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc226-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc228-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc228-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc228-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc228-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc230-mnc03/config.xml b/overlay/frameworks/base/core/res/res/values-mcc230-mnc03/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc230-mnc03/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc230-mnc03/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc232-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc232-mnc01/config.xml
index 595a62b..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc232-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc232-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>66477</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc10/config.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc10/config.xml
deleted file mode 100755
index a389824..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc234-mnc10/config.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array translatable="false" name="config_default_vm_number">
- <item>901</item>
- </string-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc15/config.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc15/config.xml
index 6fe0c05..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc234-mnc15/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc234-mnc15/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>121</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-bn-rBD/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-bn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-bn-rBD/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-bn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-et-rEE/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-et/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-et-rEE/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-et/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-eu-rES/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-eu/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-eu-rES/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-eu/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gl-rES/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gl/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gl-rES/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gl/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gu-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gu/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gu-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-gu/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-hy-rAM/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-hy/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-hy-rAM/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-hy/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-is-rIS/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-is/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-is-rIS/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-is/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ka-rGE/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ka/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ka-rGE/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ka/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kk-rKZ/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kk/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kk-rKZ/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kk/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-km-rKH/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-km/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-km-rKH/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-km/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kn-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kn-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-kn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ky-rKG/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ky/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ky-rKG/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ky/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-lo-rLA/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-lo/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-lo-rLA/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-lo/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mk-rMK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mk/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mk-rMK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mk/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ml-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ml/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ml-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ml/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mn-rMN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mn-rMN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mr-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mr/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mr-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-mr/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ms-rMY/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ms/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ms-rMY/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ms/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-my-rMM/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-my/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-my-rMM/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-my/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ne-rNP/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ne/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ne-rNP/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ne/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-pa-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-pa/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-pa-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-pa/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-si-rLK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-si/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-si-rLK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-si/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-sq-rAL/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-sq/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-sq-rAL/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-sq/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ta-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ta/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ta-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ta/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-te-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-te/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-te-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-te/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ur-rPK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ur/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ur-rPK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-ur/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-uz-rUZ/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc30-uz/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc30-uz-rUZ/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc30-uz/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-bn-rBD/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-bn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-bn-rBD/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-bn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-et-rEE/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-et/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-et-rEE/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-et/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-eu-rES/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-eu/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-eu-rES/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-eu/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gl-rES/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gl/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gl-rES/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gl/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gu-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gu/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gu-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-gu/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-hy-rAM/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-hy/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-hy-rAM/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-hy/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-is-rIS/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-is/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-is-rIS/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-is/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ka-rGE/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ka/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ka-rGE/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ka/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kk-rKZ/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kk/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kk-rKZ/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kk/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-km-rKH/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-km/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-km-rKH/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-km/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kn-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kn-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-kn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ky-rKG/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ky/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ky-rKG/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ky/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-lo-rLA/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-lo/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-lo-rLA/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-lo/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mk-rMK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mk/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mk-rMK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mk/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ml-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ml/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ml-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ml/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mn-rMN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mn/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mn-rMN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mn/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mr-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mr/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mr-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-mr/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ms-rMY/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ms/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ms-rMY/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ms/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-my-rMM/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-my/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-my-rMM/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-my/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ne-rNP/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ne/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ne-rNP/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ne/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-pa-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-pa/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-pa-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-pa/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-si-rLK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-si/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-si-rLK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-si/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-sq-rAL/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-sq/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-sq-rAL/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-sq/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ta-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ta/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ta-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ta/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-te-rIN/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-te/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-te-rIN/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-te/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ur-rPK/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ur/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ur-rPK/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-ur/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-uz-rUZ/strings.xml b/overlay/frameworks/base/core/res/res/values-mcc234-mnc33-uz/strings.xml
similarity index 100%
rename from overlay/frameworks/base/core/res/res/values-mcc234-mnc33-uz-rUZ/strings.xml
rename to overlay/frameworks/base/core/res/res/values-mcc234-mnc33-uz/strings.xml
diff --git a/overlay/frameworks/base/core/res/res/values-mcc262-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc262-mnc02/config.xml
index 701aa17..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc262-mnc02/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc262-mnc02/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>5500</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc268-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc268-mnc01/config.xml
index 043040d..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc268-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc268-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>123</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc276-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc276-mnc02/config.xml
index 8244a45..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc276-mnc02/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc276-mnc02/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,7 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- <item>135</item>
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc284-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc284-mnc01/config.xml
index 7f4ce0e..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc284-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc284-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
@@ -34,6 +31,4 @@
<item>INTERMEDIATE_POS=0</item>
<item>SUPL_ES=0</item>
</string-array>
- <string-array translatable="false" name="config_default_vm_number">
- </string-array>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc286-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc286-mnc02/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc286-mnc02/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc286-mnc02/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc302-mnc220/config.xml b/overlay/frameworks/base/core/res/res/values-mcc302-mnc220/config.xml
index 25d8630..9ead607 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc302-mnc220/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc302-mnc220/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=http://supl.telusmobility.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc302-mnc221/config.xml b/overlay/frameworks/base/core/res/res/values-mcc302-mnc221/config.xml
index aa4e680..ada91cd 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc302-mnc221/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc302-mnc221/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=http://supl.telusmobility.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc302-mnc370/config.xml b/overlay/frameworks/base/core/res/res/values-mcc302-mnc370/config.xml
index 56d7bec..7787e15 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc302-mnc370/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc302-mnc370/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc302-mnc660/config.xml b/overlay/frameworks/base/core/res/res/values-mcc302-mnc660/config.xml
index 56d7bec..7787e15 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc302-mnc660/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc302-mnc660/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc302-mnc720/config.xml b/overlay/frameworks/base/core/res/res/values-mcc302-mnc720/config.xml
index 56d7bec..7787e15 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc302-mnc720/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc302-mnc720/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc000/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc000/config.xml
index 2096304..ffc2f67 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc000/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc000/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml
index 2096304..ffc2f67 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc090/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc090/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc090/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc090/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
index 845b42a..9ad99e4 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=0</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc160/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc160/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc160/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc160/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc200/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc200/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc200/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc200/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc210/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc210/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc210/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc210/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc220/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc220/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc220/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc220/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc230/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc230/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc230/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc230/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc240/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc240/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc240/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc240/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc250/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc250/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc250/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc250/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
index 036addd..7aff29e 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc270/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc270/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc270/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc270/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc300/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc300/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc300/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc300/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc310/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc310/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc310/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc310/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml
index cf653f2..b066794 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc490/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc490/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc490/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc490/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc530/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc530/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc530/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc530/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc580/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc580/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc580/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc580/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc590/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc590/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc590/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc590/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc640/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc640/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc640/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc640/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc660/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc660/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc660/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc660/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc800/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc800/config.xml
index 47f0c62..7b2e167 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc800/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc800/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=lbs.geo.t-mobile.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml
index 9a2b7c9..43d658d 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml
@@ -28,9 +28,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=NONE</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml
index 1944c36..f7931a1 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml
@@ -17,17 +17,11 @@
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array translatable="false" name="config_default_vm_number">
- <item>*86</item>
- </string-array>
<!-- Values for GPS configuration (Verizon) -->
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml b/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
index 1373d47..e939de8 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
@@ -20,9 +20,6 @@
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array translatable="false" name="config_default_vm_number">
- <item>1416</item>
- </string-array>
<string-array translatable= "false" name= "config_mobile_hotspot_provision_app">
<item>com.huawei.entitlement</item>
@@ -36,9 +33,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc450-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc450-mnc02/config.xml
index 32009c7..2c51882 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc450-mnc02/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc450-mnc02/config.xml
@@ -24,9 +24,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc450-mnc05/config.xml b/overlay/frameworks/base/core/res/res/values-mcc450-mnc05/config.xml
index 9893d5e..8c04a67 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc450-mnc05/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc450-mnc05/config.xml
@@ -24,9 +24,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=wpde.nate.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc450-mnc06/config.xml b/overlay/frameworks/base/core/res/res/values-mcc450-mnc06/config.xml
index 8438f34..2f598c2 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc450-mnc06/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc450-mnc06/config.xml
@@ -24,9 +24,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc450-mnc08/config.xml b/overlay/frameworks/base/core/res/res/values-mcc450-mnc08/config.xml
index 32009c7..2c51882 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc450-mnc08/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc450-mnc08/config.xml
@@ -24,9 +24,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc450-mnc11/config.xml b/overlay/frameworks/base/core/res/res/values-mcc450-mnc11/config.xml
index cc8b714..4a931b9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc450-mnc11/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc450-mnc11/config.xml
@@ -24,9 +24,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=wpde.nate.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml b/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml
index 732ac3c..bc45ff9 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml
@@ -21,9 +21,6 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.vodafone.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=3</item>
<item>SUPL_VER=0x20000</item>
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 130d5e8..0503379 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -177,6 +177,9 @@
device does not support multiple advertisement-->
<integer translatable="false" name="config_bluetooth_max_advertisers">4</integer>
+ <!-- Boolean indicating if current platform supports HFP inband ringing -->
+ <bool name="config_bluetooth_hfp_inband_ringing_support">true</bool>
+
<!-- Array of allowable ConnectivityManager network types for tethering -->
<!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
[0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
@@ -348,9 +351,9 @@
<string-array translatable="false" name="config_gpsParameters">
<item>SUPL_HOST=supl.google.com</item>
<item>SUPL_PORT=7275</item>
- <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
- <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
+ <item>XTRA_SERVER_1=https://xtrapath1.izatcloud.net/xtra3grc.bin</item>
+ <item>XTRA_SERVER_2=https://xtrapath2.izatcloud.net/xtra3grc.bin</item>
+ <item>XTRA_SERVER_3=https://xtrapath3.izatcloud.net/xtra3grc.bin</item>
<item>NTP_SERVER=north-america.pool.ntp.org</item>
<item>SUPL_MODE=1</item>
<item>SUPL_VER=0x20000</item>
@@ -391,9 +394,13 @@
<!-- Default list of files pinned by the Pinner Service -->
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
<item>"/system/framework/arm64/boot-framework.oat"</item>
+ <item>"/system/framework/arm64/boot-framework.vdex"</item>
<item>"/system/framework/oat/arm64/services.odex"</item>
+ <item>"/system/framework/oat/arm64/services.vdex"</item>
<item>"/system/framework/arm64/boot.oat"</item>
+ <item>"/system/framework/arm64/boot.vdex"</item>
<item>"/system/framework/arm64/boot-core-libart.oat"</item>
+ <item>"/system/framework/arm64/boot-core-libart.vdex"</item>
</string-array>
<!-- Enable system navigation keys. -->
diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
index 30ea475..b6c97e9 100755
--- a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
+++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
@@ -17,11 +17,10 @@
<string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
<boolean name="config_wifi_disable_in_ecbm" value="true" />
<boolean name="disable_cdma_activation_code_bool" value="true" />
- <string-array name="signal_redirection_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
- </string-array>
- <string-array name="signal_dcfailure_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED,
+ com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
</string-array>
</carrier_config>
@@ -685,11 +684,10 @@
<string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
<boolean name="config_wifi_disable_in_ecbm" value="true" />
<boolean name="disable_cdma_activation_code_bool" value="true" />
- <string-array name="signal_redirection_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
- </string-array>
- <string-array name="signal_dcfailure_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED,
+ com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
</string-array>
</carrier_config>
@@ -712,11 +710,10 @@
<string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
<boolean name="config_wifi_disable_in_ecbm" value="true" />
<boolean name="disable_cdma_activation_code_bool" value="true" />
- <string-array name="signal_redirection_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
- </string-array>
- <string-array name="signal_dcfailure_receiver_string_array" num="1">
- <item value="com.google.android.carrierentitlement/.VzwActivationReceiver" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED,
+ com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
</string-array>
</carrier_config>
diff --git a/power/power.c b/power/power.c
index cc1aba2..8442a4b 100644
--- a/power/power.c
+++ b/power/power.c
@@ -97,14 +97,9 @@
static int slack_node_rw_failed = 0;
static int display_hint_sent;
static int sustained_performance_mode = 0;
-static int vr_mode = 0;
int display_boost;
static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
-static struct hw_module_methods_t power_module_methods = {
- .open = NULL,
-};
-
static void power_init(struct power_module *module)
{
ALOGI("QCOM power HAL initing.");
@@ -268,10 +263,10 @@
int duration_hint = 0;
static struct timespec previous_boost_timespec = {0, 0};
- // If we are in sustained performance mode or VR mode, touch boost
+ // If we are in sustained performance mode, touch boost
// should be ignored.
pthread_mutex_lock(&lock);
- if (sustained_performance_mode || vr_mode) {
+ if (sustained_performance_mode) {
pthread_mutex_unlock(&lock);
return;
}
@@ -376,52 +371,19 @@
sizeof(resources)/sizeof(resources[0]),
resources);
sysfs_write(GPU_MAX_FREQ_PATH, "305000000");
- if (vr_mode == 0) {
- handle_hotplug = interaction_with_handle(handle_hotplug, duration,
- sizeof(resources_hotplug)/sizeof(resources_hotplug[0]),
- resources_hotplug);
- }
+ handle_hotplug = interaction_with_handle(handle_hotplug, duration,
+ sizeof(resources_hotplug)/sizeof(resources_hotplug[0]),
+ resources_hotplug);
sustained_performance_mode = 1;
} else if (sustained_performance_mode == 1){
release_request(handle);
sysfs_write(GPU_MAX_FREQ_PATH, "600000000");
- if (vr_mode == 0) {
- release_request(handle_hotplug);
- }
+ release_request(handle_hotplug);
sustained_performance_mode = 0;
}
pthread_mutex_unlock(&lock);
}
break;
- case POWER_HINT_VR_MODE:
- {
- static int handle_vr = 0;
- pthread_mutex_lock(&lock);
- if (data && vr_mode == 0) {
- int resources[] = {0x206};
- int duration = 0;
- handle_vr = interaction_with_handle(handle_vr, duration,
- sizeof(resources)/sizeof(resources[0]),
- resources);
- sysfs_write(GPU_MIN_FREQ_PATH, "305000000");
- sysfs_write(BUS_SPEED_PATH, "7904");
- if (sustained_performance_mode == 0) {
- handle_hotplug = interaction_with_handle(handle_hotplug, duration,
- sizeof(resources_hotplug)/sizeof(resources_hotplug[0]),
- resources_hotplug);
- }
- vr_mode = 1;
- } else if (vr_mode == 1){
- release_request(handle_vr);
- sysfs_write(GPU_MIN_FREQ_PATH, "180000000");
- sysfs_write(BUS_SPEED_PATH, "0");
- if (sustained_performance_mode == 0) {
- release_request(handle_hotplug);
- }
- vr_mode = 0;
- }
- pthread_mutex_unlock(&lock);
- }
}
}
@@ -750,6 +712,44 @@
return 0;
}
+static int power_open(const hw_module_t* module, const char* name,
+ hw_device_t** device)
+{
+ ALOGD("%s: enter; name=%s", __FUNCTION__, name);
+ int retval = 0; /* 0 is ok; -1 is error */
+
+ if (strcmp(name, POWER_HARDWARE_MODULE_ID) == 0) {
+ power_module_t *dev = (power_module_t *)calloc(1,
+ sizeof(power_module_t));
+
+ if (dev) {
+ /* Common hw_device_t fields */
+ dev->common.tag = HARDWARE_DEVICE_TAG;
+ dev->common.module_api_version = POWER_MODULE_API_VERSION_0_5;
+ dev->common.hal_api_version = HARDWARE_HAL_API_VERSION;
+
+ dev->init = power_init;
+ dev->powerHint = power_hint;
+ dev->setInteractive = set_interactive;
+ dev->get_number_of_platform_modes = get_number_of_platform_modes;
+ dev->get_platform_low_power_stats = get_platform_low_power_stats;
+ dev->get_voter_list = get_voter_list;
+
+ *device = (hw_device_t*)dev;
+ } else
+ retval = -ENOMEM;
+ } else {
+ retval = -EINVAL;
+ }
+
+ ALOGD("%s: exit %d", __FUNCTION__, retval);
+ return retval;
+}
+
+static struct hw_module_methods_t power_module_methods = {
+ .open = power_open,
+};
+
struct power_module HAL_MODULE_INFO_SYM = {
.common = {
.tag = HARDWARE_MODULE_TAG,
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
index 4a84098..fe9a7ae 100644
--- a/proprietary-blobs.txt
+++ b/proprietary-blobs.txt
@@ -37,7 +37,6 @@
/system/bin/ssr_setup
/system/bin/subsystem_ramdump
/system/bin/test_diag
-/system/etc/diag/Angler_Radio-general.cfg
/system/etc/permissions/cneapiclient.xml
/system/etc/permissions/embms.xml
/system/etc/permissions/qcrilhook.xml
@@ -45,9 +44,7 @@
/system/framework/embmslibrary.jar
/system/framework/qcrilhook.jar
/system/lib64/libiperf.so
-/system/lib64/libtinyxml.so
/system/lib/libiperf.so
/system/lib/libmm-qcamera.so
-/system/lib/libtinyxml.so
/system/xbin/iperf3
/IMAGES/vendor.img
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index edf6ae3..6730310 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -28,7 +28,6 @@
system/bin/ssr_setup \
system/bin/subsystem_ramdump \
system/bin/test_diag \
- system/etc/diag/Angler_Radio-general.cfg \
system/etc/permissions/cneapiclient.xml \
system/etc/permissions/embms.xml \
system/etc/permissions/qcrilhook.xml \
@@ -36,10 +35,12 @@
system/framework/embmslibrary.jar \
system/framework/qcrilhook.jar \
system/lib64/libiperf.so \
- system/lib64/libtinyxml.so \
system/lib/libiperf.so \
system/lib/libmm-qcamera.so \
- system/lib/libtinyxml.so \
system/xbin/iperf3 \
+ system/lib64/android.hardware.biometrics.fingerprint@2.1.so \
+ system/lib64/android.hardware.configstore@1.0.so \
+ system/lib64/android.hardware.usb@1.0.so \
+ system/lib64/android.hardware.wifi@1.0.so \
"
;;
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
index 09660c9..4b5ba4e 100644
--- a/self-extractors/qcom/staging/device-partial.mk
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -37,7 +37,6 @@
vendor/qcom/angler/proprietary/ssr_setup:system/bin/ssr_setup:qcom \
vendor/qcom/angler/proprietary/subsystem_ramdump:system/bin/subsystem_ramdump:qcom \
vendor/qcom/angler/proprietary/test_diag:system/bin/test_diag:qcom \
- vendor/qcom/angler/proprietary/Angler_Radio-general.cfg:system/etc/diag/Angler_Radio-general.cfg:qcom \
vendor/qcom/angler/proprietary/cneapiclient.xml:system/etc/permissions/cneapiclient.xml:qcom \
vendor/qcom/angler/proprietary/embms.xml:system/etc/permissions/embms.xml:qcom \
vendor/qcom/angler/proprietary/qcrilhook.xml:system/etc/permissions/qcrilhook.xml:qcom \
@@ -45,9 +44,10 @@
vendor/qcom/angler/proprietary/embmslibrary.jar:system/framework/embmslibrary.jar:qcom \
vendor/qcom/angler/proprietary/qcrilhook.jar:system/framework/qcrilhook.jar:qcom \
vendor/qcom/angler/proprietary/lib64/libiperf.so:system/lib64/libiperf.so:qcom \
- vendor/qcom/angler/proprietary/lib64/libtinyxml.so:system/lib64/libtinyxml.so:qcom \
vendor/qcom/angler/proprietary/libiperf.so:system/lib/libiperf.so:qcom \
vendor/qcom/angler/proprietary/libmm-qcamera.so:system/lib/libmm-qcamera.so:qcom \
- vendor/qcom/angler/proprietary/libtinyxml.so:system/lib/libtinyxml.so:qcom \
vendor/qcom/angler/proprietary/iperf3:system/xbin/iperf3:qcom \
-
+ vendor/qcom/angler/proprietary/lib64/android.hardware.biometrics.fingerprint@2.1.so:system/lib64/android.hardware.biometrics.fingerprint@2.1.so:qcom \
+ vendor/qcom/angler/proprietary/lib64/android.hardware.configstore@1.0.so:system/lib64/android.hardware.configstore@1.0.so:qcom \
+ vendor/qcom/angler/proprietary/lib64/android.hardware.usb@1.0.so:system/lib64/android.hardware.usb@1.0.so:qcom \
+ vendor/qcom/angler/proprietary/lib64/android.hardware.wifi@1.0.so:system/lib64/android.hardware.wifi@1.0.so:qcom \
diff --git a/sensorhal/sensorlist.cpp b/sensorhal/sensorlist.cpp
index 5c7ea88..07218e3 100644
--- a/sensorhal/sensorlist.cpp
+++ b/sensorhal/sensorlist.cpp
@@ -26,12 +26,14 @@
const float kMinSampleRateHzAccel = 6.250f;
const float kMaxSampleRateHzAccel = 400.0f;
+extern const float kScaleAccel = (8.0f * 9.81f / 32768.0f);
const float kMinSampleRateHzGyro = 6.250f;
const float kMaxSampleRateHzGyro = 400.0f;
const float kMinSampleRateHzMag = 3.125f;
const float kMaxSampleRateHzMag = 50.0f;
+extern const float kScaleMag = 0.0625f; // 1.0f / 16.0f
const float kMinSampleRateHzPolling = 0.1f;
const float kMaxSampleRateHzPolling = 25.0f;
@@ -507,6 +509,24 @@
SENSOR_FLAG_ON_CHANGE_MODE,
{ NULL, NULL }
},
+ {
+ "BMI160 accelerometer (uncalibrated)",
+ "Bosch",
+ kVersion,
+ COMMS_SENSOR_ACCEL_UNCALIBRATED,
+ SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED,
+ GRAVITY_EARTH * 8.0f, // maxRange
+ GRAVITY_EARTH * 8.0f / 32768.0f, // resolution
+ 0.0f, // XXX power
+ (int32_t)(1.0E6f / kMaxSampleRateHzAccel), // minDelay
+ 3000, // XXX fifoReservedEventCount
+ kMaxRawThreeAxisEventCount, // XXX fifoMaxEventCount
+ SENSOR_STRING_TYPE_ACCELEROMETER_UNCALIBRATED,
+ "", // requiredPermission
+ (long)(1.0E6f / kMinSampleRateHzAccel), // maxDelay
+ SENSOR_FLAG_CONTINUOUS_MODE,
+ { NULL, NULL }
+ },
};
extern const size_t kSensorCount = sizeof(kSensorList) / sizeof(sensor_t);
diff --git a/sepolicy/camera.te b/sepolicy/camera.te
index d27c292..fdf6394 100644
--- a/sepolicy/camera.te
+++ b/sepolicy/camera.te
@@ -30,3 +30,5 @@
allow camera persist_data_file:file r_file_perms;
allow camera { cameraserver surfaceflinger }:fd use;
+hal_client_domain(camera, hal_graphics_allocator)
+allow camera hal_renderscript_hwservice:hwservice_manager find;
diff --git a/sepolicy/device_domain_deprecated.te b/sepolicy/device_domain_deprecated.te
index bbe0b71..c74fc2b 100644
--- a/sepolicy/device_domain_deprecated.te
+++ b/sepolicy/device_domain_deprecated.te
@@ -8,6 +8,9 @@
allow device_domain_deprecated system_file:dir r_dir_perms;
allow device_domain_deprecated system_file:file r_file_perms;
allow device_domain_deprecated system_file:lnk_file r_file_perms;
+allow device_domain_deprecated vendor_file_type:dir r_dir_perms;
+allow device_domain_deprecated vendor_file_type:file r_file_perms;
+allow device_domain_deprecated vendor_file_type:lnk_file r_file_perms;
allow device_domain_deprecated system_data_file:file { getattr read };
allow device_domain_deprecated system_data_file:lnk_file r_file_perms;
allow device_domain_deprecated apk_data_file:dir { getattr search };
diff --git a/sepolicy/file.te b/sepolicy/file.te
index eee487e..1b98df5 100644
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -18,6 +18,7 @@
type qmuxd_socket, file_type;
type ssr_data_file, file_type, data_file_type;
type sysfs_gpu_tuning, sysfs_type, fs_type;
+type sysfs_hal_gralloc, sysfs_type, fs_type;
type sysfs_fingerprintd, sysfs_type, fs_type;
type sysfs_msm_subsys, sysfs_type, fs_type;
type sysfs_msm_subsys_toggle, sysfs_type, fs_type;
@@ -34,3 +35,5 @@
type sysfs_wifi_sar, fs_type, sysfs_type;
type sysfs_lcd_mipi, fs_type, sysfs_type;
+
+type nfc_vendor_data_file, file_type, data_file_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 4a2e2dc..62020e4 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -79,6 +79,7 @@
/persist/sensors(/.*)? u:object_r:persist_sensors_file:s0
/sys/bus/msm_subsys(/.*)? u:object_r:sysfs_msm_subsys:s0
+/sys/kernel/boot_adsp/boot u:object_r:sysfs_msm_subsys:s0
/sys/devices/bt_bcm4358\.[0-9]+/rfkill/rfkill0/state u:object_r:sysfs_bluetooth_writable:s0
/sys/devices/soc\.0/\w+\.qcom,\w+/subsys[0-9]/restart_level u:object_r:sysfs_msm_subsys_toggle:s0
/sys/devices/soc\.0/fd900000\.qcom,mdss_mdp/qcom,mdss_fb_primary\.[0-9]+/leds(/.*)? u:object_r:sysfs_leds:s0
@@ -101,6 +102,10 @@
/sys/devices/virtual/graphics/fb1/vendor_name -- u:object_r:sysfs_surfaceflinger:s0
/sys/devices/virtual/graphics/fb1/product_description -- u:object_r:sysfs_surfaceflinger:s0
+# Sysfs files used by gralloc hal
+/sys/devices/virtual/graphics/fb[0-1]/msm_.* u:object_r:sysfs_hal_gralloc:s0
+/sys/devices/soc.0/fd900000.qcom,mdss_mdp/caps u:object_r:sysfs_hal_gralloc:s0
+
# Sysfs files used by qmuxd
/sys/devices/virtual/smdpkt/smdcntl([0-9])+/open_timeout u:object_r:sysfs_smdcntl_open_timeout:s0
/sys/devices/virtual/thermal(/.*)? u:object_r:sysfs_thermal:s0
@@ -120,12 +125,15 @@
# System files
/vendor/bin/ATFWD-daemon u:object_r:atfwd_exec:s0
/vendor/bin/cnd u:object_r:cnd_exec:s0
+/vendor/bin/hw/android\.hardware\.dumpstate@1\.0-service.angler u:object_r:hal_dumpstate_default_exec:s0
/vendor/bin/imscmservice u:object_r:ims_exec:s0
/vendor/bin/imsdatadaemon u:object_r:ims_exec:s0
/vendor/bin/imsqmidaemon u:object_r:ims_exec:s0
/vendor/bin/ims_rtp_daemon u:object_r:ims_exec:s0
/system/bin/init\.angler\.power\.sh u:object_r:init-power-sh_exec:s0
/system/bin/init\.angler\.qseecomd\.sh u:object_r:init-angler-qseecomd-sh_exec:s0
+/system/bin/init\.qcom\.devstart\.sh u:object_r:init-qcom-devstart-sh_exec:s0
+/system/bin/init\.qcom\.devwait\.sh u:object_r:init-qcom-devwait-sh_exec:s0
/system/bin/init\.mcfg\.sh u:object_r:init-mcfg-sh_exec:s0
/system/bin/init\.radio\.sh u:object_r:init-radio-sh_exec:s0
/vendor/bin/irsc_util u:object_r:irsc_util_exec:s0
@@ -146,7 +154,7 @@
/system/bin/subsystem_ramdump u:object_r:ssr_exec:s0
/vendor/bin/thermal-engine u:object_r:thermald_exec:s0
/vendor/bin/time_daemon u:object_r:time_exec:s0
-/system/bin/nanoapp_cmd u:object_r:nanoapp_cmd_exec:s0
+/vendor/bin/nanoapp_cmd u:object_r:nanoapp_cmd_exec:s0
/vendor/bin/diag_test_server u:object_r:diag_exec:s0
/vendor/bin/InputEventFind u:object_r:inputeventfind_exec:s0
/vendor/bin/oem_qmi_server u:object_r:oem_qmi_server_exec:s0
@@ -160,6 +168,7 @@
/data/misc/perfd(/.*)? u:object_r:perfd_data_file:s0
/data/misc/radio(/.*)? u:object_r:radio_data_file:s0
/data/nfc(/.*)? u:object_r:nfc_data_file:s0
+/data/vendor/nfc(/.*)? u:object_r:nfc_vendor_data_file:s0
/data/ramdump(/.*)? u:object_r:ssr_data_file:s0
/data/system/perfd(/.*)? u:object_r:perfd_data_file:s0
/data/time(/.*)? u:object_r:time_data_file:s0
@@ -175,3 +184,5 @@
# Sysfs files used by nanoapp_cmd
/sys/devices/virtual/nanohub/nanohub(/.*)? u:object_r:sysfs_nanoapp_cmd:s0
+# NFC hal
+/system/bin/hw/nfc_hal_pn54x u:object_r:nfc_hal_pn54x_exec:s0
diff --git a/sepolicy/fingerprintd.te b/sepolicy/fingerprintd.te
deleted file mode 100644
index f5160aa..0000000
--- a/sepolicy/fingerprintd.te
+++ /dev/null
@@ -1,12 +0,0 @@
-allow fingerprintd tee_device:chr_file rw_file_perms;
-# read/open /dev/input
-allow fingerprintd input_device:dir r_dir_perms;
-# read/open /dev/input/event6
-allow fingerprintd input_device:chr_file r_file_perms;
-# write /sys/bus/spi/devices/spi12.0/spi_prepare
-allow fingerprintd sysfs_fingerprintd:file rw_file_perms;
-allow fingerprintd sysfs_fingerprintd:dir search;
-allow fingerprintd sysfs_fingerprintd:dir r_dir_perms;
-# open/write/ioctl /dev/uinput
-allow fingerprintd uhid_device:chr_file rw_file_perms;
-allow fingerprintd fingerprintd_data_file:sock_file create_file_perms;
diff --git a/sepolicy/hal_dumpstate_impl.te b/sepolicy/hal_dumpstate_impl.te
new file mode 100644
index 0000000..14b262d
--- /dev/null
+++ b/sepolicy/hal_dumpstate_impl.te
@@ -0,0 +1,10 @@
+type hal_dumpstate_impl, domain;
+hal_server_domain(hal_dumpstate_impl, hal_dumpstate)
+
+type hal_dumpstate_impl_exec, exec_type, file_type;
+init_daemon_domain(hal_dumpstate_impl)
+
+# Access to files for dumping
+allow hal_dumpstate_impl proc_interrupts:file { open read };
+allow hal_dumpstate_impl pstorefs:dir search;
+allow hal_dumpstate_impl sysfs:file { open read };
diff --git a/sepolicy/hal_fingerprint.te b/sepolicy/hal_fingerprint.te
new file mode 100644
index 0000000..659a8f7
--- /dev/null
+++ b/sepolicy/hal_fingerprint.te
@@ -0,0 +1,17 @@
+# Access to /dev/tee
+allow hal_fingerprint tee_device:chr_file rw_file_perms;
+
+# Read /dev/input
+allow hal_fingerprint input_device:dir r_dir_perms;
+allow hal_fingerprint input_device:chr_file r_file_perms;
+
+# for SW20.6 navigation
+allow hal_fingerprint uhid_device:chr_file rw_file_perms;
+
+# write /sys/bus/spi/devices/spi12.0/spi_prepare
+allow hal_fingerprint sysfs_fingerprintd:file rw_file_perms;
+allow hal_fingerprint sysfs_fingerprintd:dir search;
+allow hal_fingerprint sysfs_fingerprintd:dir r_dir_perms;
+
+# read sysfs (required for fpc driver to read SOC files)
+allow hal_fingerprint sysfs:dir { read open };
diff --git a/sepolicy/hal_graphics_allocator.te b/sepolicy/hal_graphics_allocator.te
new file mode 100644
index 0000000..a4479de
--- /dev/null
+++ b/sepolicy/hal_graphics_allocator.te
@@ -0,0 +1,2 @@
+
+allow hal_graphics_allocator sysfs_hal_gralloc:file r_file_perms;
diff --git a/sepolicy/ims.te b/sepolicy/ims.te
index 4b20d87..2fe22a6 100644
--- a/sepolicy/ims.te
+++ b/sepolicy/ims.te
@@ -10,6 +10,7 @@
set_prop(ims, qcom_ims_prop)
qmux_socket(ims)
unix_socket_connect(ims, cnd, cnd)
+allowxperm ims self:udp_socket ioctl SIOCDEVPRIVATE_D;
allow ims ims_service:service_manager add;
diff --git a/sepolicy/init-devstart-sh.te b/sepolicy/init-devstart-sh.te
new file mode 100644
index 0000000..24004d2
--- /dev/null
+++ b/sepolicy/init-devstart-sh.te
@@ -0,0 +1,15 @@
+type init-qcom-devstart-sh, domain;
+type init-qcom-devstart-sh_exec, exec_type, file_type;
+
+init_daemon_domain(init-qcom-devstart-sh)
+
+allow init-qcom-devstart-sh shell_exec:file rx_file_perms;
+
+# execute toybox/toolbox
+allow init-qcom-devstart-sh toolbox_exec:file rx_file_perms;
+
+# Set the sys.qcom.devup property
+set_prop(init-qcom-devstart-sh, system_prop)
+
+# Set boot_adsp and boot_slpi to 1
+allow init-qcom-devstart-sh sysfs_msm_subsys:file w_file_perms;
diff --git a/sepolicy/init-devwait-sh.te b/sepolicy/init-devwait-sh.te
new file mode 100644
index 0000000..1529536
--- /dev/null
+++ b/sepolicy/init-devwait-sh.te
@@ -0,0 +1,9 @@
+type init-qcom-devwait-sh, domain;
+type init-qcom-devwait-sh_exec, exec_type, file_type;
+
+init_daemon_domain(init-qcom-devwait-sh)
+
+allow init-qcom-devwait-sh shell_exec:file rx_file_perms;
+
+# execute toybox/toolbox
+allow init-qcom-devwait-sh toolbox_exec:file rx_file_perms;
diff --git a/sepolicy/init-power-sh.te b/sepolicy/init-power-sh.te
index fac3d25..957d9ff 100644
--- a/sepolicy/init-power-sh.te
+++ b/sepolicy/init-power-sh.te
@@ -14,6 +14,7 @@
# allow labeling of interactive /sys files created post-initial restorecon
allow init-power-sh sysfs:{ dir file lnk_file } relabelfrom;
allow init-power-sh sysfs_devices_system_cpu:{ dir file lnk_file } relabelto;
+allow init-power-sh file_contexts_file:file r_file_perms;
# allow writes to sysfs files that have not yet been labeled
allow init-power-sh sysfs:file rw_file_perms;
diff --git a/sepolicy/netmgrd.te b/sepolicy/netmgrd.te
index 9e135e1..e8eed07 100644
--- a/sepolicy/netmgrd.te
+++ b/sepolicy/netmgrd.te
@@ -24,6 +24,7 @@
allow netmgrd shell_exec:file rx_file_perms;
allow netmgrd system_file:file rx_file_perms;
+allow netmgrd vendor_file_type:file rx_file_perms;
allow netmgrd sysfs_msm_subsys:dir r_dir_perms;
allow netmgrd sysfs_msm_subsys:lnk_file r_file_perms;
diff --git a/sepolicy/nfc.te b/sepolicy/nfc.te
new file mode 100644
index 0000000..90488a1
--- /dev/null
+++ b/sepolicy/nfc.te
@@ -0,0 +1,2 @@
+# allow NFC process to call into the NFC HAL
+binder_call(nfc, nfc_hal_pn54x)
diff --git a/sepolicy/nfc_hal_pn54x.te b/sepolicy/nfc_hal_pn54x.te
new file mode 100644
index 0000000..264bed6
--- /dev/null
+++ b/sepolicy/nfc_hal_pn54x.te
@@ -0,0 +1,30 @@
+# nfc subsystem
+type nfc_hal_pn54x, domain;
+type nfc_hal_pn54x_exec, exec_type, file_type;
+
+# may be started by init
+init_daemon_domain(nfc_hal_pn54x)
+
+allow nfc_hal_pn54x nfc_hal_pn54x_exec:file rx_file_perms;
+
+# hwbinder access
+hwbinder_use(nfc_hal_pn54x)
+
+# call into NFC process (callbacks)
+binder_call(nfc_hal_pn54x, nfc)
+
+# Set NFC properties
+set_prop(nfc_hal_pn54x, nfc_prop)
+
+# NFC device access.
+allow nfc_hal_pn54x nfc_device:chr_file rw_file_perms;
+
+# Data file accesses.
+allow nfc_hal_pn54x nfc_vendor_data_file:dir create_dir_perms;
+allow nfc_hal_pn54x nfc_vendor_data_file:notdevfile_class_set create_file_perms;
+
+allow nfc_hal_pn54x sysfs_nfc_power_writable:file rw_file_perms;
+allow nfc_hal_pn54x sysfs:file write;
+
+# TODO: added to match above sysfs rule. Remove me?
+allow nfc_hal_pn54x sysfs_usb:file write;
diff --git a/sepolicy/platform_app.te b/sepolicy/platform_app.te
index 7510eed..1bb447c 100644
--- a/sepolicy/platform_app.te
+++ b/sepolicy/platform_app.te
@@ -1,8 +1,8 @@
userdebug_or_eng(`
# qxdmlogger rundiag perms
- allow platform_app diag_logs:dir rw_dir_perms;
+ allow platform_app diag_logs:dir create_dir_perms;
allow platform_app diag_logs:file create_file_perms;
allow platform_app diag_device:chr_file rw_file_perms;
')
-allow platform_app oem_qmi_server:unix_stream_socket connectto;
\ No newline at end of file
+allow platform_app oem_qmi_server:unix_stream_socket connectto;
diff --git a/thermal-engine-angler.conf b/thermal-engine-angler.conf
index 9f58ad6..2408fb7 100644
--- a/thermal-engine-angler.conf
+++ b/thermal-engine-angler.conf
@@ -67,7 +67,7 @@
sampling 250
sensor gpu
device gpu
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -76,7 +76,7 @@
sampling 10
sensor pop_mem
device cluster1
-set_point 80000
+set_point 70000
set_point_clr 55000
time_constant 16
@@ -85,7 +85,7 @@
sampling 10
sensor cpu7
device cluster1
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -94,7 +94,7 @@
sampling 10
sensor cpu6
device cluster1
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -103,7 +103,7 @@
sampling 10
sensor cpu5
device cluster1
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -112,7 +112,7 @@
sampling 10
sensor cpu4
device cluster1
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -121,7 +121,7 @@
sampling 10
sensor cpu3
device cluster0
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -130,7 +130,7 @@
sampling 10
sensor cpu2
device cluster0
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -139,7 +139,7 @@
sampling 10
sensor cpu1
device cluster0
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
@@ -148,7 +148,7 @@
sampling 10
sensor cpu0
device cluster0
-set_point 85000
+set_point 75000
set_point_clr 55000
time_constant 0
diff --git a/thermal/Android.mk b/thermal/Android.mk
index 48b7465..25a15cc 100644
--- a/thermal/Android.mk
+++ b/thermal/Android.mk
@@ -19,6 +19,7 @@
include $(CLEAR_VARS)
LOCAL_CFLAGS := -Wno-unused-parameter
LOCAL_MODULE_RELATIVE_PATH := hw
+LOCAL_PROPRIETARY_MODULE := true
LOCAL_SRC_FILES := thermal.c
LOCAL_SHARED_LIBRARIES := liblog libcutils
LOCAL_MODULE_TAGS := optional
diff --git a/vr/Android.mk b/uinput-fpc.idc
similarity index 62%
rename from vr/Android.mk
rename to uinput-fpc.idc
index b35f550..526d0e8 100644
--- a/vr/Android.mk
+++ b/uinput-fpc.idc
@@ -1,4 +1,4 @@
-# Copyright 2016 The Android Open Source Project
+# Copyright (C) 2017 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.
@@ -12,15 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-LOCAL_PATH:= $(call my-dir)
+#
+# Fingerprint navigation configuration file
+#
+keyboard.orientationAware = 1
+keyboard.builtIn = 1
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := vr.c
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SHARED_LIBRARIES := liblog libcutils
-LOCAL_CFLAGS += -Wno-unused-parameter
-LOCAL_MODULE := vr.angler
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/uinput-fpc.kl b/uinput-fpc.kl
index 2bc2054..c8f0acd 100644
--- a/uinput-fpc.kl
+++ b/uinput-fpc.kl
@@ -1,4 +1,4 @@
-key 105 SYSTEM_NAVIGATION_LEFT
+key 106 SYSTEM_NAVIGATION_LEFT
key 108 SYSTEM_NAVIGATION_DOWN
key 103 SYSTEM_NAVIGATION_UP
-key 106 SYSTEM_NAVIGATION_RIGHT
+key 105 SYSTEM_NAVIGATION_RIGHT
diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt
index 151fac8..e1c783a 100644
--- a/vendor_owner_info.txt
+++ b/vendor_owner_info.txt
@@ -21,7 +21,6 @@
system/bin/ssr_setup:qcom
system/bin/subsystem_ramdump:qcom
system/bin/test_diag:qcom
-system/etc/diag/Angler_Radio-general.cfg:qcom
system/etc/permissions/cneapiclient.xml:qcom
system/etc/permissions/embms.xml:qcom
system/etc/permissions/qcrilhook.xml:qcom
@@ -29,9 +28,7 @@
system/framework/embmslibrary.jar:qcom
system/framework/qcrilhook.jar:qcom
system/lib64/libiperf.so:qcom
-system/lib64/libtinyxml.so:qcom
system/lib/libiperf.so:qcom
system/lib/libmm-qcamera.so:qcom
-system/lib/libtinyxml.so:qcom
system/xbin/iperf3:qcom
IMAGES/vendor.img:huawei
diff --git a/vr/vr.c b/vr/vr.c
deleted file mode 100644
index 8857f9a..0000000
--- a/vr/vr.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "VrHALImpl"
-
-#include <cutils/log.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <hardware/vr.h>
-#include <hardware/hardware.h>
-
-
-// Angler has two inflight numbers. By default, inflight=15 and inflight_low_latency=4.
-// Inflight is only used when there is a single GL context, when there is more than one
-// context, inflight_low_latency is used. Since we are only interested in affecting
-// performance when there is context preemption, we only have to modify the low latency
-// parameter.
-static const int DEFAULT_GPU_INFLIGHT = 4;
-static const int VR_MODE_GPU_INFLIGHT = 2;
-static const char* GPU_INFLIGHT_PATH = "/sys/class/kgsl/kgsl-3d0/dispatch/inflight_low_latency";
-
-/**
- * Write 'len' characters from 'input' character array into file at path 'outFile.'
- *
- * Return 0 on success, or a negative error code.
- */
-static int write_string(const char* input, size_t len, const char* outFile) {
- int fd = -1;
- ssize_t err = 0;
-
- // Check input strings.
- if (input == NULL || outFile == NULL) {
- ALOGE("%s: Invalid input to write", __FUNCTION__);
- return -1;
- }
-
- // Open file, check for errors.
- fd = open(outFile, O_WRONLY);
- if (fd < 0) {
- ALOGE("%s: Failed to open file %s, error %s (%d)", __FUNCTION__, outFile, strerror(errno),
- -errno);
- return -errno;
- }
-
- // Write file, check for errors.
- err = write(fd, input, len);
- if (err < 0) {
- ALOGE("%s: Failed to write file %s, error %s (%d)", __FUNCTION__, outFile, strerror(errno),
- -errno);
- close(fd);
- return -errno;
- }
-
- // Close and return success.
- close(fd);
- return 0;
-}
-
-/**
- * Write integer 'input' formatted as a character string into the file at path 'outFile.'
- *
- * Return 0 on success, or a negative error code.
- */
-static int write_int(int input, const char* outFile) {
- char buffer[128] = {0,};
- int bytes = snprintf(buffer, sizeof(buffer), "%d", input);
-
- if (bytes < 0 || (size_t) bytes >= sizeof(buffer)) {
- ALOGE("%s: Failed to format integer %d", __FUNCTION__, input);
- return -EINVAL;
- }
-
- return write_string(buffer, (size_t) bytes, outFile);
-}
-
-// Set global display/GPU/scheduler configuration to used for VR apps.
-static void set_vr_performance_configuration() {
- int err = 0;
-
- // Set in-flight buffers to 2.
- err = write_int(VR_MODE_GPU_INFLIGHT, GPU_INFLIGHT_PATH);
-
- if (err < 0) {
- ALOGW("%s: Error while setting configuration for VR mode.", __FUNCTION__);
- }
-}
-
-// Reset to default global display/GPU/scheduler configuration.
-static void unset_vr_performance_configuration() {
- int err = 0;
-
- // Set in-flight buffers back to default (15).
- err = write_int(DEFAULT_GPU_INFLIGHT, GPU_INFLIGHT_PATH);
-
- if (err < 0) {
- ALOGW("%s: Error while setting configuration for VR mode.", __FUNCTION__);
- }
-}
-
-static void vr_init(struct vr_module *module) {
- // NOOP
-}
-
-static void vr_set_vr_mode(struct vr_module *module, bool enabled) {
- if (enabled) {
- set_vr_performance_configuration();
- } else {
- unset_vr_performance_configuration();
- }
-}
-
-static struct hw_module_methods_t vr_module_methods = {
- .open = NULL, // There are no devices for this HAL interface.
-};
-
-
-vr_module_t HAL_MODULE_INFO_SYM = {
- .common = {
- .tag = HARDWARE_MODULE_TAG,
- .module_api_version = VR_MODULE_API_VERSION_1_0,
- .hal_api_version = HARDWARE_HAL_API_VERSION,
- .id = VR_HARDWARE_MODULE_ID,
- .name = "Angler VR HAL",
- .author = "The Android Open Source Project",
- .methods = &vr_module_methods,
- },
-
- .init = vr_init,
- .set_vr_mode = vr_set_vr_mode,
-};