From df80f43c0f2fd930385893c1b3f236c1a2627647 Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Fri, 15 Dec 2023 00:54:54 +0000 Subject: [PATCH 01/26] Update felix SVN to 38 Bug: 313797924 Change-Id: I27e8700b3e44f927aee6830cd5206280694ed5d8 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index b1a0caa..c4f9544 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -211,7 +211,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=37 + ro.vendor.build.svn=38 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 421a372bfd4d29f656fba2b354b9c394dde9df59 Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Fri, 15 Dec 2023 00:55:40 +0000 Subject: [PATCH 02/26] Update felix SVN to 39 Bug: 313797924 Change-Id: If5f601f238645b6c6589053a27bd4248d83f26e1 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index c4f9544..d1b3f39 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -211,7 +211,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=38 + ro.vendor.build.svn=39 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 3d00dd5ffa49179fe9c4ad0a2356a8dbedadf434 Mon Sep 17 00:00:00 2001 From: Shawn Lin Date: Thu, 21 Dec 2023 12:58:21 +0000 Subject: [PATCH 03/26] Enable hide cutout emulations Bug: 317143921 Test: make Flag: NONE Change-Id: I9f263bcdd33bfd61ba0241c1e7c4a90ccf4a8b1d --- device-felix.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index d1b3f39..fdf8bad 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -395,3 +395,12 @@ PRODUCT_VENDOR_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \ ro.quick_start.oem_id=00e0 \ ro.quick_start.device_id=felix + +# Set support hide display cutout feature +PRODUCT_PRODUCT_PROPERTIES += \ + ro.support_hide_display_cutout=true + +PRODUCT_PACKAGES += \ + NoCutoutOverlay \ + AvoidAppsInCutoutOverlay + From f06a83f64da70f95781718b036a51c833d609d3a Mon Sep 17 00:00:00 2001 From: Isaac Chiou Date: Thu, 21 Dec 2023 17:15:59 +0800 Subject: [PATCH 04/26] wifi: Enable fast scan Enable fast scan and set the channel cache number to 10 Bug: 317012208 Test: Manual Change-Id: Iee3ae9bc63eacf4f19dcde2dee8e1feae72014cd --- rro_overlays/WifiOverlay/res/values/config.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 94f377b..8079614 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -167,4 +167,12 @@ regulatory approval (for example, FCC pre-approval is required according to "594280 D01 Software Configuration Control v02r01").--> true + + + true + + + 3 + From 081b412c77f96efa7f68860de854cef208c1a7d0 Mon Sep 17 00:00:00 2001 From: Carter Hsu Date: Tue, 26 Dec 2023 18:59:31 +0800 Subject: [PATCH 05/26] audio: support incall capture dl/ul concurrent recording Bug: 317726514 Test: Verified by test build Change-Id: I35ad2c38eacbe0b7b7fe468bd80534a44342bc3c Signed-off-by: Carter Hsu --- audio/felix/config/audio_policy_configuration.xml | 2 +- .../config/audio_policy_configuration_a2dp_offload_disabled.xml | 2 +- .../config/audio_policy_configuration_bluetooth_legacy_hal.xml | 2 +- .../config/audio_policy_configuration_le_offload_disabled.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml index 1b44390..94e9d3f 100644 --- a/audio/felix/config/audio_policy_configuration.xml +++ b/audio/felix/config/audio_policy_configuration.xml @@ -93,7 +93,7 @@ samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> - + diff --git a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml index eb8560c..da6c7a7 100644 --- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -92,7 +92,7 @@ samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> - + diff --git a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml index 1863d5a..416d4ab 100644 --- a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml +++ b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml @@ -88,7 +88,7 @@ samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> - + diff --git a/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml index bf54670..0745b2f 100644 --- a/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_le_offload_disabled.xml @@ -93,7 +93,7 @@ samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> - + From 0df253660aba11dde005995ac889c728404da9c2 Mon Sep 17 00:00:00 2001 From: Aaron Ding Date: Wed, 27 Dec 2023 00:50:37 +0800 Subject: [PATCH 06/26] felix: control the kernel by release configuration Bug: 317784824 Change-Id: I4f7fdc1ba449c270f7379d0a43b0143963b47685 Signed-off-by: Aaron Ding --- device-felix.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index fdf8bad..c04c02a 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -21,6 +21,15 @@ TARGET_KERNEL_DIR ?= device/google/felix-kernel TARGET_BOARD_KERNEL_HEADERS := device/google/felix-kernel/kernel-headers TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_RIGHT +ifdef RELEASE_GOOGLE_FELIX_KERNEL_VERSION +TARGET_LINUX_KERNEL_VERSION := $(RELEASE_GOOGLE_FELIX_KERNEL_VERSION) +endif + +ifdef RELEASE_GOOGLE_FELIX_KERNEL_DIR +TARGET_KERNEL_DIR := $(RELEASE_GOOGLE_FELIX_KERNEL_DIR) +TARGET_BOARD_KERNEL_HEADERS := $(RELEASE_GOOGLE_FELIX_KERNEL_DIR)/kernel-headers +endif + $(call inherit-product-if-exists, vendor/google_devices/felix/prebuilts/device-vendor-felix.mk) $(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk) $(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk) From 97ba43cc4516db770fcf26e6e8e7c8fcc79abd23 Mon Sep 17 00:00:00 2001 From: Xin Li Date: Thu, 4 Jan 2024 08:59:25 -0800 Subject: [PATCH 07/26] Remove PixelQualifiedNetworksService for AOSP builds. Bug: 309712809 Test: https://android-build.corp.google.com/builds/abtd/run/L26400030001089366 Change-Id: Idbf5efc7da759ef264cbe5829519a94171a0401f --- self-extractors/extract-lists.txt | 1 - .../google_devices/staging/Android.mk.template | 16 ---------------- .../google_devices/staging/device-partial.mk | 1 - 3 files changed, 18 deletions(-) diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt index 9fc0800..c783a92 100644 --- a/self-extractors/extract-lists.txt +++ b/self-extractors/extract-lists.txt @@ -11,7 +11,6 @@ system_ext/lib64/libmediaadaptor.so \ system_ext/priv-app/ShannonRcs/ShannonRcs.apk \ system_ext/priv-app/ShannonIms/ShannonIms.apk \ - system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.apk \ system_ext/priv-app/UwbVendorService/UwbVendorService.apk \ " ;; diff --git a/self-extractors/google_devices/staging/Android.mk.template b/self-extractors/google_devices/staging/Android.mk.template index 01369bf..f1eb6b1 100644 --- a/self-extractors/google_devices/staging/Android.mk.template +++ b/self-extractors/google_devices/staging/Android.mk.template @@ -22,22 +22,6 @@ ifneq ($(filter felix,$(TARGET_DEVICE)),) endif ifneq ($(filter felix,$(TARGET_DEVICE)),) -include $(CLEAR_VARS) -LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) -LOCAL_MODULE := PixelQualifiedNetworksService -LOCAL_MODULE_TAGS := optional -LOCAL_BUILT_MODULE_STEM := package.apk -LOCAL_SYSTEM_EXT_MODULE := true -LOCAL_PRIVILEGED_MODULE := true -LOCAL_MODULE_OWNER := samsung -LOCAL_MODULE_CLASS := APPS -LOCAL_SRC_FILES := $(LOCAL_MODULE).apk -LOCAL_CERTIFICATE := platform -LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 -LOCAL_LICENSE_CONDITIONS := notice -LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE -include $(BUILD_PREBUILT) - include $(CLEAR_VARS) LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_MODULE := ShannonIms diff --git a/self-extractors/google_devices/staging/device-partial.mk b/self-extractors/google_devices/staging/device-partial.mk index 9c4717f..42c43e7 100644 --- a/self-extractors/google_devices/staging/device-partial.mk +++ b/self-extractors/google_devices/staging/device-partial.mk @@ -17,7 +17,6 @@ PRODUCT_SOONG_NAMESPACES += \ # AOSP packages required by the blobs PRODUCT_PACKAGES := \ - PixelQualifiedNetworksService \ ShannonIms \ ShannonRcs \ UwbVendorService \ From 31ce8317f1ae6f6c9638860b3c67cefe01a115fc Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Fri, 15 Dec 2023 00:54:54 +0000 Subject: [PATCH 08/26] Update felix SVN to 38 Bug: 313797924 Change-Id: I27e8700b3e44f927aee6830cd5206280694ed5d8 (cherry picked from commit df80f43c0f2fd930385893c1b3f236c1a2627647) Merged-In: I27e8700b3e44f927aee6830cd5206280694ed5d8 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 4ea3595..6781f2c 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=37 + ro.vendor.build.svn=38 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 51968120ce91bdd44805fc8ead791f936ba6bdbc Mon Sep 17 00:00:00 2001 From: Cheng Chang Date: Tue, 9 Jan 2024 05:57:55 +0000 Subject: [PATCH 09/26] gps: Update the aiding interval Bug: 309119807 Test: Verification at b/309119807#comment44 Change-Id: I7dfc91c353a375de9e3490f839ece9b11646181c --- location/gps.xml.f10 | 4 +++- location/gps_user.xml.f10 | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/location/gps.xml.f10 b/location/gps.xml.f10 index e2cd884..a47afb2 100644 --- a/location/gps.xml.f10 +++ b/location/gps.xml.f10 @@ -60,7 +60,7 @@ CpLppeUseAgnssLocForEmptyDbh="true" CpLppHighAccuracyShapeMode="1" ReAidingOnHotStart="false" - ReAidingIntervalSec="1200" + ReAidingIntervalSec="3600" RuntimeSwLteFilterEnable="true" PpsDevice="/sys/class/pps/pps0/assert_elapsed" SensorsMask="0x244" @@ -93,6 +93,8 @@ MinGpsWeekNumber="2216" OnChipAccMask="50" EnableB1C="false" + + RTICacheTimeoutSec="3600" /> Date: Fri, 15 Dec 2023 00:55:40 +0000 Subject: [PATCH 10/26] Update felix SVN to 39 Bug: 313797924 Change-Id: If5f601f238645b6c6589053a27bd4248d83f26e1 (cherry picked from commit 421a372bfd4d29f656fba2b354b9c394dde9df59) Merged-In: If5f601f238645b6c6589053a27bd4248d83f26e1 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 6781f2c..a9e2f70 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=38 + ro.vendor.build.svn=39 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 69a33e25cb084a4026a13f4e66f18d488d9a04f7 Mon Sep 17 00:00:00 2001 From: Midas Chien Date: Wed, 17 Jan 2024 07:54:36 +0000 Subject: [PATCH 11/26] display: allow hwcomposer to access allow_wakeup_by_state_change Bug: 311495944 Test: check permission Change-Id: I42f2c0bff855f59a9fbd514e4309561867edfb84 --- conf/init.felix.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/init.felix.rc b/conf/init.felix.rc index ed12a3c..47475e3 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -18,6 +18,7 @@ on fs chown system system /sys/class/backlight/panel1-backlight/dimming_on chown system system /sys/class/backlight/panel1-backlight/hbm_mode chown system system /sys/class/backlight/panel1-backlight/local_hbm_mode + chown system system /sys/class/backlight/panel1-backlight/allow_wakeup_by_state_change chown system system /sys/devices/platform/exynos-drm/secondary-panel/gamma chown system system /sys/devices/platform/exynos-drm/secondary-panel/min_vrefresh chown system system /sys/devices/platform/exynos-drm/secondary-panel/idle_delay_ms From 2056632361b90d10062284f9f2e0735b4a66a02b Mon Sep 17 00:00:00 2001 From: paulsu Date: Fri, 19 Jan 2024 06:35:12 +0000 Subject: [PATCH 12/26] Disable PMU at the start of camera launch Follow ag/20075269, ag/25261942 has caused regression in GCA launch time due to activation of PMU at the camera launch time, and capping the CPU frequency. This CL prevents PMU activation for as long as we are in powerhints or power-boosts related to camera launch (LAUNCH, CAMERA_LAUNCH, CAMERA_LAUNCH_EXTENDED). Bug: 321164832 Test: perfetto trace Change-Id: I54cb50259adc145847c96e75e2dd79f3eb3b3231 Signed-off-by: paulsu --- powerhint.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/powerhint.json b/powerhint.json index fbcc819..9e3a9cb 100644 --- a/powerhint.json +++ b/powerhint.json @@ -784,6 +784,17 @@ "Type": "DoHint", "Value": "LAUNCH_EXTEND" }, + { + "PowerHint": "LAUNCH", + "Type": "DoHint", + "Value": "LAUNCH_PMU" + }, + { + "PowerHint": "LAUNCH_PMU", + "Node": "PMU_POLL", + "Duration": 3000, + "Value": "0" + }, { "PowerHint": "LAUNCH_EXTEND", "Node": "CPUBigClusterMaxFreq", @@ -939,6 +950,12 @@ "Duration": 1000, "Value": "4-7" }, + { + "PowerHint": "CAMERA_LAUNCH", + "Node": "PMU_POLL", + "Duration": 1000, + "Value": "0" + }, { "PowerHint": "CAMERA_LAUNCH_EXTENDED", "Node": "CPUBigClusterMaxFreq", @@ -963,6 +980,12 @@ "Duration": 2000, "Value": "0" }, + { + "PowerHint": "CAMERA_LAUNCH_EXTENDED", + "Node": "PMU_POLL", + "Duration": 2000, + "Value": "0" + }, { "PowerHint": "CAMERA_THERMAL_CPU_THROTTLE", "Node": "CPUBigClusterMaxFreq", From e1ab132994795e6fb7d2cec0092a90c58b24cc07 Mon Sep 17 00:00:00 2001 From: Chris Paulo Date: Fri, 19 Jan 2024 14:29:57 -0800 Subject: [PATCH 13/26] vibrator/cs40l26: Update ff_effect duration Update the ff_effect duration to pass in 0 for compositions and RAM indices. This will allow firmware to take control of the playback duration, as well as apply SVC braking as required. This will also help avoid ending the effect early which can cause ringing. Bug: 317280093 Test: Verified perception and plotted acceleration Change-Id: I048b2bbda04af2a627aa8993aafc1f55ccf8fe13 Signed-off-by: Chris Paulo --- vibrator/cs40l26/Hardware.h | 2 +- vibrator/cs40l26/Vibrator.cpp | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/vibrator/cs40l26/Hardware.h b/vibrator/cs40l26/Hardware.h index 7ad4017..22667c9 100644 --- a/vibrator/cs40l26/Hardware.h +++ b/vibrator/cs40l26/Hardware.h @@ -110,7 +110,7 @@ class HwApi : public Vibrator::HwApi, private HwApiBase { return true; } bool setFFEffect(int fd, struct ff_effect *effect, uint16_t timeoutMs) override { - if (((*effect).replay.length != timeoutMs) || (ioctl(fd, EVIOCSFF, effect) < 0)) { + if (ioctl(fd, EVIOCSFF, effect) < 0) { ALOGE("setFFEffect fail"); return false; } else { diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index 7d5227e..bfb7cf1 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -363,7 +363,8 @@ Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr h mFfEffects[effectIndex] = { .type = FF_PERIODIC, .id = -1, - .replay.length = static_cast(mEffectDurations[effectIndex]), + // Length == 0 to allow firmware control of the duration + .replay.length = 0, .u.periodic.waveform = FF_CUSTOM, .u.periodic.custom_data = new int16_t[2]{RAM_WVFRM_BANK, effectIndex}, .u.periodic.custom_len = FF_CUSTOM_DATA_LEN, @@ -371,9 +372,11 @@ Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr h // Bypass the waveform update due to different input name if ((strstr(inputEventName, "cs40l26") != nullptr) || (strstr(inputEventName, "cs40l26_dual_input") != nullptr)) { + // Let the firmware control the playback duration to avoid + // cutting any effect that is played short if (!mHwApiDef->setFFEffect( mInputFd, &mFfEffects[effectIndex], - static_cast(mFfEffects[effectIndex].replay.length))) { + mEffectDurations[effectIndex])) { ALOGE("Failed upload effect %d (%d): %s", effectIndex, errno, strerror(errno)); } } @@ -403,7 +406,8 @@ Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr h mFfEffectsDual[effectIndex] = { .type = FF_PERIODIC, .id = -1, - .replay.length = static_cast(mEffectDurations[effectIndex]), + // Length == 0 to allow firmware control of the duration + .replay.length = 0, .u.periodic.waveform = FF_CUSTOM, .u.periodic.custom_data = new int16_t[2]{RAM_WVFRM_BANK, effectIndex}, .u.periodic.custom_len = FF_CUSTOM_DATA_LEN, @@ -411,9 +415,11 @@ Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr h // Bypass the waveform update due to different input name if ((strstr(inputEventName, "cs40l26") != nullptr) || (strstr(inputEventName, "cs40l26_dual_input") != nullptr)) { + // Let the firmware control the playback duration to avoid + // cutting any effect that is played short if (!mHwApiDual->setFFEffect( mInputFdDual, &mFfEffectsDual[effectIndex], - static_cast(mFfEffectsDual[effectIndex].replay.length))) { + mEffectDurations[effectIndex])) { ALOGE("Failed upload flip's effect %d (%d): %s", effectIndex, errno, strerror(errno)); } @@ -795,9 +801,10 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi if (header_count == dspmem_chunk_bytes(ch)) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } else { - mFfEffects[WAVEFORM_COMPOSE].replay.length = totalDuration; + // Composition duration should be 0 to allow firmware to play the whole effect + mFfEffects[WAVEFORM_COMPOSE].replay.length = 0; if (mIsDual) { - mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = totalDuration; + mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = 0; } return performEffect(WAVEFORM_MAX_INDEX /*ignored*/, VOLTAGE_SCALE_MAX /*ignored*/, ch, callback); @@ -1501,9 +1508,10 @@ ndk::ScopedAStatus Vibrator::getCompoundDetails(Effect effect, EffectStrength st } *outTimeMs = timeMs; - mFfEffects[WAVEFORM_COMPOSE].replay.length = static_cast(timeMs); + // Compositions should have 0 duration + mFfEffects[WAVEFORM_COMPOSE].replay.length = 0; if (mIsDual) { - mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = static_cast(timeMs); + mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = 0; } return ndk::ScopedAStatus::ok(); From d53fe60449cc601cb7feac390a26635292e3028a Mon Sep 17 00:00:00 2001 From: Pointer Kung Date: Fri, 19 Jan 2024 08:47:01 +0000 Subject: [PATCH 14/26] Camera: Adjust to improve camera launch and capture performance Because F10 enabled PMU and EM for 30fps, it also needs to sync ag/19286153 and ag/20084677 to enable CDPreferIdle for CAMERA_STREAMING_STANDARD and disable PMU and EM during the capture time (also increase the boost duration from 1000ms to 2500ms) to avoid performance impact. Bug: 321164832 Test: Build pass, gca_smoke_test, CTS Change-Id: I5e40662f7e49bd381891f705621209a41ddc96d7 --- powerhint.json | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/powerhint.json b/powerhint.json index fbcc819..c89bfd5 100644 --- a/powerhint.json +++ b/powerhint.json @@ -984,21 +984,33 @@ { "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE", "Node": "CPUBigClusterMaxFreq", - "Duration": 1000, + "Duration": 2500, "Value": "1826000" }, { "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE", "Node": "CPUMidClusterMaxFreq", - "Duration": 1000, + "Duration": 2500, "Value": "1491000" }, { "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE", "Node": "CPULittleClusterMaxFreq", - "Duration": 1000, + "Duration": 2500, "Value": "1401000" }, + { + "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE", + "Node": "PMU_POLL", + "Duration": 2500, + "Value": "0" + }, + { + "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE", + "Node": "EM_Profile", + "Duration": 2500, + "Value": "default" + }, { "PowerHint": "CAMERA_SHOT", "Node": "MemFreq", @@ -1467,12 +1479,6 @@ "Duration": 0, "Value": "1" }, - { - "PowerHint": "CAMERA_STREAMING_STANDARD", - "Node": "CDPreferIdle", - "Duration": 0, - "Value": "0" - }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "PMU_POLL", From dbd42fcb788fb940b8db9358df1aa48fe78a9e56 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Fri, 26 Jan 2024 17:52:52 +0800 Subject: [PATCH 15/26] powerstats: use display MRR state residency data provider Bug: 322458289 Test: vts-tradefed run vts -m VtsHalPowerStatsTargetTest Change-Id: Icba2a7da9c9480ce609b3cd07bd79ff2533c9ba4 Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 66 ++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 2de3797..dd10ef1 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -38,36 +38,50 @@ using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; void addDisplay(std::shared_ptr p) { // Add display residency stats for inner display - std::vector inner_states = { - "Off", - "LP: 1840x2208@1", - "LP: 1840x2208@30", - "On: 1840x2208@1", - "On: 1840x2208@10", - "On: 1840x2208@60", - "On: 1840x2208@120", - "HBM: 1840x2208@60", - "HBM: 1840x2208@120"}; + struct stat primaryBuffer; + if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &primaryBuffer)) { + // time_in_state exists + addDisplayMrrByEntity(p, "Inner Display", "/sys/class/drm/card0/device/primary-panel/"); + } else { + // time_in_state doesn't exist + std::vector inner_states = { + "Off", + "LP: 1840x2208@1", + "LP: 1840x2208@30", + "On: 1840x2208@1", + "On: 1840x2208@10", + "On: 1840x2208@60", + "On: 1840x2208@120", + "HBM: 1840x2208@60", + "HBM: 1840x2208@120"}; - p->addStateResidencyDataProvider(std::make_unique( - "Inner Display", - "/sys/class/backlight/panel0-backlight/state", - inner_states)); + p->addStateResidencyDataProvider(std::make_unique( + "Inner Display", + "/sys/class/backlight/panel0-backlight/state", + inner_states)); + } // Add display residency stats for outer display - std::vector outer_states = { - "Off", - "LP: 1080x2092@30", - "On: 1080x2092@10", - "On: 1080x2092@60", - "On: 1080x2092@120", - "HBM: 1080x2092@60", - "HBM: 1080x2092@120"}; + struct stat secondaryBuffer; + if (!stat("/sys/class/drm/card0/device/secondary-panel/time_in_state", &secondaryBuffer)) { + // time_in_state exists + addDisplayMrrByEntity(p, "Outer Display", "/sys/class/drm/card0/device/secondary-panel/"); + } else { + // time_in_state doesn't exist + std::vector outer_states = { + "Off", + "LP: 1080x2092@30", + "On: 1080x2092@10", + "On: 1080x2092@60", + "On: 1080x2092@120", + "HBM: 1080x2092@60", + "HBM: 1080x2092@120"}; - p->addStateResidencyDataProvider(std::make_unique( - "Outer Display", - "/sys/class/backlight/panel1-backlight/state", - outer_states)); + p->addStateResidencyDataProvider(std::make_unique( + "Outer Display", + "/sys/class/backlight/panel1-backlight/state", + outer_states)); + } // Add display energy consumer p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer( From 65e09ef3772256a63102d930e732dde6f8ada72b Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Wed, 10 Jan 2024 05:58:37 +0000 Subject: [PATCH 16/26] Update felix SVN to 40 Bug: 313797924 Change-Id: Iadcea8bc65170edbc73b3f825f473d4b6bddb376 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index a9e2f70..50b7beb 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=39 + ro.vendor.build.svn=40 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 8ee4be5ce262b2ff2e3d4378ca2b7cf1a017740c Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Fri, 26 Jan 2024 22:40:53 +0000 Subject: [PATCH 17/26] Update felix SVN to 41 Bug: 313797924 Change-Id: Idc5c9995bde014e20ad6006d97c8b295d22be1b5 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 50b7beb..14c6c29 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=40 + ro.vendor.build.svn=41 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 679a1686b2e91c77a79c9fe0b38239ba5d960f76 Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Sun, 28 Jan 2024 00:42:55 +0000 Subject: [PATCH 18/26] Update felix SVN to 42 Bug: 313797924 Change-Id: I831101a977dc0752fc1a21b52fe8c9f8f396ce23 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 6db098c..e2489f4 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -220,7 +220,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=41 + ro.vendor.build.svn=42 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From dbd48e97c0f8412424be08bf478276c09518532c Mon Sep 17 00:00:00 2001 From: Kimi Hsu Date: Thu, 1 Feb 2024 02:44:52 +0000 Subject: [PATCH 19/26] Add face sensor configs Bug: 323116566 Test: make Flag: NONE Change-Id: I8a883602b791fcdf38df9310f14bc88467b0b182 --- .../base/packages/SystemUI/res/values/config.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml index 16d2bb7..9d91e32 100644 --- a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -78,8 +78,17 @@ m 589.2,66.53 a 49.5,49.5 0 0 1 -49.5,49.5 49.5,49.5 0 0 1 -49.5,-49.5 49.5,49.5 0 0 1 49.5,-49.5 49.5,49.5 0 0 1 49.5,49.5 z - + 1 + + 5 + + + + 540 + 66 + 50 + From 331b140babe62318835a7923f00f11b09c454ebd Mon Sep 17 00:00:00 2001 From: Jacky Liu Date: Tue, 6 Feb 2024 19:47:18 +0800 Subject: [PATCH 20/26] Update i2c device paths Update i2c device paths with static bus numbers. Bug: 323447554 Test: Boot to home Change-Id: Id98eda794ef6c14e832dc3b40350f76adcb60ad8 --- powerstats/felix/service.cpp | 10 +--- ...rdware.vibrator-service.cs40l26-private.rc | 48 ++++++++++--------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index dd10ef1..0194a54 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -156,15 +156,7 @@ void addGPU(std::shared_ptr p) { } std::string getNfcPath() { - struct stat buffer; - int size = 128; - char path[size]; - for (int i = 0; i < 10; i++) { - std::snprintf(path, size, - "/sys/devices/platform/10970000.hsi2c/i2c-%d/i2c-st21nfc/power_stats", i); - if (!stat(path, &buffer)) break; - } - return std::string(path); + return std::string("/sys/devices/platform/10970000.hsi2c/i2c-8/8-0008/power_stats"); } int main() { diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc index 2799cdc..e45356e 100644 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc +++ b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc @@ -1,5 +1,5 @@ on property:vendor.all.modules.ready=1 - wait /sys/bus/i2c/devices/i2c-cs40l26a/calibration/redc_cal_time_ms + wait /sys/bus/i2c/devices/15-0043/calibration/redc_cal_time_ms mkdir /mnt/vendor/persist/haptics 0770 system system chmod 770 /mnt/vendor/persist/haptics @@ -9,26 +9,28 @@ on property:vendor.all.modules.ready=1 chown system system /mnt/vendor/persist/haptics/cs40l26.cal chown system system /mnt/vendor/persist/haptics/cs40l26_dual.cal - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/f0_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/f0_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/q_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/q_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/redc_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/redc_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/vibe_state - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/vibe_state - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/num_waves - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/num_waves - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_offset - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_offset - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/owt_free_space - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/owt_free_space - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/redc_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/redc_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/delay_before_stop_playback_us - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/delay_before_stop_playback_us + chown system system /sys/bus/i2c/devices/15-0043/calibration/f0_stored + chown system system /sys/bus/i2c/devices/15-0043/calibration/q_stored + chown system system /sys/bus/i2c/devices/15-0043/calibration/redc_stored + chown system system /sys/bus/i2c/devices/15-0043/default/vibe_state + chown system system /sys/bus/i2c/devices/15-0043/default/num_waves + chown system system /sys/bus/i2c/devices/15-0043/default/f0_offset + chown system system /sys/bus/i2c/devices/15-0043/default/owt_free_space + chown system system /sys/bus/i2c/devices/15-0043/default/f0_comp_enable + chown system system /sys/bus/i2c/devices/15-0043/default/redc_comp_enable + chown system system /sys/bus/i2c/devices/15-0043/default/delay_before_stop_playback_us + + chown system system /sys/bus/i2c/devices/15-0042/calibration/f0_stored + chown system system /sys/bus/i2c/devices/15-0042/calibration/q_stored + chown system system /sys/bus/i2c/devices/15-0042/calibration/redc_stored + chown system system /sys/bus/i2c/devices/15-0042/default/vibe_state + chown system system /sys/bus/i2c/devices/15-0042/default/num_waves + chown system system /sys/bus/i2c/devices/15-0042/default/f0_offset + chown system system /sys/bus/i2c/devices/15-0042/default/owt_free_space + chown system system /sys/bus/i2c/devices/15-0042/default/f0_comp_enable + chown system system /sys/bus/i2c/devices/15-0042/default/redc_comp_enable + chown system system /sys/bus/i2c/devices/15-0042/default/delay_before_stop_playback_us + chown system system /dev/gpiochip44 enable vendor.vibrator.cs40l26 @@ -46,8 +48,8 @@ service vendor.vibrator.cs40l26 /vendor/bin/hw/android.hardware.vibrator-service setenv CALIBRATION_FILEPATH /mnt/vendor/persist/haptics/cs40l26.cal setenv CALIBRATION_FILEPATH_DUAL /mnt/vendor/persist/haptics/cs40l26_dual.cal - setenv HWAPI_PATH_PREFIX /sys/bus/i2c/devices/i2c-cs40l26a/ - setenv HWAPI_PATH_PREFIX_DUAL /sys/bus/i2c/devices/i2c-cs40l26a-dual/ + setenv HWAPI_PATH_PREFIX /sys/bus/i2c/devices/15-0043/ + setenv HWAPI_PATH_PREFIX_DUAL /sys/bus/i2c/devices/15-0042/ setenv HWAPI_DEBUG_PATHS " calibration/f0_stored calibration/redc_stored From 6d85c6b9972f4473e6fea7b2d730600fb3909e61 Mon Sep 17 00:00:00 2001 From: Alice Kuo Date: Wed, 31 Jan 2024 22:36:05 +0000 Subject: [PATCH 21/26] Extend LE Audio allow list candidate device Bug: 323247113 Test: tester manual test result via b/322564783 Change-Id: Ibdc9d7f3bde60fc59af3a47e8c646a780a6f11a1 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index e2489f4..135051a 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -390,7 +390,7 @@ PRODUCT_COPY_FILES += \ # LE Audio Unicast Allowlist PRODUCT_PRODUCT_PROPERTIES += \ - persist.bluetooth.leaudio.allow_list=SM-R510 + persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5 # Bluetooth EWP test tool PRODUCT_PACKAGES_DEBUG += \ From 84d454c0ecbec52c5d6408a249ce79f1caef0b6c Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Wed, 14 Feb 2024 00:12:21 +0000 Subject: [PATCH 22/26] Update felix SVN to 43 Bug: 313797924 Change-Id: Ibbf7ca80f79eb5d46c3213b18ce1a056cf932825 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index e2489f4..7929017 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -220,7 +220,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=42 + ro.vendor.build.svn=43 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From d2bc8e7dc0c075ee0f76660b84feea1825179600 Mon Sep 17 00:00:00 2001 From: George Chang Date: Mon, 19 Feb 2024 06:54:47 +0000 Subject: [PATCH 23/26] Enable NFC firmware logging Enable NFC firmware logging by default for better debuggability. Bug: 307999188 Bug: 325604333 Test: manual Change-Id: I1a6265b5e041cc06e4c23e328059663ea6f81c63 --- nfc/libnfc-hal-st.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf index b7599c7..7300e21 100644 --- a/nfc/libnfc-hal-st.conf +++ b/nfc/libnfc-hal-st.conf @@ -8,7 +8,7 @@ NFC_DEBUG_ENABLED=0 ############################################################################### # Vendor specific mode to enable FW (RF & SWP) traces. -STNFC_FW_DEBUG_ENABLED=0 +STNFC_FW_DEBUG_ENABLED=1 ############################################################################### # File used for NFA storage From d9fc654578ff0265bd3a29b7bae6387653bab870 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Tue, 27 Feb 2024 16:48:05 +0800 Subject: [PATCH 24/26] Initial Bootloader prebuilt for AP3% build Bug: 326002225 Change-Id: I2ee8eef6d76ad14f544a04bfba060f6b77ad4303 --- device-felix.mk | 2 +- felix/BoardConfig.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index e2489f4..447d3e8 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -266,7 +266,7 @@ PRODUCT_PACKAGES += \ PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION))) PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts/trusty/24Q1 -else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION))) +else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION))) PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts/trusty/24Q2 else PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts/trusty/trunk diff --git a/felix/BoardConfig.mk b/felix/BoardConfig.mk index 1aaac33..a1ed5db 100644 --- a/felix/BoardConfig.mk +++ b/felix/BoardConfig.mk @@ -23,7 +23,7 @@ BOARD_KERNEL_CMDLINE += swiotlb=noforce RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_FELIX_RADIO_DIR) ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION))) RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1 -else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION))) +else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION))) RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2 else RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk From 6438a6b0b50fabf45ef3d2310e29a06fcb7e27fe Mon Sep 17 00:00:00 2001 From: Alice Kuo Date: Thu, 29 Feb 2024 08:32:10 +0000 Subject: [PATCH 25/26] Revert "Extend LE Audio allow list candidate device" This reverts commit 6d85c6b9972f4473e6fea7b2d730600fb3909e61. Reason for revert: no in plan for 24Q2 Bug: 327554841 Test: build Change-Id: I090aba7e994ffb31738a2e330b9c387c7bb52421 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 135051a..e2489f4 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -390,7 +390,7 @@ PRODUCT_COPY_FILES += \ # LE Audio Unicast Allowlist PRODUCT_PRODUCT_PROPERTIES += \ - persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5 + persist.bluetooth.leaudio.allow_list=SM-R510 # Bluetooth EWP test tool PRODUCT_PACKAGES_DEBUG += \ From 5c4d4da8e8f139a2084ca7c07f48aa86fdfd1654 Mon Sep 17 00:00:00 2001 From: Brad Lassey Date: Thu, 29 Feb 2024 15:28:39 +0000 Subject: [PATCH 26/26] Enabling Observe mode Bug: 327601464 Test: Tested on local device Change-Id: Iac265af75b5fbb9bf6b34448ff3d2d4413ae3959 --- rro_overlays/NfcOverlay/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/rro_overlays/NfcOverlay/res/values/config.xml b/rro_overlays/NfcOverlay/res/values/config.xml index 5e89b28..135ed8a 100644 --- a/rro_overlays/NfcOverlay/res/values/config.xml +++ b/rro_overlays/NfcOverlay/res/values/config.xml @@ -32,4 +32,5 @@ 103 103 + true