12 Commits
vic ... bka

Author SHA1 Message Date
Deivid21
25d6dabecf rhode: Go Back super partition size to devices
Change-Id: I52b6a5e2bf986f42d240d47c2f3381fa1220c3a5
2025-10-15 23:10:34 -03:00
Deivid21
393d0f65ec rhode: Build MotCamera4 from prebuilt source
Change-Id: I2c44c0ea5c69aa63fa4e01effe4290b782c6d299
Signed-off-by: Deivid21 <david.parra.ignacio@gmail.com>
2025-10-15 23:09:57 -03:00
Deivid21
623b4b361e rhode: init: Add Erofs filesystem type mount point
Change-Id: I0bd2f193de4608b0d6899f1f2ad467bb5f33cc1c
2025-10-15 23:09:41 -03:00
Deivid21
900dd381d1 rhode: Adjustments for Evolution X
Change-Id: Ifac6ab7e5feff0f93f6f3d1aa2d6f504c8fdcc23
2025-10-15 23:09:09 -03:00
Michael Bestas
b8c02f76a7 rhode: overlay: Enable min & peak refresh rate toggle in Settings
Change-Id: Ia3e1a5ef92b666747cf1d8e362e88a09b21c2444
2025-10-15 23:08:48 -03:00
Michael Bestas
b8723cf800 rhode: Switch to AIDL samsung NFC HAL
Change-Id: I968b959d19306b667de2839526e3f0fa80887b71
2025-10-15 23:08:00 -03:00
Deivid21
32dca8b728 rhode: Patch vidhance components with libui-v34
* EIS was broken, which caused hard crashes when switching
  to video mode in camera.

Change-Id: If7d3b4417208fbb51466992aece7ec9b82a1cd41
2025-10-15 23:07:30 -03:00
Deivid21
948ea9135e rhode: Add missing fingerprint binary
Change-Id: I1dcba562ee6981292c41593c415d2010af4b4edb
2025-10-15 23:06:31 -03:00
Georg Veichtlbauer
64e8c48934 rhode: overlay: Update deprecated screen power items
* screen.on -> screen.on.display0
* screen.full -> screen.full.display0

AOSP frameworks/base: 8ac63071a4e6da7e0740f5eb6c6753218efcfd3a

Change-Id: Iad50e6cb63368e2d71e6fa1dbb6997c0f95d321e
2025-10-11 01:08:22 +03:00
Deivid21
6c0d52dced rhode: overlay: Add wifi overlay and MMS UA profile
Change-Id: Ida9a7044d13feb96b310c3d6f88fb801ba5df98d
2025-10-11 01:07:55 +03:00
Michael Bestas
f7aa02a893 rhode: Add missing copyright headers
* And drop copyright years.

Change-Id: I9992f279c6ca0090f5a98541a405e1e34be3378f
2025-10-11 00:26:52 +03:00
Michael Bestas
f8df0f8aa6 rhode: overlay: Convert overlays to Android.bp
Also run everything through beautify_rro.py

Change-Id: I3e24f2c505822ffd07eed32be6867288a11730ce
2025-10-11 00:26:29 +03:00
15 changed files with 132 additions and 152 deletions

View File

@@ -27,8 +27,9 @@ TARGET_SCREEN_WIDTH := 1080
# Init
PRODUCT_PACKAGES += \
fstab.qcom \
init.oem.fingerprint2.sh \
init.mmi.overlay.rc
init.mmi.overlay.rc \
init.nfc.samsung.rc \
init.oem.fingerprint2.sh
# Moto Camera 4
TARGET_MOTCAMERA4 := rhode
@@ -38,7 +39,7 @@ $(call inherit-product, vendor/motorola/MotCamera4-bengal/motcamera4.mk)
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service.samsung
android.hardware.nfc-service.samsung
# Overlay
PRODUCT_PACKAGES += \

View File

@@ -31,9 +31,6 @@ lib_fixups: lib_fixups_user_type = {
}
blob_fixups: blob_fixups_user_type = {
'vendor/etc/init/android.hardware.nfc@1.2-service.sec.rc': blob_fixup()
.regex_replace('sec', 'samsung')
.regex_replace('class hal', 'override\n class hal'),
(
'vendor/lib64/camera/components/com.qti.node.gpu.so',
'vendor/lib64/com.qti.feature2.gs.so',
@@ -42,6 +39,11 @@ blob_fixups: blob_fixups_user_type = {
'vendor/lib64/hw/com.qti.chi.override.so',
): blob_fixup()
.binary_regex_replace(b'camera.mot.is.coming.cts', b'vendor.camera.coming.cts'),
(
'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

@@ -16,6 +16,13 @@ prebuilt_etc {
vendor: true,
}
prebuilt_etc {
name: "init.nfc.samsung.rc",
src: "init.nfc.samsung.rc",
sub_dir: "init",
vendor: true,
}
sh_binary {
name: "init.oem.fingerprint2.sh",
src: "init.oem.fingerprint2.sh",

View File

@@ -6,10 +6,14 @@
# 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,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
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_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

9
init/init.nfc.samsung.rc Normal file
View File

@@ -0,0 +1,9 @@
on boot && property:ro.vendor.hw.nfc=samsung
start vendor.samsung_nfc_hal_service
service vendor.samsung_nfc_hal_service /vendor/bin/hw/android.hardware.nfc-service.samsung
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="rhode_g-user 11 T2SR33.72-22-4-13 6b3c4b release-keys" \
BuildFingerprint=motorola/rhode_g/rhode:11/T2SR33.72-22-4-13/6b3c4b:user/release-keys \
BuildDesc="rhode_g-user 13 T2SR33.72-22-4-13 6b3c4b-075d74 release-keys" \
BuildFingerprint=motorola/rhode_g/rhode:13/T2SR33.72-22-4-13/6b3c4b-075d74:user/release-keys \
DeviceProduct=rhode_g

View File

@@ -190,8 +190,6 @@ vendor/usr/keylayout/uinput-egis.kl
vendor/firmware/a630_sqe.fw
# NFC (Samsung)
vendor/etc/init/android.hardware.nfc@1.2-service.sec.rc
vendor/etc/init/init.nfc.sec.rc
vendor/etc/libnfc-sec-vendor.conf
vendor/etc/sec_s3nrn4v_hwreg.bin
vendor/etc/sec_s3nrn4v_swreg.bin

View File

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

View File

@@ -1,14 +1,25 @@
<?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
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>
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<item>0</item>
<item>50</item>
</integer-array>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- 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">4</integer>
<!-- Minimum allowable screen brightness to use in a very dark room.
This value sets the floor for the darkest possible auto-brightness
@@ -19,73 +30,6 @@
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">4</integer>
<!-- 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>
<!-- The display uses different gamma curves for different refresh rates. It's hard for panel
vendors to tune the curves to have exact same brightness for different refresh rate. So
flicker could be observed at switch time. The issue is worse at the gamma lower end.
In addition, human eyes are more sensitive to the flicker at darker environment.
To prevent flicker, we only support higher refresh rates if the display brightness is above
a threshold.
For example, no higher refresh rate if
display brightness <= disp0 && ambient brightness <= amb0
|| display brightness <= disp1 && ambient brightness <= amb1 -->
<integer-array translatable="false" name="config_brightnessThresholdsOfPeakRefreshRate">
<item>72</item>
</integer-array>
<integer-array translatable="false" name="config_ambientThresholdsOfPeakRefreshRate">
<item>-1</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 -->
<integer-array name="config_autoBrightnessDisplayValuesNits">
<item>2</item>
<item>7</item>
<item>10</item>
<item>12</item>
<item>24</item>
<item>95</item>
<item>111</item>
<item>149</item>
<item>192</item>
<item>252</item>
<item>500</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)
@@ -119,6 +63,32 @@
<item>5500</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>2</item>
<item>7</item>
<item>10</item>
<item>12</item>
<item>24</item>
<item>95</item>
<item>111</item>
<item>149</item>
<item>192</item>
<item>252</item>
<item>500</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
@@ -145,7 +115,7 @@
brightness modes but only the maximum brightness value obtainable in a sustainable manner.
This array should be equal in size to config_screenBrightnessBacklight -->
<integer-array name="config_screenBrightnessNits">
<array name="config_screenBrightnessNits">
<item>0</item>
<item>2</item>
<item>7</item>
@@ -158,7 +128,13 @@
<item>192</item>
<item>252</item>
<item>500</item>
</integer-array>
</array>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">motog52</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>
<!-- 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
@@ -211,8 +187,25 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false">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>
<!-- Low zone brightness thresholds in the range [0, 255] -->
<integer-array translatable="false" name="config_brightnessThresholdsOfPeakRefreshRate">
<item>72</item>
</integer-array>
<!-- Low zone lux thresholds -->
<integer-array translatable="false" name="config_ambientThresholdsOfPeakRefreshRate">
<item>-1</item>
</integer-array>
<!-- 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>
<!-- 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
@@ -228,18 +221,6 @@
<item>200</item> <!--item>sensorRadius</item-->
</array>
<!-- 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">motog52</string>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false">true</bool>
</resources>

View File

@@ -1,21 +1,9 @@
<?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
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<!-- 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>
<resources>
<!-- 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>
@@ -29,4 +17,10 @@
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">130.97</item>
<item name="screen.full">455.02</item>
<item name="screen.on.display0">130.97</item>
<item name="screen.full.display0">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,9 +4,7 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.device">
<overlay
android:isStatic="true"
android:targetPackage="com.android.systemui" />
package="com.android.systemui.overlay.device">
<overlay android:targetPackage="com.android.systemui"
android:isStatic="true" />
</manifest>

View File

@@ -1,23 +1,17 @@
<?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
-->
<!-- 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">
<resources>
<!-- 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 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 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.
This path will only be drawn when the front-facing camera turns on, otherwise the main
DisplayCutout path will be rendered
@@ -29,10 +23,9 @@
Z
</string>
<!-- ID for the camera that needs extra protection -->
<!-- ID for the camera of outer display 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,10 +1,8 @@
<?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,11 +4,8 @@
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:isStatic="true"
android:priority="800"
android:targetName="WifiCustomization"
android:targetPackage="com.android.wifi.resources" />
package="com.android.wifi.resources.overlay.device">
<overlay android:targetPackage="com.android.wifi.resources"
android:isStatic="true"
android:priority="800" />
</manifest>