diff --git a/BoardConfig.mk b/BoardConfig.mk
index 5c345bb..52c3d2e 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -21,52 +21,8 @@ TARGET_OTA_ASSERT_DEVICE := s5neo3g,s5neo3gxx,s5neolte,s5neoltexx
DEVICE_PATH := device/samsung/s5neoltexx
-# Include path
-TARGET_SPECIFIC_HEADER_PATH += $(DEVICE_PATH)/include
-
-# Bluetooth
-BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
-
-# Hardware
-BOARD_HARDWARE_CLASS += $(DEVICE_PATH)/cmhw
-
-# Init
-TARGET_INIT_VENDOR_LIB := libinit_s5neolte
-
-# Kernel
-BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --dt $(DEVICE_PATH)/dt.img --board SYSMAGIC000KU
-BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive console=tty0 androidboot.console=tty0 androidboot.hardware=samsungexynos7580 fbcon=font:VGA8x8,rotate:1 mem=471M no_console_suspend=1
-TARGET_KERNEL_CONFIG := lineageos_s5neolte_defconfig
-TARGET_KERNEL_SOURCE := kernel/samsung/exynos7580-common
-BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
-
-# Partitions
-BOARD_HAS_NO_MISC_PARTITION:= false
-TARGET_USERIMAGES_USE_F2FS := true
-BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
-BOARD_CACHEIMAGE_PARTITION_SIZE := 209715200
-BOARD_RECOVERYIMAGE_PARTITION_SIZE := 39845888
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3145728000
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 12096372736
-BOARD_FLASH_BLOCK_SIZE := 131072
-
-# Properties
-TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
-
-# Recovery
-TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.samsungexynos7580
-
-# Radio
-BOARD_RIL_CLASS := ../../../$(DEVICE_PATH)/ril
-BOARD_MODEM_TYPE := tss310
-
-# NFC
-BOARD_NFC_CHIPSET := pn547
+# Include makefiles from board folder
+-include $(DEVICE_PATH)/board/*.mk
# inherit from the proprietary version
-include vendor/samsung/s5neoltexx/BoardConfigVendor.mk
-
-# twrp
-ifeq ($(WITH_TWRP),true)
--include device/samsung/s5neoltexx/twrp.mk
-endif
diff --git a/board/audio.mk b/board/audio.mk
new file mode 100644
index 0000000..180d04b
--- /dev/null
+++ b/board/audio.mk
@@ -0,0 +1 @@
+TARGET_AUDIOHAL_VARIANT := samsung
diff --git a/board/bluethooth.mk b/board/bluethooth.mk
new file mode 100644
index 0000000..9228024
--- /dev/null
+++ b/board/bluethooth.mk
@@ -0,0 +1,2 @@
+# Bluetooth
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
diff --git a/board/fs.mk b/board/fs.mk
new file mode 100644
index 0000000..3a3401c
--- /dev/null
+++ b/board/fs.mk
@@ -0,0 +1,9 @@
+# Partitions
+BOARD_HAS_NO_MISC_PARTITION:= false
+TARGET_USERIMAGES_USE_F2FS := true
+BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
+BOARD_CACHEIMAGE_PARTITION_SIZE := 209715200
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 39845888
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3145728000
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 12096372736
+BOARD_FLASH_BLOCK_SIZE := 131072
diff --git a/board/fstab.mk b/board/fstab.mk
new file mode 100644
index 0000000..5c9cf40
--- /dev/null
+++ b/board/fstab.mk
@@ -0,0 +1,2 @@
+# Recovery
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.samsungexynos7580
diff --git a/board/hw.mk b/board/hw.mk
new file mode 100644
index 0000000..32ed5cd
--- /dev/null
+++ b/board/hw.mk
@@ -0,0 +1,2 @@
+# Hardware
+BOARD_HARDWARE_CLASS += $(DEVICE_PATH)/lineagehw
diff --git a/board/include.mk b/board/include.mk
new file mode 100644
index 0000000..7f65ed5
--- /dev/null
+++ b/board/include.mk
@@ -0,0 +1,2 @@
+# Include path
+TARGET_SPECIFIC_HEADER_PATH += $(DEVICE_PATH)/include
diff --git a/board/init.mk b/board/init.mk
new file mode 100644
index 0000000..952eafe
--- /dev/null
+++ b/board/init.mk
@@ -0,0 +1,2 @@
+# Init
+TARGET_INIT_VENDOR_LIB := libinit_s5neolte
diff --git a/board/kernel.mk b/board/kernel.mk
new file mode 100644
index 0000000..b6b5871
--- /dev/null
+++ b/board/kernel.mk
@@ -0,0 +1,8 @@
+# Kernel
+BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --board SYSMAGIC000KU
+BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive console=tty0 androidboot.console=tty0 androidboot.hardware=samsungexynos7580 fbcon=font:VGA8x8,rotate:1 mem=471M no_console_suspend=1
+TARGET_KERNEL_CONFIG := lineageos_s5neolte_defconfig
+TARGET_KERNEL_SOURCE := kernel/samsung/exynos7580-common
+BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
+BOARD_KERNEL_IMAGE_NAME := Image-dtb
+TARGET_CUSTOM_DTBTOOL := dtbhtoolExynos
diff --git a/board/nfc.mk b/board/nfc.mk
new file mode 100644
index 0000000..f3cd589
--- /dev/null
+++ b/board/nfc.mk
@@ -0,0 +1,2 @@
+# NFC
+BOARD_NFC_CHIPSET := pn547
diff --git a/board/properties.mk b/board/properties.mk
new file mode 100644
index 0000000..826995c
--- /dev/null
+++ b/board/properties.mk
@@ -0,0 +1,2 @@
+# Properties
+TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
diff --git a/board/radio.mk b/board/radio.mk
new file mode 100644
index 0000000..b9f44ad
--- /dev/null
+++ b/board/radio.mk
@@ -0,0 +1,4 @@
+# Radio
+#BOARD_RIL_CLASS := ../../../$(DEVICE_PATH)/ril
+BOARD_PROVIDES_LIBRIL := true
+BOARD_MODEM_TYPE := tss310
diff --git a/configs/audio/mixer_paths.xml b/configs/audio/mixer_paths.xml
index 3803ab2..1204b55 100644
--- a/configs/audio/mixer_paths.xml
+++ b/configs/audio/mixer_paths.xml
@@ -3030,4 +3030,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/wifi/filter_ie b/configs/wifi/filter_ie
new file mode 100644
index 0000000..7c10dcd
--- /dev/null
+++ b/configs/wifi/filter_ie
@@ -0,0 +1,3 @@
+0
+1
+3
diff --git a/device.mk b/device.mk
index b44569f..638df82 100644
--- a/device.mk
+++ b/device.mk
@@ -19,127 +19,8 @@ LOCAL_PATH := device/samsung/s5neoltexx
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
-# Overlays
-DEVICE_PACKAGE_OVERLAYS += device/samsung/s5neoltexx/overlay
-
-# Device uses high-density artwork where available
-PRODUCT_AAPT_CONFIG := xlarge
-PRODUCT_AAPT_PREF_CONFIG := xhdpi
-# A list of dpis to select prebuilt apk, in precedence order.
-PRODUCT_AAPT_PREBUILT_DPI := hdpi mdpi
-
-# Boot animation
-TARGET_SCREEN_HEIGHT := 1920
-TARGET_SCREEN_WIDTH := 1080
-
-# Audio
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/audio/audio_policy.conf:system/etc/audio_policy.conf \
- $(LOCAL_PATH)/configs/audio/mixer_paths.xml:system/etc/mixer_paths.xml
-
-# Bluetooth
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf
-
-# GPS
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/gps/gps.conf:system/etc/gps.conf \
- $(LOCAL_PATH)/configs/gps/gps.xml:system/etc/gps.xml
-
-# Permissions
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
- frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
- frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
- frameworks/native/data/etc/android.hardware.sensor.heartrate.xml:system/etc/permissions/android.hardware.sensor.heartrate.xml \
- frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
- frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
- frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
- frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml
-
-# Key-layout
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/idc/Synaptics_HID_TouchPad.idc:system/usr/idc/Synaptics_HID_TouchPad.idc \
- $(LOCAL_PATH)/idc/Synaptics_RMI4_TouchPad_Sensor.idc:system/usr/idc/Synaptics_RMI4_TouchPad_Sensor.idc \
- $(LOCAL_PATH)/keylayout/Button_Jack.kl:system/usr/keylayout/Button_Jack.kl \
- $(LOCAL_PATH)/keylayout/gpio_keys.kl:system/usr/keylayout/gpio_keys.kl \
- $(LOCAL_PATH)/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl
-
-# Lights
-PRODUCT_PACKAGES += \
- lights.universal7580
-
-# Media profile
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/media/media_profiles.xml:system/etc/media_profiles.xml
-
-# Power
-PRODUCT_PACKAGES += \
- power.exynos5
-
-# Shims
-PRODUCT_PACKAGES += \
- libshim_gpsd
-
-# Ramdisk
-PRODUCT_PACKAGES += \
- fstab.samsungexynos7580 \
- init.baseband.rc \
- init.samsung.rc \
- init.samsungexynos7580.rc \
- init.samsungexynos7580.usb.rc \
- init.wifi.rc \
- ueventd.samsungexynos7580.rc
-
-# Wi-fi
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/wifi/cred.conf:system/etc/wifi/cred.conf \
- $(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
- $(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf
-
-ADDITIONAL_DEFAULT_PROPERTIES += \
- wifi.interface=wlan0
-
-# Samsung
-PRODUCT_PACKAGES += \
- SamsungServiceMode
-
-# Ril
-PRODUCT_PACKAGES += \
- libprotobuf-cpp-full \
- modemloader
-
-# cpboot-daemon for modem
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/ril/sbin/cbd:root/sbin/cbd
-
-# samsung's sswap
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/rootdir/sbin/sswap:root/sbin/sswap
-
-# NFC
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/nfc/libnfc-sec-hal.conf:system/etc/libnfc-sec-hal.conf \
- $(LOCAL_PATH)/configs/nfc/libnfc-sec.conf:system/etc/libnfc-brcm.conf \
- $(LOCAL_PATH)/configs/nfc/nfcee_access.xml:system/etc/nfcee_access.xml
-
-PRODUCT_PACKAGES += \
- libnfc-nci \
- libnfc_nci_jni \
- NfcNci \
- Tag \
- com.android.nfc_extras
-
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.nfc.sec_hal=true
-
-# twrp
-ifeq ($(WITH_TWRP),true)
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/rootdir/etc/twrp.fstab:recovery/root/etc/twrp.fstab
-endif
+# Inherit board specific products
+-include $(LOCAL_PATH)/product/*.mk
# Inherit from Exynos7580-common
$(call inherit-product, device/samsung/exynos7580-common/device-common.mk)
diff --git a/dt.img b/dt.img
deleted file mode 100644
index 07e9d3a..0000000
Binary files a/dt.img and /dev/null differ
diff --git a/include/samsung_audio.h b/include/samsung_audio.h
new file mode 100644
index 0000000..880b4e5
--- /dev/null
+++ b/include/samsung_audio.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2017 The LineageOS 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
+
+#ifndef SAMSUNG_AUDIO_H
+#define SAMSUNG_AUDIO_H
+
+#define MIXER_CARD 0
+#define SOUND_CARD 0
+
+/* Playback */
+#define SOUND_DEEP_BUFFER_DEVICE 1
+#define SOUND_PLAYBACK_DEVICE 0
+#define SOUND_PLAYBACK_SCO_DEVICE 3
+
+/* Capture */
+#define SOUND_CAPTURE_DEVICE 0
+#define SOUND_CAPTURE_SCO_DEVICE 3
+
+/* Voice calls */
+#define SOUND_PLAYBACK_VOICE_DEVICE 2
+#define SOUND_CAPTURE_VOICE_DEVICE 2
+
+/* Wideband AMR callback */
+#ifndef RIL_UNSOL_SNDMGR_WB_AMR_REPORT
+#ifdef RIL_UNSOL_WB_AMR_STATE
+#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT RIL_UNSOL_WB_AMR_STATE
+#else
+#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT 0
+#endif
+#endif
+
+/* Unusupported
+#define SOUND_CAPTURE_LOOPBACK_AEC_DEVICE 1
+#define SOUND_CAPTURE_HOTWORD_DEVICE 0
+*/
+
+
+#endif // SAMSUNG_AUDIO_H
diff --git a/include/samsung_lights.h b/include/samsung_lights.h
new file mode 100644
index 0000000..908660e
--- /dev/null
+++ b/include/samsung_lights.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 The CyanogenMod Project
+ * Copyright (C) 2017 The LineageOS 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 SAMSUNG_LIGHTS_H
+#define SAMSUNG_LIGHTS_H
+
+/*
+ * Board specific nodes
+ *
+ * If your kernel exposes these controls in another place, you can either
+ * symlink to the locations given here, or override this header in your
+ * device tree.
+ */
+#define PANEL_BRIGHTNESS_NODE "/sys/devices/14800000.dsim/backlight/panel/brightness"
+#define PANEL_MAX_BRIGHTNESS_NODE "/sys/devices/14800000.dsim/backlight/panel/max_brightness"
+#define BUTTON_BRIGHTNESS_NODE "/sys/devices/virtual/sec/sec_touchkey/brightness"
+#define LED_BLINK_NODE "/sys/devices/virtual/sec/led/led_blink"
+
+// Uncomment to enable variable button brightness
+//#define VAR_BUTTON_BRIGHTNESS 1
+
+/*
+ * Brightness adjustment factors
+ *
+ * If one of your device's LEDs is more powerful than the others, use these
+ * values to equalise them. This value is in the range 0.0-1.0.
+ */
+#define LED_ADJUSTMENT_R 1.0
+#define LED_ADJUSTMENT_G 1.0
+#define LED_ADJUSTMENT_B 1.0
+
+/*
+ * Light brightness factors
+ *
+ * It might make sense for all colours to be scaled down (for example, if your
+ * LED is too bright). Use these values to adjust the brightness of each
+ * light. This value is within the range 0-255.
+ */
+#define LED_BRIGHTNESS_BATTERY 255
+#define LED_BRIGHTNESS_NOTIFICATION 255
+#define LED_BRIGHTNESS_ATTENTION 255
+
+#endif // SAMSUNG_LIGHTS_H
diff --git a/init/Android.mk b/init/Android.mk
index 30da45e..429bf8a 100644
--- a/init/Android.mk
+++ b/init/Android.mk
@@ -3,9 +3,12 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
-LOCAL_C_INCLUDES := system/core/init
-LOCAL_CFLAGS := -Wall
+LOCAL_C_INCLUDES := \
+ system/core/base/include \
+ system/core/init
+LOCAL_CFLAGS := -Wall -DANDROID_TARGET=\"$(TARGET_BOARD_PLATFORM)\"
LOCAL_SRC_FILES := init_s5neolte.cpp
LOCAL_MODULE := libinit_s5neolte
+LOCAL_STATIC_LIBRARIES += libbase
include $(BUILD_STATIC_LIBRARY)
diff --git a/init/init_s5neolte.cpp b/init/init_s5neolte.cpp
index bae0155..e73b6c8 100644
--- a/init/init_s5neolte.cpp
+++ b/init/init_s5neolte.cpp
@@ -28,51 +28,61 @@
*/
#include
-#include
#include
+#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
+#include
+
+#include
+#include
#include "property_service.h"
#include "vendor_init.h"
-#include "log.h"
-#include "util.h"
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include
+using android::base::GetProperty;
+using android::init::property_set;
void property_override(char const prop[], char const value[])
{
- prop_info *pi;
+ prop_info *pi;
- pi = (prop_info*) __system_property_find(prop);
- if (pi)
- __system_property_update(pi, value, strlen(value));
- else
- __system_property_add(prop, strlen(prop), value, strlen(value));
+ pi = (prop_info*) __system_property_find(prop);
+ if (pi)
+ __system_property_update(pi, value, strlen(value));
+ else
+ __system_property_add(prop, strlen(prop), value, strlen(value));
}
-void set_sim_info () {
+void set_sim_info ()
+{
FILE *file;
char *simslot_count_path = "/proc/simslot_count";
char simslot_count[2] = "\0";
-
+
file = fopen(simslot_count_path, "r");
-
+
if (file != NULL) {
simslot_count[0] = fgetc(file);
- property_set("ro.multisim.simslotcount", simslot_count);
+ property_override("ro.multisim.simslotcount", simslot_count);
if(strcmp(simslot_count, "2") == 0) {
- property_set("rild.libpath2", "/system/lib/libsec-ril-dsds.so");
- property_set("persist.radio.multisim.config", "dsds");
+ property_override("rild.libpath2", "/system/lib/libsec-ril-dsds.so");
+ property_override("persist.radio.multisim.config", "dsds");
}
fclose(file);
}
else {
- ERROR("Could not open '%s'\n", simslot_count_path);
+ LOG(ERROR) << "Could not open '" << simslot_count_path << "'\n";
}
}
-void vendor_load_properties() {
- std::string bootloader = property_get("ro.bootloader");
+void vendor_load_properties()
+{
+ std::string platform;
+ std::string bootloader = GetProperty("ro.bootloader", "");
+ std::string device;
+
+ platform = GetProperty("ro.board.platform", "");
+ if (platform != ANDROID_TARGET)
+ return;
if (bootloader.find("G903F") != std::string::npos) {
/* SM-G903F */
@@ -98,9 +108,9 @@ void vendor_load_properties() {
property_override("ro.product.device", "s5neoltecan");
property_override("ro.product.name", "s5neoltevl");
}
-
+
set_sim_info();
- std::string device = property_get("ro.product.device");
- INFO("Found bootloader id %s setting build properties for %s device\n", bootloader.c_str(), device.c_str());
+ device = GetProperty("ro.product.device", "");
+ LOG(ERROR) << "Found bootloader id '" << bootloader.c_str() << "' setting build properties for '" << device.c_str() << "' device\n";
}
diff --git a/libshims/gpsd/Android.mk b/libshims/gpsd/Android.mk
index b521a4f..8980ad4 100644
--- a/libshims/gpsd/Android.mk
+++ b/libshims/gpsd/Android.mk
@@ -22,8 +22,9 @@ include $(CLEAR_VARS)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := samsung_gps.cpp
-LOCAL_SHARED_LIBRARIES := libbinder liblog libcutils libgui libutils
+LOCAL_SHARED_LIBRARIES := libbinder liblog libcutils libgui libutils libsensor
LOCAL_MODULE := libshim_gpsd
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_SHARED_LIBRARY)
diff --git a/libshims/gpsd/samsung_gps.cpp b/libshims/gpsd/samsung_gps.cpp
index 1e104f3..7c93d4e 100644
--- a/libshims/gpsd/samsung_gps.cpp
+++ b/libshims/gpsd/samsung_gps.cpp
@@ -20,7 +20,7 @@
#include
#include
-#include
+#include
#include
namespace android {
diff --git a/lineage.mk b/lineage.mk
index e2a40ea..68ba0b0 100644
--- a/lineage.mk
+++ b/lineage.mk
@@ -18,11 +18,12 @@
# Initialise device config
$(call inherit-product, device/samsung/s5neoltexx/full_s5neoltexx.mk)
-# Inherit common CM phone.
-$(call inherit-product, vendor/cm/config/common_full_phone.mk)
+# Inherit common Lineage phone.
+$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Set those variables here to overwrite the inherited values.
PRODUCT_NAME := lineage_s5neoltexx
PRODUCT_DEVICE := s5neoltexx
+PRODUCT_MODEL := SM-G903F
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung
diff --git a/cmhw/org/cyanogenmod/hardware/AdaptiveBacklight.java b/lineagehw/org/lineageos/hardware/AdaptiveBacklight.java
similarity index 96%
rename from cmhw/org/cyanogenmod/hardware/AdaptiveBacklight.java
rename to lineagehw/org/lineageos/hardware/AdaptiveBacklight.java
index 3e380d7..dfc46fa 100644
--- a/cmhw/org/cyanogenmod/hardware/AdaptiveBacklight.java
+++ b/lineagehw/org/lineageos/hardware/AdaptiveBacklight.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package org.cyanogenmod.hardware;
+package org.lineageos.hardware;
-import org.cyanogenmod.internal.util.FileUtils;
+import org.lineageos.internal.util.FileUtils;
/**
* Adaptive backlight support (this refers to technologies like NVIDIA SmartDimmer,
diff --git a/cmhw/org/cyanogenmod/hardware/DisplayColorCalibration.java b/lineagehw/org/lineageos/hardware/DisplayColorCalibration.java
similarity index 98%
rename from cmhw/org/cyanogenmod/hardware/DisplayColorCalibration.java
rename to lineagehw/org/lineageos/hardware/DisplayColorCalibration.java
index 7b01932..b950960 100644
--- a/cmhw/org/cyanogenmod/hardware/DisplayColorCalibration.java
+++ b/lineagehw/org/lineageos/hardware/DisplayColorCalibration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.cyanogenmod.hardware;
+package org.lineageos.hardware;
import android.os.IBinder;
import android.os.Parcel;
@@ -23,7 +23,7 @@
import android.os.SystemProperties;
import android.util.Slog;
-import org.cyanogenmod.internal.util.FileUtils;
+import org.lineageos.internal.util.FileUtils;
public class DisplayColorCalibration {
diff --git a/cmhw/org/cyanogenmod/hardware/KeyDisabler.java b/lineagehw/org/lineageos/hardware/KeyDisabler.java
similarity index 94%
rename from cmhw/org/cyanogenmod/hardware/KeyDisabler.java
rename to lineagehw/org/lineageos/hardware/KeyDisabler.java
index 767d45b..13d5ad6 100644
--- a/cmhw/org/cyanogenmod/hardware/KeyDisabler.java
+++ b/lineagehw/org/lineageos/hardware/KeyDisabler.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package org.cyanogenmod.hardware;
+package org.lineageos.hardware;
-import org.cyanogenmod.internal.util.FileUtils;
+import org.lineageos.internal.util.FileUtils;
/*
* Disable capacitive keys
diff --git a/cmhw/org/cyanogenmod/hardware/VibratorHW.java b/lineagehw/org/lineageos/hardware/VibratorHW.java
similarity index 94%
rename from cmhw/org/cyanogenmod/hardware/VibratorHW.java
rename to lineagehw/org/lineageos/hardware/VibratorHW.java
index ea35572..c9f8e2e 100644
--- a/cmhw/org/cyanogenmod/hardware/VibratorHW.java
+++ b/lineagehw/org/lineageos/hardware/VibratorHW.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package org.cyanogenmod.hardware;
+package org.lineageos.hardware;
-import org.cyanogenmod.internal.util.FileUtils;
+import org.lineageos.internal.util.FileUtils;
public class VibratorHW {
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 8c1de2e..0855953 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -110,7 +110,7 @@
64 - Volume rocker
For example, a device with Home, Back and Menu keys would set this
config to 7. -->
- 83
+
- 65
+
- true
+
- true
+
diff --git a/product/audio.mk b/product/audio.mk
new file mode 100644
index 0000000..4313a56
--- /dev/null
+++ b/product/audio.mk
@@ -0,0 +1,4 @@
+# Audio
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/audio/audio_policy.conf:system/etc/audio_policy.conf \
+ $(LOCAL_PATH)/configs/audio/mixer_paths.xml:system/etc/mixer_paths_0.xml
diff --git a/product/bluetooth.mk b/product/bluetooth.mk
new file mode 100644
index 0000000..7bfe6af
--- /dev/null
+++ b/product/bluetooth.mk
@@ -0,0 +1,7 @@
+# Bluetooth
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf
+
+PRODUCT_PACKAGES += \
+ android.hardware.bluetooth@1.0-impl \
+ libbt-vendor
diff --git a/product/boot_animation.mk b/product/boot_animation.mk
new file mode 100644
index 0000000..3f4239b
--- /dev/null
+++ b/product/boot_animation.mk
@@ -0,0 +1,3 @@
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1920
+TARGET_SCREEN_WIDTH := 1080
diff --git a/product/dpi.mk b/product/dpi.mk
new file mode 100644
index 0000000..0ba5c44
--- /dev/null
+++ b/product/dpi.mk
@@ -0,0 +1,5 @@
+# Device uses high-density artwork where available
+PRODUCT_AAPT_CONFIG := xlarge
+PRODUCT_AAPT_PREF_CONFIG := xhdpi
+# A list of dpis to select prebuilt apk, in precedence order.
+PRODUCT_AAPT_PREBUILT_DPI := hdpi mdpi
diff --git a/product/gps.mk b/product/gps.mk
new file mode 100644
index 0000000..9388916
--- /dev/null
+++ b/product/gps.mk
@@ -0,0 +1,8 @@
+# GPS
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/gps/gps.conf:system/etc/gps.conf \
+ $(LOCAL_PATH)/configs/gps/gps.xml:system/etc/gps.xml
+
+PRODUCT_PACKAGES += \
+ android.hardware.gnss@1.0-impl \
+ android.hardware.gnss@1.0-service
diff --git a/product/key_layout.mk b/product/key_layout.mk
new file mode 100644
index 0000000..dc0c4d5
--- /dev/null
+++ b/product/key_layout.mk
@@ -0,0 +1,7 @@
+# Key-layout
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/idc/Synaptics_HID_TouchPad.idc:system/usr/idc/Synaptics_HID_TouchPad.idc \
+ $(LOCAL_PATH)/idc/Synaptics_RMI4_TouchPad_Sensor.idc:system/usr/idc/Synaptics_RMI4_TouchPad_Sensor.idc \
+ $(LOCAL_PATH)/keylayout/Button_Jack.kl:system/usr/keylayout/Button_Jack.kl \
+ $(LOCAL_PATH)/keylayout/gpio_keys.kl:system/usr/keylayout/gpio_keys.kl \
+ $(LOCAL_PATH)/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl
diff --git a/product/keymaster.mk b/product/keymaster.mk
new file mode 100644
index 0000000..01987bf
--- /dev/null
+++ b/product/keymaster.mk
@@ -0,0 +1,5 @@
+# Keymaster
+PRODUCT_PACKAGES += \
+ keystore.exynos5 \
+ android.hardware.keymaster@3.0-impl \
+ android.hardware.keymaster@3.0-service
diff --git a/product/lights.mk b/product/lights.mk
new file mode 100644
index 0000000..7646af8
--- /dev/null
+++ b/product/lights.mk
@@ -0,0 +1,4 @@
+# Lights
+PRODUCT_PACKAGES += \
+ lights.universal7580 \
+ android.hardware.light@2.0-impl
diff --git a/product/media.mk b/product/media.mk
new file mode 100644
index 0000000..0930240
--- /dev/null
+++ b/product/media.mk
@@ -0,0 +1,3 @@
+# Media profile
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/media/media_profiles.xml:system/etc/media_profiles.xml
diff --git a/product/nfc.mk b/product/nfc.mk
new file mode 100644
index 0000000..c648de9
--- /dev/null
+++ b/product/nfc.mk
@@ -0,0 +1,16 @@
+# NFC
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/nfc/libnfc-sec-hal.conf:system/etc/libnfc-sec-hal.conf \
+ $(LOCAL_PATH)/configs/nfc/libnfc-sec.conf:system/etc/libnfc-brcm.conf \
+ $(LOCAL_PATH)/configs/nfc/nfcee_access.xml:system/etc/nfcee_access.xml
+
+PRODUCT_PACKAGES += \
+ libnfc-nci \
+ libnfc_nci_jni \
+ NfcNci \
+ Tag \
+ com.android.nfc_extras \
+ android.hardware.nfc@1.0-impl
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.nfc.sec_hal=true
diff --git a/product/overlays.mk b/product/overlays.mk
new file mode 100644
index 0000000..fbd396a
--- /dev/null
+++ b/product/overlays.mk
@@ -0,0 +1,2 @@
+# Overlays
+DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
diff --git a/product/permissions.mk b/product/permissions.mk
new file mode 100644
index 0000000..5d5e743
--- /dev/null
+++ b/product/permissions.mk
@@ -0,0 +1,12 @@
+# Permissions
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
+ frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
+ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
+ frameworks/native/data/etc/android.hardware.sensor.heartrate.xml:system/etc/permissions/android.hardware.sensor.heartrate.xml \
+ frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
+ frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml
diff --git a/product/power.mk b/product/power.mk
new file mode 100644
index 0000000..bf5a96f
--- /dev/null
+++ b/product/power.mk
@@ -0,0 +1,3 @@
+# Power
+PRODUCT_PACKAGES += \
+ power.exynos5
diff --git a/product/ramdisk.mk b/product/ramdisk.mk
new file mode 100644
index 0000000..77f0c60
--- /dev/null
+++ b/product/ramdisk.mk
@@ -0,0 +1,9 @@
+# Ramdisk
+PRODUCT_PACKAGES += \
+ fstab.samsungexynos7580 \
+ init.baseband.rc \
+ init.samsung.rc \
+ init.samsungexynos7580.rc \
+ init.samsungexynos7580.usb.rc \
+ init.wifi.rc \
+ ueventd.samsungexynos7580.rc
diff --git a/product/ril.mk b/product/ril.mk
new file mode 100644
index 0000000..bdbebbf
--- /dev/null
+++ b/product/ril.mk
@@ -0,0 +1,11 @@
+# Ril
+PRODUCT_PACKAGES += \
+ libprotobuf-cpp-full \
+ modemloader \
+ libsec-ril-wrapper
+
+# cpboot-daemon for modem
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/ril/sbin/cbd:root/sbin/cbd \
+ $(LOCAL_PATH)/rootdir/etc/vendor/rild.rc:system/vendor/etc/init/rild.rc \
+ $(LOCAL_PATH)/rootdir/etc/vendor/rild-dsds.rc:system/vendor/etc/init/rild-dsds.rc
diff --git a/product/samsung.mk b/product/samsung.mk
new file mode 100644
index 0000000..224ef18
--- /dev/null
+++ b/product/samsung.mk
@@ -0,0 +1,8 @@
+# Samsung
+PRODUCT_PACKAGES += \
+ SamsungServiceMode \
+ dtbhtoolExynos
+
+# samsung's sswap
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/rootdir/sbin/sswap:root/sbin/sswap
\ No newline at end of file
diff --git a/product/sensor.mk b/product/sensor.mk
new file mode 100644
index 0000000..9e747c1
--- /dev/null
+++ b/product/sensor.mk
@@ -0,0 +1,4 @@
+# Sensorhub
+PRODUCT_PACKAGES += \
+ android.hardware.sensors@1.0-impl \
+ android.hardware.vibrator@1.0-impl
diff --git a/product/shims.mk b/product/shims.mk
new file mode 100644
index 0000000..d6583cd
--- /dev/null
+++ b/product/shims.mk
@@ -0,0 +1,3 @@
+# Shims
+PRODUCT_PACKAGES += \
+ libshim_gpsd
diff --git a/product/wifi.mk b/product/wifi.mk
new file mode 100644
index 0000000..bfbd26f
--- /dev/null
+++ b/product/wifi.mk
@@ -0,0 +1,22 @@
+# Wi-fi
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/wifi/cred.conf:system/etc/wifi/cred.conf \
+ $(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
+ $(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf \
+ $(LOCAL_PATH)/configs/wifi/filter_ie:system/etc/wifi/filter_ie
+
+# Wifi-Packages
+PRODUCT_PACKAGES += \
+ android.hardware.wifi@1.0 \
+ android.hardware.wifi@1.0-impl \
+ android.hardware.wifi@1.0-service \
+ libnetcmdiface \
+ libwpa_client \
+ hostapd \
+ macloader \
+ wificond \
+ wifiloader \
+ wifilogd \
+ wlutil \
+ wpa_supplicant \
+ wpa_supplicant.conf
\ No newline at end of file
diff --git a/twrp.mk b/ril/Android.mk
similarity index 56%
rename from twrp.mk
rename to ril/Android.mk
index de2f6b9..9c7eebe 100644
--- a/twrp.mk
+++ b/ril/Android.mk
@@ -1,4 +1,5 @@
-# Copyright (C) 2017, The LineageOS Project
+#
+# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -11,13 +12,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
-BOARD_HAS_NO_REAL_SDCARD := true
-RECOVERY_SDCARD_ON_DATA := true
-RECOVERY_VARIANT := twrp
-TARGET_RECOVERY_FSTAB := device/samsung/s5neoltexx/rootdir/etc/twrp.fstab
-TW_BRIGHTNESS_PATH := /sys/devices/13900000.dsim/backlight/panel/brightness
-TW_HAS_DOWNLOAD_MODE := true
-#TW_INCLUDE_CRYPTO := true
-TW_NO_REBOOT_BOOTLOADER := true
-TARGET_RECOVERY_PIXEL_FORMAT := "ABGR_8888"
\ No newline at end of file
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/ril/telephony/java/com/android/internal/telephony/SlteRIL.java b/ril/telephony/java/com/android/internal/telephony/SlteRIL.java
deleted file mode 100644
index 67b916f..0000000
--- a/ril/telephony/java/com/android/internal/telephony/SlteRIL.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * Copyright (c) 2017, The LineageOS Project. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.internal.telephony;
-
-import static com.android.internal.telephony.RILConstants.*;
-
-import android.content.Context;
-import android.telephony.Rlog;
-import android.os.Message;
-import android.os.Parcel;
-import android.os.SystemProperties;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.SignalStrength;
-import android.telephony.SmsManager;
-import com.android.internal.telephony.uicc.IccCardApplicationStatus;
-import com.android.internal.telephony.uicc.IccCardStatus;
-import com.android.internal.telephony.uicc.IccRefreshResponse;
-import com.android.internal.telephony.uicc.IccUtils;
-import java.util.ArrayList;
-import java.util.Collections;
-
-/**
- * RIL customization for Galaxy Alpha (GSM) LTE devices
- *
- * {@hide}
- */
-public class SlteRIL extends RIL {
-
- /**********************************************************
- * SAMSUNG REQUESTS
- **********************************************************/
- static final boolean RILJ_LOGD = true;
- static final boolean RILJ_LOGV = true;
-
- private static final int RIL_REQUEST_DIAL_EMERGENCY_CALL = 10001;
- private static final int RIL_UNSOL_STK_SEND_SMS_RESULT = 11002;
- private static final int RIL_UNSOL_STK_CALL_CONTROL_RESULT = 11003;
-
- private static final int RIL_UNSOL_DEVICE_READY_NOTI = 11008;
- private static final int RIL_UNSOL_AM = 11010;
- private static final int RIL_UNSOL_SIM_PB_READY = 11021;
-
- private static final int RIL_UNSOL_WB_AMR_STATE = 20017;
-
- // Number of per-network elements expected in QUERY_AVAILABLE_NETWORKS's response.
- // 4 elements is default, but many RILs actually return 5, making it impossible to
- // divide the response array without prior knowledge of the number of elements.
- protected int mQANElements = SystemProperties.getInt("ro.ril.telephony.mqanelements", 4);
-
- public SlteRIL(Context context, int preferredNetworkType, int cdmaSubscription) {
- this(context, preferredNetworkType, cdmaSubscription, null);
- }
-
- public SlteRIL(Context context, int preferredNetworkType,
- int cdmaSubscription, Integer instanceId) {
- super(context, preferredNetworkType, cdmaSubscription, instanceId);
- }
-
- public void
- acceptCall(int index, Message result) {
- RILRequest rr =
- RILRequest.obtain(RIL_REQUEST_ANSWER, result);
-
- if (RILJ_LOGD) {
- riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
- }
- rr.mParcel.writeInt(1);
- rr.mParcel.writeInt(index);
-
- send(rr);
- }
-
- @Override
- public void
- acceptCall(Message result) {
- acceptCall(0, result);
- }
-
- /**
- * Translates EF_SMS status bits to a status value compatible with
- * SMS AT commands. See TS 27.005 3.1.
- */
- private int translateStatus(int status) {
- switch(status & 0x7) {
- case SmsManager.STATUS_ON_ICC_READ:
- return 1;
- case SmsManager.STATUS_ON_ICC_UNREAD:
- return 0;
- case SmsManager.STATUS_ON_ICC_SENT:
- return 3;
- case SmsManager.STATUS_ON_ICC_UNSENT:
- return 2;
- }
-
- // Default to READ.
- return 1;
- }
-
- @Override
- public void writeSmsToSim(int status, String smsc, String pdu, Message response) {
- status = translateStatus(status);
-
- RILRequest rr = RILRequest.obtain(RIL_REQUEST_WRITE_SMS_TO_SIM,
- response);
-
- rr.mParcel.writeInt(status);
- rr.mParcel.writeString(pdu);
- rr.mParcel.writeString(smsc);
- rr.mParcel.writeInt(255); /* Samsung */
-
- if (RILJ_LOGV) {
- riljLog(rr.serialString() + "> "
- + requestToString(rr.mRequest)
- + " " + status);
- }
-
- send(rr);
- }
-
- @Override
- public void
- dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
- if (PhoneNumberUtils.isEmergencyNumber(address)) {
- dialEmergencyCall(address, clirMode, result);
- return;
- }
-
- RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result);
-
- rr.mParcel.writeString(address);
- rr.mParcel.writeInt(clirMode);
- rr.mParcel.writeInt(0); // CallDetails.call_type
- rr.mParcel.writeInt(1); // CallDetails.call_domain
- rr.mParcel.writeString(""); // CallDetails.getCsvFromExtras
-
- if (uusInfo == null) {
- rr.mParcel.writeInt(0); // UUS information is absent
- } else {
- rr.mParcel.writeInt(1); // UUS information is present
- rr.mParcel.writeInt(uusInfo.getType());
- rr.mParcel.writeInt(uusInfo.getDcs());
- rr.mParcel.writeByteArray(uusInfo.getUserData());
- }
-
- if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
-
- send(rr);
- }
-
- private void
- dialEmergencyCall(String address, int clirMode, Message result) {
- RILRequest rr;
-
- rr = RILRequest.obtain(RIL_REQUEST_DIAL_EMERGENCY_CALL, result);
- rr.mParcel.writeString(address);
- rr.mParcel.writeInt(clirMode);
- rr.mParcel.writeInt(0); // CallDetails.call_type
- rr.mParcel.writeInt(3); // CallDetails.call_domain
- rr.mParcel.writeString(""); // CallDetails.getCsvFromExtra
- rr.mParcel.writeInt(0); // Unknown
-
- if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
-
- send(rr);
- }
-
- @Override
- protected Object
- responseIccCardStatus(Parcel p) {
- IccCardApplicationStatus appStatus;
-
- IccCardStatus cardStatus = new IccCardStatus();
- cardStatus.setCardState(p.readInt());
- cardStatus.setUniversalPinState(p.readInt());
- cardStatus.mGsmUmtsSubscriptionAppIndex = p.readInt();
- cardStatus.mCdmaSubscriptionAppIndex = p.readInt();
- cardStatus.mImsSubscriptionAppIndex = p.readInt();
- int numApplications = p.readInt();
-
- // limit to maximum allowed applications
- if (numApplications > IccCardStatus.CARD_MAX_APPS) {
- numApplications = IccCardStatus.CARD_MAX_APPS;
- }
- cardStatus.mApplications = new IccCardApplicationStatus[numApplications];
- for (int i = 0 ; i < numApplications ; i++) {
- appStatus = new IccCardApplicationStatus();
- appStatus.app_type = appStatus.AppTypeFromRILInt(p.readInt());
- appStatus.app_state = appStatus.AppStateFromRILInt(p.readInt());
- appStatus.perso_substate = appStatus.PersoSubstateFromRILInt(p.readInt());
- appStatus.aid = p.readString();
- appStatus.app_label = p.readString();
- appStatus.pin1_replaced = p.readInt();
- appStatus.pin1 = appStatus.PinStateFromRILInt(p.readInt());
- appStatus.pin2 = appStatus.PinStateFromRILInt(p.readInt());
- p.readInt(); // pin1_num_retries
- p.readInt(); // puk1_num_retries
- p.readInt(); // pin2_num_retries
- p.readInt(); // puk2_num_retries
- p.readInt(); // perso_unblock_retries
-
- cardStatus.mApplications[i] = appStatus;
- }
- return cardStatus;
- }
-
- @Override
- protected Object
- responseSignalStrength(Parcel p) {
- int numInts = 12;
- int response[];
-
- // Get raw data
- response = new int[numInts];
- for (int i = 0; i < numInts; i++) {
- response[i] = p.readInt();
- }
- // gsm
- response[0] &= 0xff;
- // cdma
- response[2] %= 256;
- response[4] %= 256;
- // lte
- response[7] &= 0xff;
-
- return new SignalStrength(response[0],
- response[1],
- response[2],
- response[3],
- response[4],
- response[5],
- response[6],
- response[7],
- response[8],
- response[9],
- response[10],
- response[11],
- true);
- }
-
- private void constructGsmSendSmsRilRequest(RILRequest rr, String smscPDU, String pdu) {
- rr.mParcel.writeInt(2);
- rr.mParcel.writeString(smscPDU);
- rr.mParcel.writeString(pdu);
- }
-
- /**
- * The RIL can't handle the RIL_REQUEST_SEND_SMS_EXPECT_MORE
- * request properly, so we use RIL_REQUEST_SEND_SMS instead.
- */
- @Override
- public void sendSMSExpectMore(String smscPDU, String pdu, Message result) {
- Rlog.v(RILJ_LOG_TAG, "XMM7260: sendSMSExpectMore");
-
- RILRequest rr = RILRequest.obtain(RIL_REQUEST_SEND_SMS, result);
- constructGsmSendSmsRilRequest(rr, smscPDU, pdu);
-
- if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
-
- send(rr);
- }
-
- // This method is used in the search network functionality.
- // See mobile network setting -> network operators
- @Override
- protected Object
- responseOperatorInfos(Parcel p) {
- String strings[] = (String[])responseStrings(p);
- ArrayList ret;
-
- if (strings.length % mQANElements != 0) {
- throw new RuntimeException("RIL_REQUEST_QUERY_AVAILABLE_NETWORKS: invalid response. Got "
- + strings.length + " strings, expected multiple of " + mQANElements);
- }
-
- ret = new ArrayList(strings.length / mQANElements);
- for (int i = 0 ; i < strings.length ; i += mQANElements) {
- String strOperatorLong = strings[i+0];
- String strOperatorNumeric = strings[i+2];
- String strState = strings[i+3].toLowerCase();
-
- Rlog.v(RILJ_LOG_TAG,
- "XMM7260: Add OperatorInfo: " + strOperatorLong +
- ", " + strOperatorLong +
- ", " + strOperatorNumeric +
- ", " + strState);
-
- ret.add(new OperatorInfo(strOperatorLong, // operatorAlphaLong
- strOperatorLong, // operatorAlphaShort
- strOperatorNumeric, // operatorNumeric
- strState)); // stateString
- }
-
- return ret;
- }
-
- @Override
- protected void
- processUnsolicited(Parcel p, int type) {
- Object ret;
-
- int dataPosition = p.dataPosition();
- int origResponse = p.readInt();
- int newResponse = origResponse;
-
- /* Remap incorrect respones or ignore them */
- switch (origResponse) {
- case 1041: //RIL_UNSOL_DC_RT_INFO_CHANGED
- case RIL_UNSOL_STK_CALL_CONTROL_RESULT:
- case RIL_UNSOL_WB_AMR_STATE:
- case RIL_UNSOL_DEVICE_READY_NOTI: /* Registrant notification */
- case RIL_UNSOL_SIM_PB_READY: /* Registrant notification */
- Rlog.v(RILJ_LOG_TAG,
- "XMM7260: ignoring unsolicited response " +
- origResponse);
- return;
- }
-
- if (newResponse != origResponse) {
- riljLog("SlteRIL: remap unsolicited response from " +
- origResponse + " to " + newResponse);
- p.setDataPosition(dataPosition);
- p.writeInt(newResponse);
- }
-
- switch (newResponse) {
- case RIL_UNSOL_AM:
- ret = responseString(p);
- break;
- case RIL_UNSOL_STK_SEND_SMS_RESULT:
- ret = responseInts(p);
- break;
- default:
- // Rewind the Parcel
- p.setDataPosition(dataPosition);
-
- // Forward responses that we are not overriding to the super class
- super.processUnsolicited(p, type);
- return;
- }
-
- switch (newResponse) {
- case RIL_UNSOL_AM:
- String strAm = (String)ret;
- // Add debug to check if this wants to execute any useful am command
- Rlog.v(RILJ_LOG_TAG, "XMM7260: am=" + strAm);
- break;
- }
- }
-}
diff --git a/rootdir/etc/init.baseband.rc b/rootdir/etc/init.baseband.rc
index 244c152..e212667 100755
--- a/rootdir/etc/init.baseband.rc
+++ b/rootdir/etc/init.baseband.rc
@@ -36,7 +36,7 @@ on fs
#For cpefs partition
mkdir /cpefs 0771 radio system
wait /dev/block/platform/13540000.dwmmc0/by-name/CPEFS
- check_fs /dev/block/platform/13540000.dwmmc0/by-name/CPEFS ext4
+ exec /system/bin/e2fsck -p /dev/block/platform/13540000.dwmmc0/by-name/CPEFS
mount ext4 /dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs noatime nosuid nodev barrier=1
chown radio system /cpefs
chmod 0771 /cpefs
@@ -54,10 +54,8 @@ on property:sys.boot_completed=1
symlink /data/user_de/0/com.android.providers.telephony/databases /data/data/com.android.providers.telephony/databases
symlink /data/user_de/0/com.android.providers.telephony/shared_prefs /data/data/com.android.providers.telephony/shared_prefs
-service cpboot-daemon /sbin/cbd -d -tss310 -bm -mm -P platform/13540000.dwmmc0/by-name/RADIO
+service cpboot-daemon /system/bin/cbd -d -tss310 -bm -mm -P platform/13540000.dwmmc0/by-name/RADIO
class main
user root
group radio cache inet misc audio sdcard_rw log sdcard_r shell
- seclabel u:r:cbd:s0
-
diff --git a/rootdir/etc/init.samsung.rc b/rootdir/etc/init.samsung.rc
index 7b8401a..04c59b4 100644
--- a/rootdir/etc/init.samsung.rc
+++ b/rootdir/etc/init.samsung.rc
@@ -470,38 +470,3 @@ service sensorhubservice /system/bin/sensorhubservice
class main
user system
group input
-
-# for Wi-Fi only models
-on property:ro.radio.noril=yes
- stop ril-daemon
-
-service ril-daemon /system/bin/rild
- class main
- socket rild stream 660 root radio
- socket rild-debug stream 660 radio system
- socket rild-cas stream 660 casdrm mmb
- user root
- seclabel u:r:init:s0
- group radio cache inet misc audio sdcard_r sdcard_rw log vpn system
- onrestart restart cpboot-daemon
-
-service ril-daemon1 /system/bin/rild -c 2
- class main
- socket rild2 stream 660 root radio
- socket rild-debug2 stream 660 radio system
- user root
- group radio cache inet misc audio sdcard_r sdcard_rw log
- seclabel u:r:init:s0
- disabled
- onrestart restart cpboot-daemon
-
-on property:persist.sys.cpboot=disable
- stop ril-daemon
- stop cpboot-daemon
-
-# start multiple rilds based on multisim property
-on property:ro.multisim.simslotcount=2
- stop ril-daemon
- start ril-daemon
- start ril-daemon1
-
diff --git a/rootdir/etc/init.samsungexynos7580.rc b/rootdir/etc/init.samsungexynos7580.rc
index c54f5ce..31b2742 100755
--- a/rootdir/etc/init.samsungexynos7580.rc
+++ b/rootdir/etc/init.samsungexynos7580.rc
@@ -8,7 +8,9 @@ on early-init
mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755
on init
- export LD_SHIM_LIBS "/system/bin/gpsd|libshim_gpsd.so"
+ export LD_SHIM_LIBS "/system/bin/gpsd|/system/vendor/lib/libshim_gpsd.so:/system/lib/libexynoscamera.so|/system/vendor/lib/libcamhelpr.so:/system/lib/libsec-ril.so|/system/lib/libprotobuf-cpp-shim.so:/system/lib/libsec-ril-dsds.so|/system/lib/libprotobuf-cpp-shim.so"
+# export LD_PRELOAD "libshim_gpsd.so libshim_rild.so"
+
mkdir /preload 0771 system system
# See storage config details at http://source.android.com/tech/storage/
@@ -54,6 +56,9 @@ on post-fs-data
mkdir /data/firmware 0770 media system
chown media system /data/firmware
+ # Mark wifi driver as unloaded - "ok" indicates loaded
+ setprop wlan.driver.status not_ok
+
on boot
# Ensure all CPUs are online (big cluster)
write /sys/devices/system/cpu/cpu4/online 1
@@ -170,16 +175,16 @@ on boot
chown system log /proc/sec_log
- chown bluetooth net_bt_stack /dev/ttySAC3
+ chown bluetooth bluetooth /dev/ttySAC3
chmod 0660 /dev/ttySAC3
# permissions for bluetooth.
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
- chown bluetooth net_bt_stack ro.bt.bdaddr_path
- chown radio net_bt_stack /efs/bluetooth/bt_addr
+ chown bluetooth bluetooth ro.bt.bdaddr_path
+ chown radio bluetooth /efs/bluetooth/bt_addr
chmod 0640 /efs/bluetooth/bt_addr
chmod 0660 /sys/class/rfkill/rfkill0/state
- chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
- chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
# IR_LED
chown system radio /sys/class/sec/sec_ir/ir_send
@@ -895,9 +900,10 @@ on property:ro.debug_level=0x4f4c
start watchdogd
-service battery_charger /sbin/healthd -c
+service charger /charger
class charger
- critical
+ critical
+ group system graphics log
seclabel u:r:healthd:s0
# LPM
diff --git a/rootdir/etc/init.wifi.rc b/rootdir/etc/init.wifi.rc
index 6eee763..20a6c1d 100755
--- a/rootdir/etc/init.wifi.rc
+++ b/rootdir/etc/init.wifi.rc
@@ -1,9 +1,9 @@
# Wi-Fi init file
+on post-fs-data
#Create directory for hostapd
mkdir /data/hostapd 0770 system wifi
-
-on post-fs-data
+
# give system access to wpa_supplicant.conf for backup and restore
mkdir /data/misc/wifi 0770 wifi system
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
@@ -32,26 +32,39 @@ on post-fs-data
mkdir /efs/wifi 0775 radio system
chown system wifi /efs/wifi/.mac.info
chmod 0660 /efs/wifi/.mac.info
+ start macloader
+ # Create netmgr log dir
+ mkdir /data/vendor/netmgr 0770 radio radio
+ chmod 0770 /data/vendor/netmgr
+
+ # Create directory for radio
+ mkdir /data/vendor/radio 0770 system radio
on boot
# Pcie WiFi T-put setting
write /sys/class/net/wlan0/queues/rx-0/rps_cpus 00
#write /proc/sys/net/ipv4/tcp_adv_win_scale 2
+ # Set permissions for firmware path control
+ chown wifi wifi /sys/module/dhd/parameters/firmware_path
# Run deferred initcalls of builtin kernel modules (bcmdhd)
service wifiloader /system/bin/wifiloader
class main
- seclabel u:r:wifiloader:s0
oneshot
-service p2p_supplicant /system/bin/wpa_supplicant -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -I/system/etc/wifi/p2p_supplicant_overlay.conf -puse_p2p_group_interface=1p2p_device=1 -m/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
+service netmgrd /system/bin/netmgrd
class main
- socket wpa_wlan0 dgram 660 wifi wifi
- disabled
- oneshot
-
-service wpa_supplicant /system/bin/wpa_supplicant -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -I/system/etc/wifi/wpa_supplicant_overlay.conf -O/data/misc/wifi/sockets -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
+ user root
+ group root wifi wakelock radio inet
+
+service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
+ -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
+ -I/system/etc/wifi/p2p_supplicant_overlay.conf \
+ -puse_p2p_group_interface=1 \
+ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
@@ -73,11 +86,9 @@ on property:init.svc.macloader=stopped
# disabled
# oneshot
-service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf
+service hostapd /vendor/bin/hostapd -dddd /data/hostapd/hostapd.conf
class late_start
user root
group root
oneshot
disabled
-
-
diff --git a/rootdir/etc/twrp.fstab b/rootdir/etc/twrp.fstab
deleted file mode 100644
index 05b5908..0000000
--- a/rootdir/etc/twrp.fstab
+++ /dev/null
@@ -1,11 +0,0 @@
-/cache ext4 /dev/block/platform/13540000.dwmmc0/by-name/CACHE flags=display="Cache"
-/data ext4 /dev/block/platform/13540000.dwmmc0/by-name/USERDATA flags=display="Data";encryptable=footer;length=-16384
-/system ext4 /dev/block/platform/13540000.dwmmc0/by-name/SYSTEM flags=display="System"
-/boot emmc /dev/block/platform/13540000.dwmmc0/by-name/BOOT flags=display="Boot"
-/recovery emmc /dev/block/platform/13540000.dwmmc0/by-name/RECOVERY flags=display="Recovery";backup=1
-/efs ext4 /dev/block/platform/13540000.dwmmc0/by-name/EFS flags=display="EFS";backup=1
-/radio ext4 /dev/block/platform/13540000.dwmmc0/by-name/RADIO flags=display="RADIO";backup=1
-/misc emmc /dev/block/platform/13540000.dwmmc0/by-name/OTA flags=display="Misc"
-
-/external_sd auto /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="MicroSD";storage;wipeingui;removable
-/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB OTG";storage;wipeingui;removable
diff --git a/rootdir/etc/ueventd.samsungexynos7580.rc b/rootdir/etc/ueventd.samsungexynos7580.rc
index 1bf6972..df4c669 100644
--- a/rootdir/etc/ueventd.samsungexynos7580.rc
+++ b/rootdir/etc/ueventd.samsungexynos7580.rc
@@ -59,10 +59,10 @@
/dev/HPD 0660 system system
# mfc
-/dev/video6 0660 media drmrpc
-/dev/video7 0660 media media
-/dev/video8 0660 media media
-/dev/video9 0660 media media
+/dev/video6 0660 mediacodec mediadrm
+/dev/video7 0660 media mediadrm
+/dev/video8 0660 media mediadrm
+/dev/video9 0660 media mediadrm
# camera
/dev/video100 0660 media media
diff --git a/rootdir/etc/vendor/rild-dsds.rc b/rootdir/etc/vendor/rild-dsds.rc
new file mode 100644
index 0000000..db97f70
--- /dev/null
+++ b/rootdir/etc/vendor/rild-dsds.rc
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2017 Victor Lourme
+# Copyright (C) 2017 TeamNexus
+#
+# Radio Interface Layer for Dual-SIM
+# Ramdisk Init
+#
+
+# Radio daemon for SIM 2
+service ril-daemon1 /vendor/bin/hw/rild -c 2 -l /system/lib/libsec-ril-dsds.so
+ class main
+ socket rild2 stream 660 system radio
+ socket rild-debug2 stream 660 system radio
+ user radio
+ group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
+ capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
+ onrestart restart cpboot-daemon
+
+on property:persist.sys.cpboot=disable
+ stop ril-daemon1
+
+on property:ro.radio.noril=1
+ stop ril-daemon1
+
diff --git a/rootdir/etc/vendor/rild.rc b/rootdir/etc/vendor/rild.rc
new file mode 100644
index 0000000..54f61cf
--- /dev/null
+++ b/rootdir/etc/vendor/rild.rc
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2017 Victor Lourme
+#
+# Radio Interface Layer
+# Ramdisk Init
+#
+
+# Dual-SIM Support
+import /vendor/etc/init/rild-dsds.rc
+
+# Radio daemon for SIM 1
+service ril-daemon /vendor/bin/hw/rild -c 1 -l /system/lib/libsec-ril.so
+ class main
+ socket rild stream 660 system radio
+ socket sap_uim_socket1 stream 660 bluetooth bluetooth
+ socket rild-debug stream 660 system radio
+ user radio
+ group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
+ capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
+ onrestart restart cpboot-daemon
+
+on property:persist.sys.cpboot=disable
+ stop ril-daemon
+ stop cpboot-daemon
diff --git a/sbin/sswap b/sbin/sswap
new file mode 100644
index 0000000..2c4b811
Binary files /dev/null and b/sbin/sswap differ
diff --git a/system.prop b/system.prop
index fe347da..09d7310 100644
--- a/system.prop
+++ b/system.prop
@@ -37,12 +37,26 @@ persist.radio.sib16_support=0
rild.libpath=/system/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.telephony.default_network=9
-ro.telephony.ril_class=SlteRIL
ro.use_data_netmgrd=false
persist.data.netmgrd.qos.enable=false
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.smps.enable=true
+persist.data.netmgrd.qos.enable=false
+ro.use_data_netmgrd=false
+ro.telephony.get_imsi_from_sim=true \
+ro.ril.force_eri_from_xml=true \
+net.tethering.noprovisioning=true
# Wi-Fi Tethering
net.tethering.noprovisioning=true
+
+ro.secure=0
+ro.adb.secure=0
+ro.hardware=universal7580
+persist.service.adb.enable=1
+persist.service.debuggable=1
+persist.sys.usb.config=adb
+ro.securestorage.support=false
+net.tcp.default_init_rwnd=60
+ro.sys.sdcardfs=false
diff --git a/system_prop.mk b/system_prop.mk
new file mode 100644
index 0000000..1b25613
--- /dev/null
+++ b/system_prop.mk
@@ -0,0 +1,68 @@
+# Properties
+# Default.prop overrides to get adb working at boot
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.secure=0 \
+ ro.adb.secure=0 \
+ ro.hardware=universal7580 \
+ persist.service.adb.enable=1 \
+ persist.service.debuggable=1 \
+ persist.sys.usb.config=adb \
+ ro.securestorage.support=false \
+ persist.media.treble_omx=false
+
+# Dalvik/Art
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.sys.fw.dex2oat_thread_count=4 \
+ dalvik.vm.heapstartsize=8m \
+ dalvik.vm.heapgrowthlimit=256m \
+ dalvik.vm.heapsize=512m \
+ dalvik.vm.heaptargetutilization=0.75 \
+ dalvik.vm.heapminfree=2m \
+ dalvik.vm.heapmaxfree=8m
+
+# Hwui
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.hwui.texture_cache_size=88 \
+ ro.hwui.layer_cache_size=58 \
+ ro.hwui.path_cache_size=16 \
+ ro.hwui.texture_cache_flushrate=0.4 \
+ ro.hwui.shape_cache_size=4 \
+ ro.hwui.gradient_cache_size=2 \
+ ro.hwui.drop_shadow_cache_size=6 \
+ ro.hwui.r_buffer_cache_size=8 \
+ ro.hwui.text_small_cache_width=1024 \
+ ro.hwui.text_small_cache_height=1024 \
+ ro.hwui.text_large_cache_width=4096 \
+ ro.hwui.text_large_cache_height=2048 \
+ ro.hwui.fbo_cache_size=16
+
+# Network
+# Define default initial receive window size in segments.
+PRODUCT_PROPERTY_OVERRIDES += \
+ net.tcp.default_init_rwnd=60
+
+# sdcardfs
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.sys.sdcardfs=false
+
+# Allows healthd to boot directly from charger mode rather than initiating a reboot.
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.enable_boot_charger_mode=1
+
+# Radio Properties
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.radio.add_power_save=1 \
+ persist.radio.apm_sim_not_pwdn=1 \
+ telephony.lteOnGsmDevice=1 \
+ telephony.lteOnCdmaDevice=0 \
+ ro.telephony.default_network=9 \
+ ro.use_data_netmgrd=false \
+ persist.data.netmgrd.qos.enable=false \
+ ro.ril.hsxpa=1 \
+ ro.ril.telephony.mqanelements=6 \
+ ro.ril.gprsclass=10 \
+ ro.telephony.get_imsi_from_sim=true \
+ ro.ril.force_eri_from_xml=true \
+ net.tethering.noprovisioning=true
+
+ADDITIONAL_DEFAULT_PROPERTIES += $(PRODUCT_PROPERTY_OVERRIDES)