universal7885: Add other 7885 devices

* A10, A30, A40

Change-Id: I92829c4d3b11e2759f08ef04fe4d4d60ff352a0b
Signed-off-by: roynatech2544 <whiteshell2544@naver.com>
This commit is contained in:
roynatech2544 2021-12-01 22:34:21 +09:00
commit eaab77ceff
No known key found for this signature in database
GPG key ID: 9675C32163D88D30
30 changed files with 680 additions and 34 deletions

17
a10/BoardConfig.mk Normal file
View file

@ -0,0 +1,17 @@
DEVICE_PATH := device/samsung/a10
# Asserts
TARGET_OTA_ASSERT_DEVICE := a10,a10dd
# Kernel
TARGET_KERNEL_CONFIG := exynos7885-a10_enforcing_defconfig
# Display
TARGET_SCREEN_DENSITY := 320
# Partitions
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 55574528 # 55MB
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4320133120 #4.02GB
# Inherit common board flags
include device/samsung/universal7885-common/BoardConfigCommon.mk

9
a10/device.mk Normal file
View file

@ -0,0 +1,9 @@
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# Inherit common device configuration
$(call inherit-product, device/samsung/universal7885-common/universal7885-common.mk)
$(call inherit-product, vendor/samsung/a10/a10-vendor.mk)
PRODUCT_PACKAGES += \
CameraLightSensor

19
a10/full_a10.mk Normal file
View file

@ -0,0 +1,19 @@
# Copyright (C) 2018 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit device configuration
$(call inherit-product, device/samsung/a10/device.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a10
PRODUCT_NAME := full_a10
PRODUCT_MODEL := SM-A105F
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_dozeAlwaysOnDisplayAvailable">false</bool>
<bool name="config_displayBlanksAfterDoze">true</bool>
<bool name="config_dozePulsePickup">false</bool>
<string name="config_mainBuiltInDisplayCutout">M62,0l-3.8,0l-3.9,0.2l-3.9,0.4l-4,0.8l-3.9,1.2l-3.8,1.6l-3.7,2l-3.4,2.4l-3.1,2.8l-2.9,3l-2.7,3.1l-2.6,3.1 l-2.7,2.8C12.5,28,6.2,30.3,0,30.3c-6.3,0-12.5-2.3-17.5-6.8l-2.7-2.8l-2.6-3.1l-2.7-3.1l-2.9-3l-3.2-2.8 L-35,6.2l-3.7-2l-3.8-1.6l-3.9-1.2l-4-0.8L-54.3,0.2L-58.2,0L-62,0Z @dp</string>
<bool name="config_supportDoubleTapWake">false</bool>
<bool name="config_enableBurnInProtection">false</bool>
<bool name="config_allowAutoBrightnessWhileDozing">true</bool>
</resources>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="status_bar_height_landscape">24.0dip</dimen>
<dimen name="status_bar_height_portrait">31.0dip</dimen>
<dimen name="rounded_corner_radius">40px</dimen>
</resources>

View file

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">93</item>
<item name="screen.full">313</item>
<item name="bluetooth.active">118</item>
<item name="bluetooth.on">0.98</item>
<item name="wifi.on">0.43</item>
<item name="wifi.active">488</item>
<item name="wifi.scan">502</item>
<item name="dsp.audio">45</item>
<item name="dsp.video">286</item>
<item name="camera.flashlight">124</item>
<item name="camera.avg">662</item>
<item name="gps.on">32</item>
<item name="radio.active">164</item>
<item name="radio.scanning">115</item>
<array name="radio.on">
<value>7.3</value>
<value>7.3</value>
</array>
<array name="cpu.clusters.cores">
<value>6</value>
<value>2</value>
</array>
<array name="cpu.speeds.cluster0">
<value>1586000</value>
<value>1482000</value>
<value>1352000</value>
<value>1248000</value>
<value>1144000</value>
<value>1014000</value>
<value>902000</value>
<value>839000</value>
<value>757000</value>
<value>676000</value>
<value>546000</value>
<value>449000</value>
</array>
<array name="cpu.active.cluster0">
<value>50</value>
<value>43</value>
<value>34</value>
<value>28</value>
<value>24</value>
<value>18</value>
<value>15</value>
<value>13</value>
<value>11</value>
<value>10</value>
<value>7</value>
<value>6</value>
</array>
<array name="cpu.speeds.cluster1">
<value>1768000</value>
<value>1664000</value>
<value>1560000</value>
<value>1352000</value>
<value>1144000</value>
<value>936000</value>
</array>
<array name="cpu.active.cluster1">
<value>162</value>
<value>142</value>
<value>120</value>
<value>87</value>
<value>61</value>
<value>41</value>
</array>
<item name="cpu.idle">3.79</item>
<item name="cpu.awake">23</item>
<item name="battery.capacity">2900</item>
<item name="wifi.controller.idle">1</item>
<item name="wifi.controller.rx">65</item>
<item name="wifi.controller.tx">265</item>
<array name="wifi.controller.tx_levels">
<value>0</value>
</array>
<item name="wifi.controller.voltage">3600</item>
<array name="wifi.batchedscan">
<value>.0002</value>
<value>.002</value>
<value>.02</value>
<value>.2</value>
<value>2</value>
</array>
</device>

22
a10/setup.sh Executable file
View file

@ -0,0 +1,22 @@
VENDOR=$(cat device/samsung/universal7885-common/vendor_name)
if [ ! $VENDOR ]; then
VENDOR=aosp;
fi
# Generate AndroidProducts.mk
echo "# Auto-Generated by device/samsung/a10/setup.sh" > device/samsung/a10/AndroidProducts.mk
echo "PRODUCT_MAKEFILES += \$(LOCAL_DIR)/"$VENDOR"_a10.mk" >> device/samsung/a10/AndroidProducts.mk
# Generate <vendor>_a10.mk
echo "# Auto-Generated by device/samsung/a10/setup.sh" > device/samsung/a10/"$VENDOR"_a10.mk
echo "\$(call inherit-product, device/samsung/a10/full_a10.mk)" >> device/samsung/a10/"$VENDOR"_a10.mk
if test -f vendor/"$VENDOR"/config/common_full_phone.mk && echo "common_full_phone"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common_full_phone.mk)" >> device/samsung/a10/"$VENDOR"_a10.mk
elif test -f vendor/"$VENDOR"/config/common.mk && echo "common"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common.mk)" >> device/samsung/a10/"$VENDOR"_a10.mk
fi
echo "PRODUCT_NAME := "$VENDOR"_a10" >> device/samsung/a10/"$VENDOR"_a10.mk
echo "" >> device/samsung/a10/"$VENDOR"_a10.mk
echo "# Additional Props" >> device/samsung/a10/"$VENDOR"_a10.mk
echo "TARGET_FACE_UNLOCK_SUPPORTED := true" >> device/samsung/a10/"$VENDOR"_a10.mk
echo "TARGET_BOOT_ANIMATION_RES := 720" >> device/samsung/a10/"$VENDOR"_a10.mk

View file

@ -1,7 +0,0 @@
# Auto-Generated by device/samsung/a20/setup.sh
$(call inherit-product, device/samsung/a20/full_a20.mk)
$(call inherit-product, vendor/derp/config/common_full_phone.mk)
PRODUCT_NAME := derp_a20
# Additional Props
TARGET_FACE_UNLOCK_SUPPORTED := true
TARGET_BOOT_ANIMATION_RES := 720

View file

@ -5,9 +5,8 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a20/a20-vendor.mk)
# Image
#TARGET_PREBUILT_KERNEL := device/samsung/a20e/Image
#PRODUCT_COPY_FILES += \
$(TARGET_PREBUILT_KERNEL):kernel
# Derp
DERP_BUILDTYPE := Official
PRODUCT_PACKAGES += \
CameraLightSensor

View file

@ -1,8 +0,0 @@
# Auto-Generated by device/samsung/a20e/setup.sh
$(call inherit-product, device/samsung/a20e/full_a20e.mk)
$(call inherit-product, vendor/derp/config/common_full_phone.mk)
PRODUCT_NAME := derp_a20e
# Additional Props
TARGET_FACE_UNLOCK_SUPPORTED := true
TARGET_BOOT_ANIMATION_RES := 720

View file

@ -5,8 +5,8 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a20e/a20e-vendor.mk)
# Image
#TARGET_PREBUILT_KERNEL := device/samsung/a20e/Image
#PRODUCT_COPY_FILES += \
$(TARGET_PREBUILT_KERNEL):kernel
# Derp
DERP_BUILDTYPE := Official
PRODUCT_PACKAGES += \
CameraLightSensor

17
a30/BoardConfig.mk Normal file
View file

@ -0,0 +1,17 @@
DEVICE_PATH := device/samsung/a30
# Asserts
TARGET_OTA_ASSERT_DEVICE := a30,a30dd
# Kernel
TARGET_KERNEL_CONFIG := exynos7885-a30_enforcing_defconfig
# Display
TARGET_SCREEN_DENSITY := 411
# Partitions
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 55574528 # 55MB
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4320133120 #4.02GB
# Inherit common board flags
include device/samsung/universal7885-common/BoardConfigCommon.mk

8
a30/device.mk Normal file
View file

@ -0,0 +1,8 @@
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# Inherit common device configuration
$(call inherit-product, device/samsung/universal7885-common/universal7885-common.mk)
$(call inherit-product, vendor/samsung/a30/a30-vendor.mk)

18
a30/full_a30.mk Normal file
View file

@ -0,0 +1,18 @@
# Copyright (C) 2018 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit device configuration
$(call inherit-product, device/samsung/a30/device.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a30
PRODUCT_NAME := full_a30
PRODUCT_MODEL := SM-A305F
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<resources>
<!-- The bounding path of the cutout region of the main built-in display.
Must either be empty if there is no cutout region, or a string that is parsable by
{@link android.util.PathParser}.
The path is assumed to be specified in display coordinates with pixel units and in
the display's native orientation, with the origin of the coordinate system at the
center top of the display.
To facilitate writing device-independent emulation overlays, the marker `@dp` can be
appended after the path string to interpret coordinates in dp instead of px units.
Note that a physical cutout should be configured in pixels for the best results.
Example for a 10px x 10px square top-center cutout:
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
Example for a 10dp x 10dp square top-center cutout:
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
@see https://www.w3.org/TR/SVG/paths.html#PathData
-->
<string translatable="false" name="config_mainBuiltInDisplayCutout">M 0,0 H -67.42857142857143 V 30.85714285714286 H 67.42857142857143 V 0 H 0 Z @dp</string>
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">@*android:string/config_mainBuiltInDisplayCutout</string>
<!-- If supported, are dreams enabled? (by default) -->
<bool name="config_dreamsEnabledByDefault">false</bool>
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<bool name="config_displayBlanksAfterDoze">false</bool>
<bool name="config_dozePulsePickup">false</bool>
<bool name="config_supportDoubleTapWake">true</bool>
<bool name="config_enableBurnInProtection">true</bool>
<bool name="config_dozeAfterScreenOffByDefault">true</bool>
<bool name="config_allowAutoBrightnessWhileDozing">true</bool>
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
and Strength as defined in Authenticators.java -->
<string-array name="config_biometric_sensors" translatable="false" >
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
<!-- For performance and storage reasons, limit the number of fingerprints per user -->
<integer name="config_fingerprintMaxTemplatesPerUser">4</integer>
<!-- Specify if the fingerprint hardware support gestures-->
<bool name="config_fingerprintSupportsGestures">true</bool>
<!-- True if the device supports system navigation keys. -->
<bool name="config_supportSystemNavigationKeys">true</bool>
<!-- Limit for the number of face templates per user -->
<integer name="config_faceMaxTemplatesPerUser">2</integer>
</resources>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Height of the status bar in landscape. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_landscape">24.0dip</dimen>
<!-- Height of the status bar in portrait. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_portrait">31.0dip</dimen>
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">40px</dimen>
</resources>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">93</item>
<item name="screen.full">313</item>
<item name="bluetooth.active">118</item>
<item name="bluetooth.on">0.98</item>
<item name="wifi.on">0.43</item>
<item name="wifi.active">488</item>
<item name="wifi.scan">502</item>
<item name="dsp.audio">45</item>
<item name="dsp.video">286</item>
<item name="camera.flashlight">124</item>
<item name="camera.avg">662</item>
<item name="gps.on">32</item>
<item name="radio.active">164</item>
<item name="radio.scanning">115</item>
<array name="radio.on">
<value>7.3</value>
<value>7.3</value>
</array>
<array name="cpu.clusters.cores">
<value>6</value>
<value>2</value>
</array>
<array name="cpu.speeds.cluster0">
<value>1586000</value>
<value>1482000</value>
<value>1352000</value>
<value>1248000</value>
<value>1144000</value>
<value>1014000</value>
<value>902000</value>
<value>839000</value>
<value>757000</value>
<value>676000</value>
<value>546000</value>
<value>449000</value>
</array>
<array name="cpu.active.cluster0">
<value>50</value>
<value>43</value>
<value>34</value>
<value>28</value>
<value>24</value>
<value>18</value>
<value>15</value>
<value>13</value>
<value>11</value>
<value>10</value>
<value>7</value>
<value>6</value>
</array>
<array name="cpu.speeds.cluster1">
<value>1768000</value>
<value>1664000</value>
<value>1560000</value>
<value>1352000</value>
<value>1144000</value>
<value>936000</value>
</array>
<array name="cpu.active.cluster1">
<value>162</value>
<value>142</value>
<value>120</value>
<value>87</value>
<value>61</value>
<value>41</value>
</array>
<item name="cpu.idle">3.79</item>
<item name="cpu.awake">23</item>
<item name="battery.capacity">4000</item>
<item name="battery.typical.capacity">4000</item>
<item name="wifi.controller.idle">1</item>
<item name="wifi.controller.rx">65</item>
<item name="wifi.controller.tx">265</item>
<array name="wifi.controller.tx_levels">
<value>0</value>
</array>
<item name="wifi.controller.voltage">3600</item>
<array name="wifi.batchedscan">
<value>.0002</value>
<value>.002</value>
<value>.02</value>
<value>.2</value>
<value>2</value>
</array>
</device>

22
a30/setup.sh Executable file
View file

@ -0,0 +1,22 @@
VENDOR=$(cat device/samsung/universal7885-common/vendor_name)
if [ ! $VENDOR ]; then
VENDOR=aosp;
fi
# Generate AndroidProducts.mk
echo "# Auto-Generated by device/samsung/a30/setup.sh" > device/samsung/a30/AndroidProducts.mk
echo "PRODUCT_MAKEFILES += \$(LOCAL_DIR)/"$VENDOR"_a30.mk" >> device/samsung/a30/AndroidProducts.mk
# Generate <vendor>_a30.mk
echo "# Auto-Generated by device/samsung/a30/setup.sh" > device/samsung/a30/"$VENDOR"_a30.mk
echo "\$(call inherit-product, device/samsung/a30/full_a30.mk)" >> device/samsung/a30/"$VENDOR"_a30.mk
if test -f vendor/"$VENDOR"/config/common_full_phone.mk && echo "common_full_phone"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common_full_phone.mk)" >> device/samsung/a30/"$VENDOR"_a30.mk
elif test -f vendor/"$VENDOR"/config/common.mk && echo "common"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common.mk)" >> device/samsung/a30/"$VENDOR"_a30.mk
fi
echo "PRODUCT_NAME := "$VENDOR"_a30" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "# Additional Props" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "TARGET_FACE_UNLOCK_SUPPORTED := true" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "TARGET_BOOT_ANIMATION_RES := 720" >> device/samsung/a30/"$VENDOR"_a30.mk

17
a40/BoardConfig.mk Normal file
View file

@ -0,0 +1,17 @@
DEVICE_PATH := device/samsung/a40
# Asserts
TARGET_OTA_ASSERT_DEVICE := a40,a40dd
# Kernel
TARGET_KERNEL_CONFIG := exynos7885-a40_enforcing_defconfig
# Display
TARGET_SCREEN_DENSITY := 411
# Partitions
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 55574528 # 55MB
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4320133120 #4.02GB
# Inherit common board flags
include device/samsung/universal7885-common/BoardConfigCommon.mk

9
a40/device.mk Normal file
View file

@ -0,0 +1,9 @@
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# Inherit common device configuration
$(call inherit-product, device/samsung/universal7885-common/universal7885-common.mk)
$(call inherit-product, vendor/samsung/a40/a40-vendor.mk)

18
a40/full_a40.mk Normal file
View file

@ -0,0 +1,18 @@
# Copyright (C) 2018 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit device configuration
$(call inherit-product, device/samsung/a40/device.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := a40
PRODUCT_NAME := full_a40
PRODUCT_MODEL := SM-A405F
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<resources>
<!-- The bounding path of the cutout region of the main built-in display.
Must either be empty if there is no cutout region, or a string that is parsable by
{@link android.util.PathParser}.
The path is assumed to be specified in display coordinates with pixel units and in
the display's native orientation, with the origin of the coordinate system at the
center top of the display.
To facilitate writing device-independent emulation overlays, the marker `@dp` can be
appended after the path string to interpret coordinates in dp instead of px units.
Note that a physical cutout should be configured in pixels for the best results.
Example for a 10px x 10px square top-center cutout:
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
Example for a 10dp x 10dp square top-center cutout:
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
@see https://www.w3.org/TR/SVG/paths.html#PathData
-->
<string translatable="false" name="config_mainBuiltInDisplayCutout">M 0,0 H -67.42857142857143 V 30.85714285714286 H 67.42857142857143 V 0 H 0 Z @dp</string>
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">@*android:string/config_mainBuiltInDisplayCutout</string>
<!-- If supported, are dreams enabled? (by default) -->
<bool name="config_dreamsEnabledByDefault">false</bool>
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<bool name="config_displayBlanksAfterDoze">false</bool>
<bool name="config_dozePulsePickup">false</bool>
<bool name="config_supportDoubleTapWake">true</bool>
<bool name="config_enableBurnInProtection">true</bool>
<bool name="config_dozeAfterScreenOffByDefault">true</bool>
<bool name="config_allowAutoBrightnessWhileDozing">true</bool>
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
and Strength as defined in Authenticators.java -->
<string-array name="config_biometric_sensors" translatable="false" >
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
<!-- For performance and storage reasons, limit the number of fingerprints per user -->
<integer name="config_fingerprintMaxTemplatesPerUser">4</integer>
<!-- Specify if the fingerprint hardware support gestures-->
<bool name="config_fingerprintSupportsGestures">true</bool>
<!-- True if the device supports system navigation keys. -->
<bool name="config_supportSystemNavigationKeys">true</bool>
<!-- Limit for the number of face templates per user -->
<integer name="config_faceMaxTemplatesPerUser">2</integer>
</resources>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Height of the status bar in landscape. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_landscape">24.0dip</dimen>
<!-- Height of the status bar in portrait. The height should be
Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_portrait">31.0dip</dimen>
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">40px</dimen>
</resources>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on">93</item>
<item name="screen.full">313</item>
<item name="bluetooth.active">118</item>
<item name="bluetooth.on">0.98</item>
<item name="wifi.on">0.43</item>
<item name="wifi.active">488</item>
<item name="wifi.scan">502</item>
<item name="dsp.audio">45</item>
<item name="dsp.video">286</item>
<item name="camera.flashlight">124</item>
<item name="camera.avg">662</item>
<item name="gps.on">32</item>
<item name="radio.active">164</item>
<item name="radio.scanning">115</item>
<array name="radio.on">
<value>7.3</value>
<value>7.3</value>
</array>
<array name="cpu.clusters.cores">
<value>6</value>
<value>2</value>
</array>
<array name="cpu.speeds.cluster0">
<value>1586000</value>
<value>1482000</value>
<value>1352000</value>
<value>1248000</value>
<value>1144000</value>
<value>1014000</value>
<value>902000</value>
<value>839000</value>
<value>757000</value>
<value>676000</value>
<value>546000</value>
<value>449000</value>
</array>
<array name="cpu.active.cluster0">
<value>50</value>
<value>43</value>
<value>34</value>
<value>28</value>
<value>24</value>
<value>18</value>
<value>15</value>
<value>13</value>
<value>11</value>
<value>10</value>
<value>7</value>
<value>6</value>
</array>
<array name="cpu.speeds.cluster1">
<value>1768000</value>
<value>1664000</value>
<value>1560000</value>
<value>1352000</value>
<value>1144000</value>
<value>936000</value>
</array>
<array name="cpu.active.cluster1">
<value>162</value>
<value>142</value>
<value>120</value>
<value>87</value>
<value>61</value>
<value>41</value>
</array>
<item name="cpu.idle">3.79</item>
<item name="cpu.awake">23</item>
<item name="battery.capacity">4000</item>
<item name="battery.typical.capacity">4000</item>
<item name="wifi.controller.idle">1</item>
<item name="wifi.controller.rx">65</item>
<item name="wifi.controller.tx">265</item>
<array name="wifi.controller.tx_levels">
<value>0</value>
</array>
<item name="wifi.controller.voltage">3600</item>
<array name="wifi.batchedscan">
<value>.0002</value>
<value>.002</value>
<value>.02</value>
<value>.2</value>
<value>2</value>
</array>
</device>

22
a40/setup.sh Executable file
View file

@ -0,0 +1,22 @@
VENDOR=$(cat device/samsung/universal7885-common/vendor_name)
if [ ! $VENDOR ]; then
VENDOR=aosp;
fi
# Generate AndroidProducts.mk
echo "# Auto-Generated by device/samsung/a40/setup.sh" > device/samsung/a40/AndroidProducts.mk
echo "PRODUCT_MAKEFILES += \$(LOCAL_DIR)/"$VENDOR"_a40.mk" >> device/samsung/a40/AndroidProducts.mk
# Generate <vendor>_a40.mk
echo "# Auto-Generated by device/samsung/a40/setup.sh" > device/samsung/a40/"$VENDOR"_a40.mk
echo "\$(call inherit-product, device/samsung/a40/full_a40.mk)" >> device/samsung/a40/"$VENDOR"_a40.mk
if test -f vendor/"$VENDOR"/config/common_full_phone.mk && echo "common_full_phone"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common_full_phone.mk)" >> device/samsung/a40/"$VENDOR"_a40.mk
elif test -f vendor/"$VENDOR"/config/common.mk && echo "common"; then
echo "\$(call inherit-product, vendor/"$VENDOR"/config/common.mk)" >> device/samsung/a40/"$VENDOR"_a40.mk
fi
echo "PRODUCT_NAME := "$VENDOR"_a40" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "# Additional Props" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "TARGET_FACE_UNLOCK_SUPPORTED := true" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "TARGET_BOOT_ANIMATION_RES := 720" >> device/samsung/a40/"$VENDOR"_a40.mk

View file

@ -11,13 +11,17 @@ static inline const char* BtmGetDefaultName()
char product_device[PROPERTY_VALUE_MAX];
property_get("ro.product.device", product_device, "");
if (strstr(product_device, "a10"))
return "Galaxy A10";
if (strstr(product_device, "a20e"))
return "Galaxy A20e";
if (strstr(product_device, "a20"))
return "Galaxy A20";
// Fallback to Moto SDM Generic
if (strstr(product_device, "a30"))
return "Galaxy A30";
if (strstr(product_device, "a40"))
return "Galaxy A40";
// Fallback to Generic
return "Samsung Galaxy";
}

View file

@ -148,6 +148,7 @@
/dev/fimg2d u:object_r:video_device:s0
/dev/sec-nfc u:object_r:nfc_device:s0
/dev/esfp0 u:object_r:goodix_device:s0
/dev/goodix_fp u:object_r:goodix_device:s0
/dev/gnss_ipc u:object_r:gps_device:s0
/dev/scsc_h4_0 u:object_r:bt_device:s0
/dev/cpuset(/.*)? u:object_r:cgroup:s0

View file

@ -103,6 +103,9 @@ genfscon sysfs /devices/virtual/input/input10/enable
genfscon sysfs /devices/virtual/input/input2/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input3/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input4/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input5/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input6/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input7/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input8/poll_delay u:object_r:sysfs_input_writable:s0
genfscon sysfs /devices/virtual/input/input9/poll_delay u:object_r:sysfs_input_writable:s0
# A20e GPIO
@ -115,12 +118,20 @@ genfscon sysfs /devices/platform/10000.mif_pdata/sim/ds_detect
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-5/5-0000/s2mpu08-rtc/rtc u:object_r:sysfs_rtc:s0
# A20 RTC
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-6/6-0000/s2mpu08-rtc/rtc u:object_r:sysfs_rtc:s0
# A40 RTC
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-7/7-0000/s2mpu08-rtc/rtc u:object_r:sysfs_rtc:s0
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-6/6-0000/s2mpu08-rtc/rtc u:object_r:sysfs_rtc:s0
# A20e Display
genfscon sysfs /devices/platform/13870000.i2c/i2c-11/11-0048/input/ u:object_r:sysfs_touchscreen_writable:s0
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-5/5-0003/input/input11 u:object_r:sysfs_touchscreen_writable:s0
# A20 Display
genfscon sysfs /devices/platform/13870000.i2c/i2c-11/11-0020/input/ u:object_r:sysfs_touchscreen_writable:s0
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-6/6-0003/input/input12 u:object_r:sysfs_touchscreen_writable:s0
# A40 Display
genfscon sysfs /devices/platform/11ce0000.speedy/i2c-7/7-0003/input/input11 u:object_r:sysfs_touchscreen_writable:s0
genfscon sysfs /devices/platform/13930000.hsi2c/i2c-5/5-0048/input/ u:object_r:sysfs_touchscreen_writable:s0
genfscon sysfs /devices/platform/14870000.dsim/backlight/panel u:object_r:sysfs_graphics:s0
genfscon sysfs /devices/platform/14a50000.abox/service u:object_r:sysfs_abox_writable:s0
genfscon sysfs /devices/platform/14860000.decon_f u:object_r:sysfs_decon:s0
@ -144,6 +155,11 @@ genfscon sysfs /devices/platform/battery/power_supply/wireless/type
genfscon sysfs /devices/platform/battery/power_supply/ps/type u:object_r:sysfs_battery_writable:s0
genfscon sysfs /devices/platform/battery/power_supply/ps/status u:object_r:sysfs_battery_writable:s0
# S2MU005 CHARGER (A10)
genfscon sysfs /devices/platform/13840000.i2c/i2c-9/9-003d/s2mu004-charger/power_supply/s2mu004-charger u:object_r:sysfs_charger:s0
genfscon sysfs /devices/platform/13840000.i2c/i2c-9/9-003d/s2mu004-muic/power_supply/muic-manager u:object_r:sysfs_charger:s0
genfscon sysfs /devices/platform/13840000.i2c/i2c-9/9-003d/s2mu004-charger/power_supply/otg u:object_r:sysfs_charger:s0
# S2MU106 CHARGER (A20e)
genfscon sysfs /devices/platform/13840000.i2c/i2c-8/8-003d/s2mu106-powermeter/power_supply/s2mu106_pmeter u:object_r:sysfs_charger:s0
genfscon sysfs /devices/platform/13840000.i2c/i2c-8/8-003d/s2mu106-muic/power_supply/muic-manager u:object_r:sysfs_charger:s0

View file

@ -7,9 +7,6 @@ $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
# Build Fingerprints
$(call inherit-product, $(LOCAL_PATH)/fingerprint.mk)
# Derp
DERP_BUILDTYPE := Official
# Allow Copying of apks.
PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true
@ -63,8 +60,7 @@ TARGET_SCREEN_WIDTH := 720
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service \
CameraLightSensor
android.hardware.camera.provider@2.5-service
# Component overrides
PRODUCT_COPY_FILES += \