Avicii: Alphadroid Bringup

This commit is contained in:
2023-07-25 12:05:25 +05:30
commit 66e8665bcc
100 changed files with 29362 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "CarrierConfigResCommon",
aaptflags: ["--keep-raw-values"],
product_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.carrierconfig.overlay.common">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="com.android.carrierconfig" />
</manifest>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "FrameworksResTarget",
vendor: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.target">
<overlay
android:isStatic="true"
android:priority="250"
android:targetPackage="android" />
</manifest>

View File

@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The Linux Foundation
SPDX-License-Identifier: BSD-3-Clause
-->
<resources>
<!-- Control whether the always on display mode is available. This should only be enabled on
devices where the display has been tuned to be power efficient in DOZE and/or DOZE_SUSPEND
states. -->
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
autodetected from the Configuration. -->
<bool name="config_showNavigationBar">true</bool>
<!-- When true use the linux /dev/input/event subsystem to detect the switch changes
on the headphone/microphone jack. When false use the older uevent framework. -->
<bool name="config_useDevInputEventForAudioJack">true</bool>
<!-- Telephony qualified networks service package name to bind to by default. -->
<string name="config_qualified_networks_service_package" translatable="false">vendor.qti.iwlan</string>
<!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
empty string is passed in -->
<string name="config_wlan_data_service_package" translatable="false">vendor.qti.iwlan</string>
<!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
empty string is passed in -->
<string name="config_wlan_network_service_package" translatable="false">vendor.qti.iwlan</string>
<!-- Default files to pin via Pinner Service -->
<string-array name="config_defaultPinnerServiceFiles">
<item>/system/framework/arm64/boot-framework.oat</item>
<item>/system/framework/arm/boot-framework.oat</item>
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.oat</item>
<item>/apex/com.android.art/javalib/arm/boot-core-libart.oat</item>
<item>/apex/com.android.art/javalib/arm64/boot-okhttp.oat</item>
<item>/apex/com.android.art/javalib/arm/boot-okhttp.oat</item>
<item>/apex/com.android.art/javalib/arm64/boot.vdex</item>
<item>/apex/com.android.art/javalib/arm/boot.vdex</item>
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.vdex</item>
<item>/apex/com.android.art/javalib/arm/boot-core-libart.vdex</item>
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.art</item>
<item>/apex/com.android.art/javalib/arm/boot-core-libart.art</item>
<item>/system/framework/framework-res.apk</item>
<item>/system/lib64/libhwui.so</item>
<item>/system/lib/libhwui.so</item>
<item>/system/framework/boot-framework.vdex</item>
<item>/system/framework/oat/arm64/services.vdex</item>
<item>/system/framework/oat/arm64/services.odex</item>
<item>/apex/com.android.art/javalib/arm64/boot.oat</item>
<item>/apex/com.android.art/javalib/arm/boot.oat</item>
<item>/system/framework/telephony-common.jar</item>
<item>/system/framework/arm64/boot-telephony-common.art</item>
<item>/system/lib64/libsurfaceflinger.so</item>
<item>/apex/com.android.art/javalib/core-oj.jar</item>
<item>/apex/com.android.art/javalib/core-libart.jar</item>
</string-array>
<!-- 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>
</string-array>
<!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
<bool name="config_telephony5gStandalone">true</bool>
<!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
<bool name="config_telephony5gNonStandalone">true</bool>
<!-- The default journal mode to use use when Write-Ahead Logging is not active.
Choices are: OFF, DELETE, TRUNCATE, PERSIST and MEMORY.
PERSIST may improve performance by reducing how often journal blocks are
reallocated (compared to truncation) resulting in better data block locality
and less churn of the storage media.
The PERSIST mode results in data persisting in the journal beyond the life of
a transaction, so it interacts poorly with SECURE_DELETE. -->
<string name="db_default_journal_mode" translatable="false">MEMORY</string>
<!-- The database synchronization mode when using the default journal mode.
FULL is safest and preserves durability at the cost of extra fsyncs.
NORMAL also preserves durability in non-WAL modes and uses checksums to ensure
integrity although there is a small chance that an error might go unnoticed.
Choices are: FULL, NORMAL, OFF. -->
<string name="db_default_sync_mode" translatable="false">OFF</string>
<!-- The database synchronization mode when using Write-Ahead Logging.
From https://www.sqlite.org/pragma.html#pragma_synchronous:
WAL mode is safe from corruption with synchronous=NORMAL, and probably DELETE mode is safe
too on modern filesystems. WAL mode is always consistent with synchronous=NORMAL, but WAL
mode does lose durability. A transaction committed in WAL mode with
synchronous=NORMAL might roll back following a power loss or system crash.
Transactions are durable across application crashes regardless of the synchronous setting
or journal mode. The synchronous=NORMAL setting is a good choice for most applications
running in WAL mode.
Choices are: FULL, NORMAL, OFF. -->
<string name="db_wal_sync_mode" translatable="false">OFF</string>
<!-- Whether device has physical tri state switch -->
<bool name="config_hasAlertSlider">true</bool>
<!-- The location of the devices physical tri state switch
0: Left side
1: Right side -->
<integer name="config_alertSliderLocation">1</integer>
<!-- Whether doze feature is enabled by default in settings -->
<bool name="config_doze_enabled_by_default">true</bool>
<!-- Power Management: Specifies whether to decouple the auto-suspend state of the
device from the display on/off state.
When false, autosuspend_disable() will be called before the display is turned on
and autosuspend_enable() will be called after the display is turned off.
This mode provides best compatibility for devices using legacy power management
features such as early suspend / late resume.
When true, autosuspend_display() and autosuspend_enable() will be called
independently of whether the display is being turned on or off. This mode
enables the power manager to suspend the application processor while the
display is on.
This resource should be set to "true" when a doze component has been specified
to maximize power savings but not all devices support it.
Refer to autosuspend.h for details.
-->
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
<!-- Power Management: Specifies whether to decouple the interactive state of the
device from the display on/off state.
When false, setInteractive(..., true) will be called before the display is turned on
and setInteractive(..., false) will be called after the display is turned off.
This mode provides best compatibility for devices that expect the interactive
state to be tied to the display state.
When true, setInteractive(...) will be called independently of whether the display
is being turned on or off. This mode enables the power manager to reduce
clocks and disable the touch controller while the display is on.
This resource should be set to "true" when a doze component has been specified
to maximize power savings but not all devices support it.
Refer to power.h for details.
-->
<bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
<bool name="config_unplugTurnsOnScreen">true</bool>
<!-- Whether device supports sensor based doze customizations -->
<bool name="config_dozePulsePickup">true</bool>
<bool name="config_dozePulseTilt">true</bool>
<bool name="config_dozePulseProximity">true</bool>
<bool name="config_deviceHaveWakeUpProximity">true</bool>
<!-- The maximum range of gamma adjustment possible using the screen
auto-brightness adjustment setting. -->
<fraction name="config_autoBrightnessAdjustmentMaxGamma">150%</fraction>
<!-- Flag indicating whether notification and ringtone volumes
are controlled together (aliasing is true) or not. -->
<bool name="config_alias_ring_notif_stream_types">false</bool>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusFrameworksResCommon",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.oplus">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="android" />
</manifest>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
</resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
</resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
</resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
</resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
<!-- MMS user agent prolfile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
</resources>

View File

@@ -0,0 +1,179 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Indicate whether closing the lid causes the device to go to sleep and opening
it causes the device to wake up.
The default is false. -->
<bool name="config_lidControlsSleep">true</bool>
<!-- True if home app should be pinned via Pinner Service -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Indicate whether to allow the device to suspend when the screen is off
due to the proximity sensor. This resource should only be set to true
if the sensor HAL correctly handles the proximity sensor as a wake-up source.
Otherwise, the device may fail to wake out of suspend reliably.
The default is false. -->
<bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
<!-- Whether device supports double tap to wake -->
<bool name="config_supportDoubleTapWake">true</bool>
<!-- True if the device supports Sustained Performance Mode-->
<bool name="config_sustainedPerformanceModeSupported">true</bool>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<item>0</item>
<item>10</item>
</integer-array>
<!-- Vibrator pattern for feedback about touching a virtual key -->
<integer-array name="config_virtualKeyVibePattern">
<item>0</item>
<item>10</item>
</integer-array>
<!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
<integer-array name="config_keyboardTapVibePattern">
<item>10</item>
</integer-array>
<!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
<integer-array name="config_availableColorModes">
<item>0</item>
<item>256</item>
<item>258</item>
<item>259</item>
</integer-array>
<!-- Default list of files pinned by the Pinner Service -->
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
<item>"/system/bin/surfaceflinger"</item>
<item>"/system/framework/ext.jar"</item>
<item>"/system/framework/framework.jar"</item>
<item>"/system/framework/services.jar"</item>
<item>"/system/lib/libEGL.so"</item>
<item>"/system/lib/libGLESv1_CM.so"</item>
<item>"/system/lib/libGLESv2.so"</item>
<item>"/system/lib/libGLESv3.so"</item>
<item>"/system/lib/libgui.so"</item>
<item>"/system/lib/libhwui.so"</item>
<item>"/system/lib/libui.so"</item>
<item>"/system/lib/libvulkan.so"</item>
<item>"/system/lib64/libEGL.so"</item>
<item>"/system/lib64/libGLESv1_CM.so"</item>
<item>"/system/lib64/libGLESv2.so"</item>
<item>"/system/lib64/libGLESv3.so"</item>
<item>"/system/lib64/libgui.so"</item>
<item>"/system/lib64/libhwui.so"</item>
<item>"/system/lib64/libui.so"</item>
<item>"/system/lib64/libvulkan.so"</item>
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
<item>"/vendor/lib/egl/eglSubDriverAndroid.so"</item>
<item>"/vendor/lib/egl/libEGL_adreno.so"</item>
<item>"/vendor/lib/egl/libGLESv1_CM_adreno.so"</item>
<item>"/vendor/lib/egl/libGLESv2_adreno.so"</item>
<item>"/vendor/lib/hw/vulkan.adreno.so"</item>
<item>"/vendor/lib/libCB.so"</item>
<item>"/vendor/lib/libOpenCL.so"</item>
<item>"/vendor/lib/libadreno_utils.so"</item>
<item>"/vendor/lib/libgpudataproducer.so"</item>
<item>"/vendor/lib/libgsl.so"</item>
<item>"/vendor/lib/libllvm-glnext.so"</item>
<item>"/vendor/lib/libllvm-qcom.so"</item>
<item>"/vendor/lib64/libcamxexternalformatutils.so"</item>
<item>"/vendor/lib64/libipebpsstriping.so"</item>
<item>"/vendor/lib64/egl/eglSubDriverAndroid.so"</item>
<item>"/vendor/lib64/egl/libEGL_adreno.so"</item>
<item>"/vendor/lib64/egl/libGLESv1_CM_adreno.so"</item>
<item>"/vendor/lib64/egl/libGLESv2_adreno.so"</item>
<item>"/vendor/lib64/hw/vulkan.adreno.so"</item>
<item>"/vendor/lib64/libCB.so"</item>
<item>"/vendor/lib64/libOpenCL.so"</item>
<item>"/vendor/lib64/libadreno_utils.so"</item>
<item>"/vendor/lib64/libgpudataproducer.so"</item>
<item>"/vendor/lib64/libgsl.so"</item>
<item>"/vendor/lib64/libllvm-glnext.so"</item>
<item>"/vendor/lib64/libllvm-qcom.so"</item>
</string-array>
<!-- Screen brightness used to dim the screen while dozing in a very low power state.
May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDoze">17</integer>
<!-- Control whether the always on display mode is enabled by default. This value will be used
during initialization when the setting is still null. -->
<bool name="config_dozeAlwaysOnEnabled">false</bool>
<!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
<string name="config_dozeUdfpsLongPressSensorType" translatable="false">org.lineageos.sensor.udfps</string>
<!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
carrier provisioning. If false: hard disabled. If true: then depends on carrier
provisioning, availability etc -->
<bool name="config_carrier_wfc_ims_available">true</bool>
<!-- Whether the new Auto Selection Network UI should be shown -->
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
<!-- Safe headphone volume index. When music stream volume is below this index
the SPL on headphone output is compliant to EN 60950 requirements for portable music
players. -->
<integer name="config_safe_media_volume_index">18</integer>
<!-- Safe USB headset gain. This value is used to ensure that the SPL on the USB
headset output is compliant to EN 60950 requirements for portable music players. -->
<integer name="config_safe_media_volume_usb_mB">-1650</integer>
<!-- Power Management: Specifies whether to decouple the auto-suspend state of the
device from the display on/off state.
When false, autosuspend_disable() will be called before the display is turned on
and autosuspend_enable() will be called after the display is turned off.
This mode provides best compatibility for devices using legacy power management
features such as early suspend / late resume.
When true, autosuspend_display() and autosuspend_enable() will be called
independently of whether the display is being turned on or off. This mode
enables the power manager to suspend the application processor while the
display is on.
This resource should be set to "true" when a doze component has been specified
to maximize power savings but not all devices support it.
Refer to autosuspend.h for details.
-->
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
<!-- Enables or disables haptic effect when the text insertion/selection handle is moved
manually by the user. Off by default, since the expected haptic feedback may not be
available on some devices. -->
<bool name="config_enableHapticTextHandle">true</bool>
<!-- Whether device has warp charging support -->
<bool name="config_hasWarpCharger">true</bool>
<!-- Path to warp charging status file -->
<string name="config_WarpChargerStatusPath">/sys/devices/virtual/oplus_chg/battery/voocchg_ing</string>
<!-- Whether devices suports in-display fingerprint when screen is off -->
<bool name="config_supportScreenOffUdfps">true</bool>
<!-- If true, the display will be shifted around in ambient mode. -->
<bool name="config_enableBurnInProtection">true</bool>
<!-- Smart charging -->
<bool name="config_smartChargingAvailable">true</bool>
<string name="config_smartChargingSysfsNode" translatable="false">/sys/devices/virtual/oplus_chg/battery/mmi_charging_enable</string>
<string name="config_smartChargingSuspendValue" translatable="false">0</string>
<string name="config_smartChargingResumeValue" translatable="false">1</string>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusFrameworksResTarget",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.oplus.target">
<overlay
android:isStatic="true"
android:priority="350"
android:targetPackage="android" />
</manifest>

View File

@@ -0,0 +1,379 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">true</bool>
<!-- Array of hysteresis constraint values for brightening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_ambientThresholdLevels. The brightening threshold is calculated as
lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
the screen brightness is recalculated. See the config_ambientThresholdLevels
description for how the constraint value is chosen. -->
<integer-array name="config_ambientBrighteningThresholds">
<item>100</item>
</integer-array>
<!-- Array of hysteresis constraint values for darkening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_ambientThresholdLevels. The darkening threshold is calculated as
lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
the screen brightness is recalculated. See the config_ambientThresholdLevels
description for how the constraint value is chosen. -->
<integer-array name="config_ambientDarkeningThresholds">
<item>200</item>
</integer-array>
<!-- Array of hysteresis constraint values for brightening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_screenThresholdLevels. The brightening threshold is calculated as
screenBrightness * (1.0f + CONSTRAINT_VALUE). When the new screen brightness is higher
than this threshold, it is applied. See the config_screenThresholdLevels description for
how the constraint value is chosen. -->
<integer-array name="config_screenBrighteningThresholds">
<item>100</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)
Point 1: (0, value[1]): lux <= 0
Point 2: (level[1], value[2]): 0 < lux <= level[1]
Point 3: (level[2], value[3]): level[2] < lux <= level[3]
...
Point N+1: (level[N], value[N+1]): level[N] < lux
The control points must be strictly increasing. Each control point
corresponds to an entry in the brightness backlight values arrays.
For example, if lux == level[1] (first element of the levels array)
then the brightness will be determined by value[2] (second element
of the brightness values array).
Spline interpolation is used to determine the auto-brightness
backlight values for lux levels between these control points.
Must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLevels">
<item>1</item>
<item>4</item>
<item>12</item>
<item>20</item>
<item>28</item>
<item>47</item>
<item>63</item>
<item>86</item>
<item>150</item>
<item>160</item>
<item>220</item>
<item>270</item>
<item>360</item>
<item>420</item>
<item>510</item>
<item>620</item>
<item>1000</item>
<item>2000</item>
<item>3100</item>
<item>5000</item>
<item>8000</item>
<item>12000</item>
</integer-array>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
config_screenBrightnessMaximumNits, 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.0487</item>
<item>4.8394</item>
<item>17.2619</item>
<item>39.2619</item>
<item>50.671</item>
<item>72.95</item>
<item>80.46</item>
<item>84.38</item>
<item>89.51</item>
<item>100.34</item>
<item>102.21</item>
<item>109.48</item>
<item>114.19</item>
<item>123.86</item>
<item>129.18</item>
<item>138.07</item>
<item>145.62</item>
<item>168.84</item>
<item>234.9</item>
<item>291</item>
<item>370</item>
<item>492</item>
<item>580</item>
</array>
<!-- An array of floats describing the screen brightness in nits corresponding to the backlight
values in the config_screenBrightnessBacklight array. On OLED displays these values
should be measured with an all white image while the display is in the fully on state.
Note that this value should *not* reflect the maximum brightness value for any high
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">
<item>0</item>
<item>7.4682</item>
<item>15.0705</item>
<item>23.3737</item>
<item>31.2438</item>
<item>39.556</item>
<item>47.8227</item>
<item>56.0794</item>
<item>63.6139</item>
<item>71.5684</item>
<item>79.4638</item>
<item>86.8793</item>
<item>95.0577</item>
<item>103.0389</item>
<item>110.3256</item>
<item>116.746</item>
<item>124.7228</item>
<item>132.68</item>
<item>140.816</item>
<item>148.471</item>
<item>156.752</item>
<item>164.2611</item>
<item>171.5288</item>
<item>179.0178</item>
<item>186.723</item>
<item>193.96</item>
<item>201.9487</item>
<item>210.1148</item>
<item>217.832</item>
<item>224.691</item>
<item>232.942</item>
<item>237.811</item>
<item>245.177</item>
<item>253.304</item>
<item>261.06</item>
<item>269.164</item>
<item>276.811</item>
<item>283.647</item>
<item>291.413</item>
<item>299.125</item>
<item>306.583</item>
<item>314.72</item>
<item>324.95</item>
<item>333.416</item>
<item>341.499</item>
<item>349.777</item>
<item>360.449</item>
<item>369.452</item>
<item>378.102</item>
<item>387.462</item>
<item>395.925</item>
<item>405.191</item>
<item>415.583</item>
<item>423.5969</item>
<item>431.942</item>
<item>443.721</item>
<item>451.548</item>
<item>460.075</item>
<item>471.569</item>
<item>479.598</item>
<item>488.626</item>
<item>496.3005</item>
<item>506.5896</item>
<item>518.187</item>
<item>529.5164</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
This array should be equal in size to config_screenBrightnessBacklight. -->
<integer-array name="config_screenBrightnessBacklight">
<item>0</item>
<item>4</item>
<item>8</item>
<item>12</item>
<item>16</item>
<item>20</item>
<item>24</item>
<item>28</item>
<item>32</item>
<item>36</item>
<item>40</item>
<item>44</item>
<item>48</item>
<item>52</item>
<item>56</item>
<item>60</item>
<item>64</item>
<item>68</item>
<item>72</item>
<item>76</item>
<item>80</item>
<item>84</item>
<item>88</item>
<item>92</item>
<item>96</item>
<item>100</item>
<item>104</item>
<item>108</item>
<item>112</item>
<item>116</item>
<item>120</item>
<item>123</item>
<item>127</item>
<item>131</item>
<item>135</item>
<item>139</item>
<item>143</item>
<item>147</item>
<item>151</item>
<item>155</item>
<item>159</item>
<item>163</item>
<item>167</item>
<item>171</item>
<item>175</item>
<item>179</item>
<item>183</item>
<item>187</item>
<item>191</item>
<item>195</item>
<item>199</item>
<item>203</item>
<item>207</item>
<item>211</item>
<item>215</item>
<item>219</item>
<item>223</item>
<item>227</item>
<item>231</item>
<item>235</item>
<item>239</item>
<item>243</item>
<item>246</item>
<item>251</item>
<item>255</item>
</integer-array>
<!-- 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">6</integer>
<!-- 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 type="dimen" name="config_screenBrightnessSettingDefaultFloat">0.1535</item>
<!-- Maximum screen brightness allowed by the power manager.
-2 is invalid so setting will resort to int value specified above.
Set this to 1.0 for maximum brightness range.
The user is forbidden from setting the brightness above this level. -->
<item type="dimen" name="config_screenBrightnessSettingMaximumFloat">1.0</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 type="dimen" name="config_screenBrightnessSettingMinimumFloat">0.008304836</item>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
for debouncing the light sensor. Different constants are used to debounce the light sensor
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
<integer name="config_autoBrightnessBrighteningLightDebounce">1500</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">1500</integer>
<!-- Light sensor event rate in milliseconds for automatic brightness control. -->
<integer name="config_autoBrightnessLightSensorRate">300</integer>
<!-- 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.
-->
<string translatable="false" name="config_mainBuiltInDisplayCutout">
M -436.5 33
L -319.5 33
A 38.5 38.5 0 0 1 -281 71.5
L -281 71.5
A 38.5 38.5 0 0 1 -319.5 110
L -436.5 110
A 38.5 38.5 0 0 1 -475 71.5
L -475 71.5
A 38.5 38.5 0 0 1 -436.5 33
Z
M -475 0
L -283 0
Z
M -540 0
L -540 113
Z
</string>
<!-- Like config_mainBuiltInDisplayCutout, but this path is used to report the
one single bounding rect per device edge to the app via
{@link DisplayCutout#getBoundingRect}. Note that this path should try to match the visual
appearance of the cutout as much as possible, and may be smaller than
config_mainBuiltInDisplayCutout
-->
<string name="config_mainBuiltInDisplayCutoutRectApproximation">
M 0,0
H 285
V 113
H 0
Z
@left</string>
<!-- Whether the display cutout region of the main built-in display should be forced to
black in software (to avoid aliasing or emulate a cutout that is not physically existent).
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
<!-- 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>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<item>540</item> <!-- <item>sensorLocationX</item> -->
<item>2166</item> <!-- <item>sensorLocationY</item> -->
<item>102</item> <!-- <item>sensorRadius</item> -->
</integer-array>
</resources>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Height of the status bar.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_default">28dp</dimen>
<dimen name="status_bar_height_portrait">113px</dimen>
<dimen name="status_bar_height_landscape">28dp</dimen>
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">100px</dimen>
</resources>

View File

@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2016, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
-->
<!-- project:18097 -->
<device name="Android">
<!-- Most values are the incremental current used by a feature,
in mA (measured at nominal voltage).
The default values are deliberately incorrect dummy values.
OEM's must measure and provide actual values before
shipping a device.
Example real-world values are given in comments, but they
are totally dependent on the platform and can vary
significantly, so should be measured on the shipping platform
with a power meter. -->
<item name="none">0</item>
<item name="ambient.on.display0">29.53</item>
<item name="screen.on.display0">80.09</item> <!-- ~200mA -->
<item name="screen.full.display0">241</item> <!-- ~300mA -->
<item name="bluetooth.active">80</item> <!-- Bluetooth data transfer, ~10mA -->
<item name="bluetooth.on">1</item> <!-- Bluetooth on & connectable, but not connected, ~0.1mA -->
<item name="wifi.on">1.8</item> <!-- ~3mA -->
<item name="wifi.active">180</item> <!-- WIFI data transfer, ~200mA -->
<item name="wifi.scan">120</item> <!-- WIFI network scanning, ~100mA -->
<item name="audio">0</item> <!-- ~10mA -->
<item name="video">0</item> <!-- ~50mA -->
<item name="camera.flashlight">128</item> <!-- Avg. power for camera flash, ~160mA -->
<item name="camera.avg">658</item> <!-- Avg. power use of camera in standard usecases, ~550mA -->
<item name="gps.on">75</item> <!-- ~50mA -->
<item name="audio">32.53</item> <!-- new add ~10mA -->
<item name="video">52.20</item> <!-- new add ~50mA -->
<item name="bluetooth.controller.idle">1</item> <!--new add -->
<item name="bluetooth.controller.rx">60</item> <!--new add -->
<item name="bluetooth.controller.tx">90</item> <!--new add -->
<item name="bluetooth.controller.voltage">3300</item> <!--new add -->
<!-- Radio related values. For modems without energy reporting support in firmware, use
radio.active, radio.scanning, and radio.on. -->
<item name="radio.active">191.5</item> <!-- ~200mA -->
<item name="radio.scanning">143.5</item> <!-- cellular radio scanning for signal, ~10mA -->
<!-- Current consumed by the radio at different signal strengths, when paging -->
<array name="radio.on"> <!-- Strength 0 to BINS-1 delete 1 line-->
<value>1</value> <!-- ~2mA -->
</array>
<!-- Radio related values. For modems WITH energy reporting support in firmware, use
modem.controller.idle, modem.controller.tx, modem.controller.rx, modem.controller.voltage.
-->
<item name="modem.controller.idle">1</item>
<item name="modem.controller.rx">200.8</item>
<array name="modem.controller.tx">
<value>176.4</value>
<value>246.8</value>
<value>323.3</value>
<value>484.6</value>
<value>646.8</value>
</array>
<item name="modem.controller.voltage">800</item>
<!-- A list of heterogeneous CPU clusters, where the value for each cluster represents the
number of CPU cores for that cluster.
Ex:
<array name="cpu.clusters.cores">
<value>4</value> // cluster 0 has cpu0, cpu1, cpu2, cpu3
<value>2</value> // cluster 1 has cpu4, cpu5
</array> -->
<array name="cpu.clusters.cores">
<value>6</value> <!-- cluster 0 has cpu0, cpu1, cpu2, cpu3, cpu4, cpu5 -->
<value>1</value> <!-- cluster 1 has cpu6-->
<value>1</value><!-- cluster 2 has cpu7 -->
</array>
<!-- Different CPU speeds for cluster 0 as reported in
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state.
There must be one of these for each cluster, labeled:
cpu.speeds.cluster0, cpu.speeds.cluster1, etc... -->
<array name="cpu.core_speeds.cluster0">
<value>300000</value> <!-- 300 MHz CPU speed -->
<value>576000</value> <!-- 576 MHz CPU speed -->
<value>614400</value> <!-- 744.8 MHz CPU speed -->
<value>864000</value> <!-- 998.4 MHz CPU speed -->
<value>1075200</value> <!-- 1209.6 MHz CPU speed -->
<value>1363200</value> <!-- 1324.8 MHz CPU speed -->
<value>1516800</value> <!-- 1516.8 MHz CPU speed -->
<value>1651200</value> <!-- 1612.8 MHz CPU speed -->
<value>1804800</value>
</array>
<array name="cpu.core_speeds.cluster1">
<value>652800</value> <!-- 300 MHz CPU speed -->
<value>940800</value> <!-- 652 MHz CPU speed -->
<value>1152000</value> <!-- 852 MHz CPU speed -->
<value>1478400</value> <!-- 979 MHz CPU speed -->
<value>1728000</value> <!-- 1132 MHz CPU speed -->
<value>1900800</value> <!-- 1363 MHz CPU speed -->
<value>2092800</value> <!-- 1536 MHz CPU speed -->
<value>2208000</value> <!-- 1747 MHz CPU speed -->
</array>
<array name="cpu.core_speeds.cluster2">
<value>806400</value> <!-- 300 MHz CPU speed -->
<value>1094400</value> <!-- 652 MHz CPU speed -->
<value>1401600</value> <!-- 852 MHz CPU speed -->
<value>1766400</value> <!-- 979 MHz CPU speed -->
<value>1996800</value> <!-- 1132 MHz CPU speed -->
<value>2188800</value> <!-- 1363 MHz CPU speed -->
<value>2304000</value> <!-- 1536 MHz CPU speed -->
<value>2400000</value> <!-- 1747 MHz CPU speed -->
</array>
<!-- Current at each CPU speed for cluster 0, as per 'cpu.speeds.cluster0'.
Like cpu.speeds.cluster0, there must be one of these present for
each heterogeneous CPU cluster. -->
<array name="cpu.core_power.cluster0">
<value>36</value> <!-- ~14mA -->
<value>38</value> <!-- ~25mA -->
<value>39</value> <!-- ~31mA -->
<value>43</value> <!-- ~46mA -->
<value>48</value> <!-- ~57mA -->
<value>55</value> <!-- ~84mA -->
<value>65</value> <!-- ~96mA -->
<value>75</value> <!-- ~114mA -->
<value>78</value>
</array>
<!-- Current at each CPU speed for cluster 1, as per 'cpu.speeds.cluster1'.
Like cpu.speeds.cluster1, there must be one of these present for
each heterogeneous CPU cluster. -->
<array name="cpu.core_power.cluster1">
<value>61</value> <!-- ~256mA -->
<value>74</value> <!-- ~307mA -->
<value>86</value> <!-- ~332mA -->
<value>118</value> <!-- ~382mA -->
<value>150</value> <!-- ~408mA -->
<value>189</value> <!-- ~448mA -->
<value>252</value> <!-- ~586mA -->
<value>263</value> <!-- ~641mA -->
</array>
<array name="cpu.core_power.cluster2">
<value>141</value> <!-- ~256mA -->
<value>175</value> <!-- ~307mA -->
<value>201</value> <!-- ~332mA -->
<value>247</value> <!-- ~382mA -->
<value>277</value> <!-- ~408mA -->
<value>314</value> <!-- ~448mA -->
<value>329</value> <!-- ~586mA -->
<value>339</value> <!-- ~641mA -->
</array>
<!-- Current when CPU is awake -->
<item name="cpu.awake">16.1</item>
<!-- Current when CPU is idle -->
<item name="cpu.idle">9.2</item>
<!-- Memory bandwidth power values in mA at the rail. There must be one value
for each bucket defined in the device tree. -->
<array name="memory.bandwidths">
<value>22.7</value> <!-- mA for bucket: 100mb/s-1.5 GB/s memory bandwidth -->
</array>
<!-- This is the battery capacity in mAh (measured at nominal voltage) -->
<item name="battery.capacity">4000</item>
<!-- Wifi related values. -->
<!-- Idle Receive current for wifi radio in mA. 0 by default-->
<item name="wifi.controller.idle">1.5</item>
<!-- Rx current for wifi radio in mA. 0 by default-->
<item name="wifi.controller.rx">170</item>
<!-- Tx current for wifi radio in mA. 0 by default-->
<item name="wifi.controller.tx">220</item>
<!-- Current at each of the wifi Tx levels in mA. The number of tx levels varies per device
and is available only of wifi chipsets which support the tx level reporting. Use
wifi.tx for other chipsets. none by default -->
<array name="wifi.controller.tx_levels"> <!-- mA -->
</array>
<!-- Operating volatage for wifi radio in mV. 0 by default-->
<item name="wifi.controller.voltage">3300</item>
<array name="wifi.batchedscan"> <!-- mA -->
<value>.0002</value> <!-- 1-8/hr -->
<value>.002</value> <!-- 9-64/hr -->
<value>.02</value> <!-- 65-512/hr -->
<value>.2</value> <!-- 513-4,096/hr -->
<value>2</value> <!-- 4097-/hr -->
</array>
</device>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusSettingsProviderResTarget",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.providers.settings.overlay.oplus.target">
<overlay
android:isStatic="true"
android:priority="350"
android:targetPackage="com.android.providers.settings" />
</manifest>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
<string name="def_device_name_simple" translatable="false">OnePlus Nord</string>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusSettingsResCommon",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.oplus">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="com.android.settings" />
</manifest>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Display settings screen, Color mode options. Must be the same length and order as
config_color_mode_options_values below. Only the values that also appear in
frameworks/base/core/res/res/values/config.xml's config_availableColorModes are shown. -->
<string-array name="config_color_mode_options_strings" translatable="false">
<item>Vivid</item>
<item>Natural</item>
<item>Cinematic</item>
<item>Brilliant</item>
</string-array>
<!-- Display settings screen, Color mode options. Must be the same length and order as
config_color_mode_options_strings above. Only the values that also appear in
frameworks/base/core/res/res/values/config.xml's config_availableColorModes are shown. -->
<integer-array name="config_color_mode_options_values" translatable="false">
<item>0</item>
<item>256</item>
<item>258</item>
<item>259</item>
</integer-array>
<!-- Whether to show Smooth Display feature in Settings Options -->
<bool name="config_show_smooth_display">true</bool>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusSystemUIResCommon",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.oplus">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The crDroid Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Whether to use the split 2-column notification shade -->
<bool name="config_use_split_notification_shade">true</bool>
<!-- Notifications are sized to match the width of two (of 4) qs tiles in landscape. -->
<bool name="config_skinnyNotifsInLandscape">false</bool>
</resources>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The crDroid Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- The height of the container that holds the battery and time in the quick settings header.
Preferred over using "@*android:dimen/quick_qs_offset_height" as system icons are not always
present in quick settings (e.g. in split shade) and it's useful to be able to override this
value in such cases.
-->
<dimen name="qs_header_system_icons_area_height">0dp</dimen>
<dimen name="qs_panel_padding_top">0dp</dimen>
</resources>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
vibrator is capable of subtle vibrations -->
<bool name="config_vibrateOnIconAnimation">true</bool>
<!-- Doze: does the double tap sensor need a proximity check? -->
<bool name="doze_double_tap_proximity_check">true</bool>
<!-- Doze: does the long press sensor need a proximity check? -->
<bool name="doze_long_press_proximity_check">true</bool>
<!-- FPSInfoService FPS node file path -->
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
<!-- Whether show refresh rate QS tile -->
<bool name="config_showRefreshRateQsTile">true</bool>
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OPlusSystemUIResTarget",
device_specific: true,
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.oplus.target">
<overlay
android:isStatic="true"
android:priority="350"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200px"
android:height="200px"
android:viewportWidth="200"
android:viewportHeight="200">
<path
android:fillColor="#ff000000"
android:pathData="M 0.9401 114.6228 C 1.2391 96.1938 1.5141 79.8438 3.1211 66.8988 C 4.7241 53.9548 7.6571 44.4118 12.4421 36.1618 C 17.2261 27.9118 23.8641 20.9548 32.0031 15.8278 C 40.1411 10.7018 49.7841 7.4068 59.1171 5.3408 C 68.4501 3.2738 77.4751 2.4378 87.4811 1.9188 C 97.4861 1.3978 108.4731 1.1968 118.4451 1.0188 C 128.4151 0.8398 137.3691 0.6848 147.3201 0.5178 C 157.2691 0.3508 168.2111 0.1728 180.1961 0.0838 C 192.1791 -0.0042 205.2001 -0.0042 217.7381 -0.0042 L 0.0001 -0.0042 L 0.0001 209.8958 C 0.0001 196.6958 0.0001 185.3798 0.1621 169.4688 C 0.3211 153.5558 0.6411 133.0498 0.9401 114.6228" />
</vector>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2011, 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.
*/
-->
<resources>
<!-- the padding on the start of the statusbar -->
<dimen name="status_bar_padding_start">48px</dimen>
<!-- the padding on the end of the statusbar -->
<dimen name="status_bar_padding_end">33px</dimen>
</resources>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 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. -->
<resources>
<!-- Respect drawable/rounded.xml intrinsic size for multiple radius corner path customization -->
<bool name="config_roundedCornerMultipleRadius">true</bool>
<!-- The Enrollment Progress bar for UDFPS sensor in pixels -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">107</integer>
</resources>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2006, 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.
*/
-->
<resources>
<!-- the padding on the start of the statusbar -->
<dimen name="status_bar_padding_start">0px</dimen>
<!-- the padding on the end of the statusbar -->
<dimen name="status_bar_padding_end">28px</dimen>
<!-- the padding on the top of the statusbar (usually 0) -->
<dimen name="status_bar_padding_top">11px</dimen>
<!-- Height of the status bar header bar when on Keyguard -->
<dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height</dimen>
<!-- Margin on the left side of the carrier text on Keyguard -->
<dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>
<!-- Bottom margin size when fingerprint in display is active -->
<dimen name="keyguard_indication_margin_bottom">442px</dimen>
<!-- Margin on the right side of the system icon group on Keyguard. -->
<dimen name="system_icons_keyguard_padding_end">@dimen/status_bar_padding_end</dimen>
<!-- Location on the screen of the center of the physical power button. -->
<dimen name="physical_power_button_center_screen_location_y">875px</dimen>
<!-- Alert Slider UI -->
<dimen name="tri_state_down_dialog_position">627px</dimen>
<dimen name="tri_state_down_dialog_position_l">503px</dimen>
<dimen name="tri_state_middle_dialog_position">480px</dimen>
<dimen name="tri_state_middle_dialog_position_l">503px</dimen>
<dimen name="tri_state_up_dialog_position">336px</dimen>
<dimen name="tri_state_up_dialog_position_l">503px</dimen>
<dimen name="tri_state_up_dialog_position_deep">24px</dimen>
<dimen name="tri_state_up_dialog_position_deep_land">21px</dimen>
</resources>

View File

@@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "WifiResTarget",
vendor: true,
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.wifi.resources.overlay.target">
<overlay
android:isStatic="true"
android:priority="250"
android:targetName="WifiCustomization"
android:targetPackage="com.android.wifi.resources" />
</manifest>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The Linux Foundation
SPDX-License-Identifier: BSD-3-Clause
-->
<resources>
<!-- Enable concurrent restricted connectivity + internet connectivity
Note: this is conditional on the device supporting dual concurrent STAs. -->
<bool translatable="false" name="config_wifiMultiStaRestrictedConcurrencyEnabled">true</bool>
<!-- Wifi driver supports IEEE80211AX single user beamformee for softap -->
<bool name="config_wifiSoftapHeSuBeamformeeSupported">true</bool>
<!-- Wifi driver supports IEEE80211AX single user beamformer for softap -->
<bool name="config_wifiSoftapHeSuBeamformerSupported">true</bool>
<!-- Wifi driver supports IEEE80211AX for softap -->
<bool name="config_wifiSoftapIeee80211axSupported">true</bool>
</resources>