15 Commits
bka ... vic

Author SHA1 Message Date
Deivid21
836a3939bc devon: Go Back super partition size to devices
Change-Id: I52b6a5e2bf986f42d240d47c2f3381fa1220c3a5
2025-09-19 23:29:45 -03:00
Deivid21
940dc137d3 devon: Add missing fingerprint binary
Change-Id: I9d86310c095b28726412bf58da4a28f57e1cccd0
2025-09-14 14:37:03 -03:00
Deivid21
0b19281960 devon: Add missing libAncFaceDetect.so
* E CamX    : [ERROR][FD     ] camxfdextmanagernode.cpp:145 ExtFdInitialize() [ANCFDERR]
  failed to dlopen /vendor/lib64/libAncFaceDetect.so:dlopen failed: library
  "/vendor/lib64/libAncFaceDetect.so" not found

Change-Id: I81e9e0ec179c385c1b5db9ec16ffda11d8e409e3
2025-09-14 14:30:09 -03:00
Michael Bestas
2fac3a7115 devon: Enable LiveDisplay adaptive backlight
Change-Id: I3892e178b87b569805dd5e929e009d465bd63461
2025-09-13 13:07:35 -03:00
Michael Bestas
2e45839ff8 devon: overlay: Enable min & peak refresh rate toggle in Settings
Change-Id: Ia3e1a5ef92b666747cf1d8e362e88a09b21c2444
2025-09-13 13:01:09 -03:00
Deivid21
30b020fd44 devon: overlay: Set defaultRefreshRate configs according to stock
Change-Id: If6208f872971dc9150c199122e51bdf8a7c4466b
2025-09-12 00:56:04 -03:00
Deivid21
dd75305f86 devon: Rename focaltech firmware
Change-Id: I3cae6837ccc79d4a6ff558530efd19fec070f2de
2025-09-01 01:06:48 -04:00
Deivid21
5f23ceeb83 devon: Update to T2SNS33.73-22-3-19
Change-Id: If37fb3a9ae2215f2285a57dd5125f4d03047dab5
2025-08-31 18:39:27 -04:00
Deivid21
4afac34b99 fixup! devon: Update to T2SNS33.73-22-3-15
Change-Id: Ie127a1de0d4badf66eaddbd25de2190dbbe98b3d
2025-08-20 23:24:57 -04:00
Deivid21
d9bf7a2b5e devon: init: Switch filesystem type to EroFS
Change-Id: Iec82ff279464957bdb93972a1ee1874f421987a4
2025-08-20 23:24:50 -04:00
Deivid21
b674081943 devon: Build MotCamera4 from prebuilt source
Change-Id: I37656b5c9b40f5f0741b946a347a935812ab1bc1
Signed-off-by: Deivid21 <david.parra.ignacio@gmail.com>
2025-08-20 23:24:36 -04:00
Deivid21
ac696b20fd devon: Adjustments for Evolution X
Change-Id: I41d5a2c9bd74130bc86088fb6d550bfdaefd03b4
2025-08-20 23:24:29 -04:00
Deivid21
67bac94061 devon: overlay: Add wifi overlay and MMS UA profile
Change-Id: I146447b59042254847d3818cf9d13adccf69cf23
2025-08-20 23:24:16 -04:00
Michael Bestas
e4e86d2a8c devon: Switch to SPDX copyright
* And drop copyright years.

Change-Id: I469fa7e7160417a723e8106fed93eab0aef4cc52
2025-08-20 23:23:11 -04:00
Michael Bestas
298614d49e devon: overlay: Convert overlays to Android.bp
Change-Id: Id5724d38ae2ad30aac64c4de7df98a64f33e6104
2025-08-20 23:22:21 -04:00
17 changed files with 164 additions and 147 deletions

View File

@@ -39,7 +39,6 @@ BOARD_MOTO_DYNAMIC_PARTITIONS_SIZE := 3787456512 # ( BOARD_SUPER_PARTITION_SIZE
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
# Properties
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop

View File

@@ -27,9 +27,8 @@ TARGET_SCREEN_WIDTH := 1080
# Init
PRODUCT_PACKAGES += \
fstab.qcom \
init.mmi.overlay.rc \
init.oem.fingerprint2.sh \
init.vendor.st21nfc.rc
init.mmi.overlay.rc
# LiveDisplay
$(call soong_config_set,livedisplay_sysfs,enable_ab,true)
@@ -42,7 +41,7 @@ $(call inherit-product, vendor/motorola/MotCamera4-bengal/motcamera4.mk)
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc-service.st
android.hardware.nfc@1.2-service.st
# Overlay
PRODUCT_PACKAGES += \

View File

@@ -31,6 +31,9 @@ lib_fixups: lib_fixups_user_type = {
}
blob_fixups: blob_fixups_user_type = {
'vendor/etc/init/android.hardware.nfc@1.2-service.st-moto.rc': blob_fixup()
.regex_replace('on property:init.svc.vendor.stflashtool=stopped &&', 'on boot &&')
.regex_replace('class hal', 'override\n class hal'),
('vendor/lib64/camera/components/com.qti.node.gpu.so', 'vendor/lib64/hw/camera.qcom.so'): blob_fixup()
.binary_regex_replace(b'camera.mot.is.coming.cts', b'vendor.camera.coming.cts'),
'vendor/lib64/libBSTSWAD.so': blob_fixup()
@@ -40,11 +43,6 @@ blob_fixups: blob_fixups_user_type = {
.clear_symbol_version('AHardwareBuffer_lockPlanes')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
(
'vendor/lib64/camera/components/com.qti.node.dewarp.so',
'vendor/lib64/camera/components/com.vidhance.node.processing.so',
): blob_fixup()
.replace_needed('libui.so', 'libui-v34.so'),
} # fmt: skip
extract_fns: extract_fns_user_type = {

View File

@@ -6,14 +6,10 @@
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system erofs ro wait,slotselect,avb=vbmeta_system,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,logical,first_stage_mount
system /system ext4 ro wait,slotselect,avb=vbmeta_system,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,logical,first_stage_mount
system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
system_ext /system_ext ext4 ro wait,slotselect,avb=vbmeta_system,logical,nofail,first_stage_mount
product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
product /product ext4 ro wait,slotselect,avb=vbmeta_system,logical,nofail,first_stage_mount
vendor /vendor erofs ro wait,slotselect,avb=vbmeta,logical,first_stage_mount
vendor /vendor ext4 ro wait,slotselect,avb=vbmeta,logical,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,formattable,first_stage_mount,check
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/4804000.ufshc,checkpoint=fs
/devices/platform/soc/4784000.sdhci/mmc_host* auto auto defaults wait,voldmanaged=sdcard1:auto

View File

@@ -52,6 +52,11 @@ on charger
insmod /vendor/lib/modules/mmi_discrete_turbo_charger.ko
insmod /vendor/lib/modules/tcpc_sgm7220.ko
on boot
# Change ownership and permission of st nfc device
chown nfc nfc /dev/st21nfc
chmod 0660 /dev/st21nfc
service capsense_reset /system/vendor/bin/capsense_reset
class core
user system

View File

@@ -1,14 +0,0 @@
on boot
# Change ownership and permission of st nfc device
chown nfc nfc /dev/st21nfc
chmod 0660 /dev/st21nfc
on boot && property:ro.vendor.hw.nfc=st
start vendor.st_nfc_hal_service
service vendor.st_nfc_hal_service /vendor/bin/hw/android.hardware.nfc-service.st
override
class hal
user nfc
group nfc
disabled

View File

@@ -23,6 +23,6 @@ PRODUCT_MANUFACTURER := motorola
PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="devon_g-user 13 T2SNS33.73-22-3-19 565799-307aa release-keys" \
BuildFingerprint=motorola/devon_g/devon:13/T2SNS33.73-22-3-19/565799-307aa:user/release-keys \
BuildDesc="devon_g-user 11 T2SNS33.73-22-3-19 565799 release-keys" \
BuildFingerprint=motorola/devon_g/devon:11/T2SNS33.73-22-3-19/565799:user/release-keys \
DeviceProduct=devon_g

View File

@@ -1,2 +0,0 @@
# NFC
persist.nfc_cfg.config_file_name=libnfc-nci-st.conf

View File

@@ -200,6 +200,7 @@ vendor/usr/keylayout/uinput-fpc.kl
vendor/firmware/a630_sqe.fw
# NFC (ST)
vendor/etc/init/android.hardware.nfc@1.2-service.st.rc:vendor/etc/init/android.hardware.nfc@1.2-service.st-moto.rc
vendor/etc/libnfc-hal-st.conf
vendor/etc/libnfc-nci-st.conf
vendor/etc/st21nfc_conf_ds.txt

View File

@@ -4,8 +4,10 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.device">
<overlay android:targetPackage="android"
android:isStatic="true"
android:priority="300" />
package="android.overlay.device">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="android" />
</manifest>

View File

@@ -1,37 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
SPDX-FileCopyrightText: 2009 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<item>0</item>
<item>60</item>
</integer-array>
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<item>0</item>
<item>50</item>
</integer-array>
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<!-- Minimum screen brightness setting allowed by power manager.
-2 is invalid so setting will resort to int value specified above.
Set this to 0.0 to allow screen to go to minimal brightness.
The user is forbidden from setting the brightness below this level. -->
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.003937008</item>
<!-- Default screen brightness setting set.
-2 is invalid so setting will resort to int value specified above.
Must be in the range specified by minimum and maximum. -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.39763778</item>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">2</integer>
<item name="config_screenBrightnessDimFloat" format="float" type="dimen">0.003937008</item>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Minimum allowable screen brightness to use in a very dark room.
This value sets the floor for the darkest possible auto-brightness
@@ -42,6 +19,82 @@
in darkness (although they may not be visible in a bright room). -->
<integer name="config_screenBrightnessDark">2</integer>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">2</integer>
<item name="config_screenBrightnessDimFloat" format="float" type="dimen">0.003937008</item>
<!-- Default screen brightness setting set.
-2 is invalid so setting will resort to int value specified above.
Must be in the range specified by minimum and maximum. -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.39763778</item>
<!-- Minimum screen brightness setting allowed by power manager.
-2 is invalid so setting will resort to int value specified above.
Set this to 0.0 to allow screen to go to minimal brightness.
The user is forbidden from setting the brightness below this level. -->
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.003937008</item>
<!-- The default refresh rate for a given device. Change this value to set a higher default
refresh rate. If the hardware composer on the device supports display modes with a higher
refresh rate than the default value specified here, the framework may use those higher
refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
setFrameRate().
If a non-zero value is set for config_defaultPeakRefreshRate, then
config_defaultRefreshRate may be set to 0, in which case the value set for
config_defaultPeakRefreshRate will act as the default frame rate. -->
<integer name="config_defaultRefreshRate">0</integer>
<!-- The default peak refresh rate for a given device. Change this value if you want to prevent
the framework from using higher refresh rates, even if display modes with higher refresh
rates are available from hardware composer. Only has an effect if the value is
non-zero. -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Default refresh rate in the zone defined by brightness and ambient thresholds.
If non-positive, then the refresh rate is unchanged even if thresholds are configured. -->
<integer name="config_defaultRefreshRateInZone">90</integer>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. The display brightness is defined as the measured
brightness of an all-white image.
If this is defined then:
- config_autoBrightnessLcdBacklightValues should not be defined
- config_screenBrightnessNits must be defined
- config_screenBrightnessBacklight must be defined
This array should have size one greater than the size of the config_autoBrightnessLevels
array. The brightness values must be non-negative and non-decreasing. This must be
overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessDisplayValuesNits">
<item>3</item>
<item>10</item>
<item>20</item>
<item>50</item>
<item>70</item>
<item>85</item>
<item>110</item>
<item>130</item>
<item>150</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>225</item>
<item>270</item>
<item>300</item>
<item>315</item>
<item>330</item>
<item>350</item>
<item>380</item>
<item>420</item>
<item>450</item>
<item>450</item>
<item>450</item>
</integer-array>
<!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
The N entries of this array define N + 1 control points as follows:
(1-based arrays)
@@ -88,45 +141,6 @@
<item>8000</item>
</integer-array>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. The display brightness is defined as the measured
brightness of an all-white image.
If this is defined then:
- config_autoBrightnessLcdBacklightValues should not be defined
- config_screenBrightnessNits must be defined
- config_screenBrightnessBacklight must be defined
This array should have size one greater than the size of the config_autoBrightnessLevels
array. The brightness values must be non-negative and non-decreasing. This must be
overridden in platform specific overlays -->
<array name="config_autoBrightnessDisplayValuesNits">
<item>3</item>
<item>10</item>
<item>20</item>
<item>50</item>
<item>70</item>
<item>85</item>
<item>110</item>
<item>130</item>
<item>150</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>180</item>
<item>225</item>
<item>270</item>
<item>300</item>
<item>315</item>
<item>330</item>
<item>350</item>
<item>380</item>
<item>420</item>
<item>450</item>
<item>450</item>
<item>450</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
@@ -161,7 +175,7 @@
brightness modes but only the maximum brightness value obtainable in a sustainable manner.
This array should be equal in size to config_screenBrightnessBacklight -->
<array name="config_screenBrightnessNits">
<integer-array name="config_screenBrightnessNits">
<item>0</item>
<item>3</item>
<item>10</item>
@@ -182,13 +196,7 @@
<item>380</item>
<item>420</item>
<item>450</item>
</array>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">motog32</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.motorola.com/phoneconfig/motov1/Profile/motov1.rdf</string>
</integer-array>
<!-- 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
@@ -241,15 +249,8 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
<!-- The default peak refresh rate for a given device. Change this value if you want to prevent
the framework from using higher refresh rates, even if display modes with higher refresh
rates are available from hardware composer. Only has an effect if the value is
non-zero. -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Default refresh rate in the zone defined by brightness and ambient thresholds.
If non-positive, then the refresh rate is unchanged even if thresholds are configured. -->
<integer name="config_defaultRefreshRateInZone">90</integer>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false">true</bool>
<!-- An array of arrays of side fingerprint sensor properties relative to each display.
Note: this value is temporary and is expected to be queried directly
@@ -265,6 +266,18 @@
<item>200</item> <!--item>sensorRadius</item-->
</array>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false">true</bool>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<item>0</item>
<item>60</item>
</integer-array>
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<item>0</item>
<item>50</item>
</integer-array>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">motog32</string>
</resources>

View File

@@ -1,9 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
SPDX-FileCopyrightText: 2009 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- 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">
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">95.0px</dimen>
<!-- Default paddings for content around the corners. -->
<dimen name="rounded_corner_content_padding">14dp</dimen>
<!-- The default height of the status bar used in {@link SystemBarUtils#getStatusBarHeight} to
calculate the status bar height. -->
<dimen name="status_bar_height_default">28dp</dimen>
@@ -17,10 +29,4 @@
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_landscape">28dp</dimen>
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">95.0px</dimen>
<!-- Default paddings for content around the corners. -->
<dimen name="rounded_corner_content_padding">14dp</dimen>
</resources>

View File

@@ -5,8 +5,8 @@
-->
<device name="Android">
<item name="none">0</item>
<item name="screen.on.display0">130.97</item>
<item name="screen.full.display0">455.02</item>
<item name="screen.on">130.97</item>
<item name="screen.full">455.02</item>
<item name="wifi.on">3.01</item>
<item name="wifi.active">78.83</item>
<item name="wifi.scan">78.45</item>

View File

@@ -4,7 +4,9 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.device">
<overlay android:targetPackage="com.android.systemui"
android:isStatic="true" />
package="com.android.systemui.overlay.device">
<overlay
android:isStatic="true"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2009 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- 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">
<!-- Doze: does this device support STATE_DOZE? -->
<bool name="doze_display_state_supported">true</bool>
<!-- A path similar to frameworks/base/core/res/res/values/config.xml
config_mainBuiltInDisplayCutout that describes a path larger than the exact path of a outer
display cutout. If present as well as config_enableDisplayCutoutProtection is set to true,
then SystemUI will draw this "protection path" instead of the display cutout path that is
normally used for anti-aliasing.
config_mainBuiltInDisplayCutout that describes a path larger than the exact path of a display
cutout. If present as well as config_enableDisplayCutoutProtection is set to true, then
SystemUI will draw this "protection path" instead of the display cutout path that is normally
used for anti-aliasing.
This path will only be drawn when the front-facing camera turns on, otherwise the main
DisplayCutout path will be rendered
@@ -23,9 +29,10 @@
Z
</string>
<!-- ID for the camera of outer display that needs extra protection -->
<!-- ID for the camera that needs extra protection -->
<string translatable="false" name="config_protectedCameraId">1</string>
<!-- Flag to turn on the rendering of the above path or not -->
<bool name="config_enableDisplayCutoutProtection">true</bool>
</resources>

View File

@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2009 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Height of the status bar header bar when on Keyguard -->
<dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height</dimen>

View File

@@ -4,8 +4,11 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.wifi.resources.overlay.device">
<overlay android:targetPackage="com.android.wifi.resources"
android:isStatic="true"
android:priority="800" />
package="com.android.wifi.resources.overlay.device">
<overlay
android:isStatic="true"
android:priority="800"
android:targetName="WifiCustomization"
android:targetPackage="com.android.wifi.resources" />
</manifest>