Initialize device felix

based on pipit 68a0b4b411e8d23dfd966d24a5c35ea4ffb9d5f1
and cheetah 9acaa7507c23ffc7ca5f82a9579dd3a7c56af809

Bug: 206057564
Change-Id: Id59ed48d2a39c9a5a811c41157732914f3568d51
This commit is contained in:
Cyan_Hsieh 2021-12-06 17:48:44 +08:00
parent 2ea4006c75
commit e7cfbb7e37
100 changed files with 148867 additions and 0 deletions

24
felix/BoardConfig.mk Normal file
View file

@ -0,0 +1,24 @@
#
# Copyright (C) 2020 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.
#
TARGET_BOARD_INFO_FILE := device/google/felix/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := felix
TARGET_SCREEN_DENSITY := 420
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_FELIX := true
include device/google/gs201/BoardConfig-common.mk
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
include device/google/felix-sepolicy/felix-sepolicy.mk

Binary file not shown.

View file

@ -0,0 +1,2 @@
F *samsung,ea8182200000000000000:generated by offline toolBN/A"'*xD*x*x¡ *x¢ ç

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2021, 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- 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>
<!-- Minimum screen brightness allowed by the power manager. -->
<integer name="config_screenBrightnessDim">6</integer>
<!-- Minimum screen brightness setting allowed by power manager.
The user is forbidden from setting the brightness below this level. -->
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.0</item>
<!-- Maximum screen brightness allowed by the power manager.
The user is forbidden from setting the brightness above this level. -->
<item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>
<!-- Default screen brightness setting
Must be in the range specified by minimum and maximum. -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.17293233082</item>
<!-- The default refresh rate. Pixel 6 manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
<!-- The default peak refresh rate. -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Nonlinear coefficients for maximum panel brightness of 500 nits -->
<string-array name="config_reduceBrightColorsCoefficientsNonlinear">
<!-- a-coefficient --> <item>-0.4553233597</item>
<!-- b-coefficient --> <item>-0.2380196976</item>
<!-- y-intercept --> <item>0.9801096801</item>
</string-array>
<!-- Linear coefficients for maximum panel brightness of 500 nits -->
<string-array name="config_reduceBrightColorsCoefficients">
<!-- a-coefficient --> <item>0.0</item>
<!-- b-coefficient --> <item>-0.96</item>
<!-- y-intercept --> <item>1.0</item>
</string-array>
<!-- Type of the ambient tap sensor per device posture (defined by WM Jetpack posture).
Unspecified values use config_dozeTapSensor -->
<string-array name="config_dozeTapSensorPostureMapping" translatable="false">
<item></item> <!-- UNKNOWN, don't register for touch if we don't know -->
<item>com.google.sensor.single_touch</item> <!-- CLOSED -->
<item>com.google.sensor.touch_gesture</item> <!-- HALF_OPENED -->
<item>com.google.sensor.touch_gesture</item> <!-- OPENED -->
</string-array>
<!-- Whether the display cutout region of the secondary 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_fillSecondaryBuiltInDisplayCutout">true</bool>
<!-- Display cutout configuration -->
<string translatable="false" name="config_secondaryBuiltInDisplayCutout">
M 505,61
a 35,35 0 1 0 70,0 35,35 0 1 0 -70,0
Z
@left
</string>
<string translatable="false" name="config_secondaryBuiltInDisplayCutoutRectApproximation">
M 480,0
h 110
v 110
h -110
Z
@left
</string>
<!-- Radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">25px</dimen>
<!-- Height of the status bar.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height">110px</dimen>
<!-- Adjustment for software rounded corners since corners aren't perfectly round. -->
<dimen name="rounded_corner_radius_adjustment">5px</dimen>
<!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
The N entries of this array define N 1 zones as follows:
Zone 0: 0 <= LUX < array[0]
Zone 1: array[0] <= LUX < array[1]
...
Zone N: array[N - 1] <= LUX < array[N]
Zone N + 1 array[N] <= LUX < infinity
Must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLevels">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>8</item>
<item>12</item>
<item>20</item>
<item>33</item>
<item>55</item>
<item>90</item>
<item>148</item>
<item>245</item>
<item>403</item>
<item>665</item>
<item>1097</item>
<item>1808</item>
<item>2981</item>
<item>5000</item>
<item>10000</item>
<item>20000</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>5.139055</item> <!-- 0 - 1 -->
<item>9.962018965</item> <!-- 1 - 2 -->
<item>18.34822964</item> <!-- 2 - 3 -->
<item>21.55068128</item> <!-- 3 - 4 -->
<item>24.0167788</item> <!-- 4 - 8 -->
<item>30.62162162</item> <!-- 8 - 12 -->
<item>35.09486396</item> <!-- 12 - 20 -->
<item>41.2249643</item> <!-- 20 - 33 -->
<item>47.6760716</item> <!-- 33 - 55 -->
<item>55.73002427</item> <!-- 55 - 90 -->
<item>66.24126116</item> <!-- 90 - 148 -->
<item>79.67614115</item> <!-- 148 - 245 -->
<item>98.04727274</item> <!-- 245 - 403 -->
<item>125.1221991</item> <!-- 403 - 665 -->
<item>161.6875093</item> <!-- 665 - 1097 -->
<item>208.4885553</item> <!-- 1097 - 1808 -->
<item>264.8221315</item> <!-- 1808 - 2981 -->
<item>327.8974352</item> <!-- 2981 - 5000 -->
<item>401.1676739</item> <!-- 5000 - 10000 -->
<item>750.0</item> <!-- 10000 -20000 -->
<item>900.0</item> <!-- 20000+ -->
</array>
<!-- 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">2000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
<string name="config_dozeUdfpsLongPressSensorType" translatable="false">com.google.sensor.long_press</string>
<!-- MMS user agent string -->
<string name="config_mms_user_agent" translatable="false">gb7n6</string>
<!-- MMS user agent profile url -->
<string name="config_mms_user_agent_profile_url" translatable="false">http://www.gstatic.com/android/sms/GB7N6.xml</string>
<!-- Type of the quick pickup sensor. Empty if quick pickup is not supported. -->
<string name="config_quickPickupSensorType" translatable="false">com.google.sensor.quick_pickup</string>
<!-- Not allow to switch to higher refresh rate when display brightness setting is
equal or less than this value -->
<integer-array name="config_brightnessThresholdsOfPeakRefreshRate">
<item>7</item> <!-- 33% UI brightness -->
<item>9</item> <!-- 40% UI brightness -->
</integer-array>
<integer-array name="config_ambientThresholdsOfPeakRefreshRate">
<item>-1</item>
<item>20</item>
</integer-array>
<!-- default refresh rate in the zone defined by birghtness and ambient thresholds -->
<integer name="config_defaultRefreshRateInZone">90</integer>
<!-- The device states (supplied by DeviceStateManager) that should be treated as folded by the
display fold controller. -->
<integer-array name="config_foldedDeviceStates" translatable="false">
<item>0</item> <!-- CLOSED -->
</integer-array>
<!-- Indicates whether to enable an animation when unfolding a device or not -->
<bool name="config_unfoldTransitionEnabled">true</bool>
<!-- Indicates whether to enable hinge angle sensor when using unfold animation -->
<bool name="config_unfoldTransitionHingeAngle">true</bool>
<bool name="config_supportsConcurrentInternalDisplays">false</bool>
<!-- Radius of the software rounded corners at the top of primary display in its natural
orientation. If zero, the value of rounded_corner_radius is used. -->
<dimen name="rounded_corner_radius_top">52px</dimen>
<!-- For secondary display -->
<dimen name="secondary_rounded_corner_radius_top">52px</dimen>
<!-- Radius of the software rounded corners at the bottom of primary display in its natural
orientation. If zero, the value of rounded_corner_radius is used. -->
<dimen name="rounded_corner_radius_bottom">48px</dimen>
<!-- For secondary display -->
<dimen name="secondary_rounded_corner_radius_bottom">48px</dimen>
<!-- Top adjustment for the software rounded corners since corners are not perfectly
round. This value is used when retrieving the "radius" of the top rounded corner in cases
where the exact bezier curve cannot be retrieved. This value will be subtracted from
rounded_corner_radius_top to more accurately provide a "radius" for the top rounded corners.
-->
<dimen name="rounded_corner_radius_top_adjustment">5px</dimen>
<!-- For secondary display -->
<dimen name="secondary_rounded_corner_radius_top_adjustment">5px</dimen>
<!-- Bottom adjustment for the software rounded corners since corners are not perfectly
round. This value is used when retrieving the "radius" of the bottom rounded corner in
cases where the exact bezier curve cannot be retrieved. This value will be subtracted from
rounded_corner_radius_bottom to more accurately provide a "radius" for the bottom rounded
corners. -->
<dimen name="rounded_corner_radius_bottom_adjustment">4px</dimen>
<!-- For secondary display -->
<dimen name="secondary_rounded_corner_radius_bottom_adjustment">4px</dimen>
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
<string-array name="config_displayUniqueIdArray" translatable="false">
<item>"local:4619827677550801152"</item>
<item>"local:4619827677550801153"</item>
</string-array>
<array name="config_sfps_sensor_props_1" translatable="false">
<item>"local:4619827677550801152"</item> <!--displayId -->
<item>0</item> <!--x (not used) -->
<item>510</item> <!--y -->
<item>0</item> <!--radius (not used) -->
</array>
<array name="config_sfps_sensor_props_2" translatable="false">
<item>"local:4619827677550801153"</item> <!--displayId -->
<item>0</item> <!--x (not used) -->
<item>590</item> <!--y -->
<item>0</item> <!--radius (not used) -->
</array>
<array name="config_sfps_sensor_props" translatable="false">
<item>@array/config_sfps_sensor_props_1</item>
<item>@array/config_sfps_sensor_props_2</item>
</array>
</resources>

View file

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2018, 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.
*/
-->
<device name="Android">
<!-- Number of cores each CPU cluster contains -->
<array name="cpu.clusters.cores">
<value>4</value> <!-- Cluster 0 has 4 cores (cpu0, cpu1, cpu2, cpu3) -->
<value>2</value> <!-- Cluster 1 has 2 cores (cpu4, cpu5) -->
<value>2</value> <!-- Cluster 2 has 2 cores (cpu6, cpu7) -->
</array>
<item name="cpu.suspend">4.35</item>
<item name="cpu.idle">5.78</item>
<item name="cpu.active">2.35</item>
<item name="cpu.cluster_power.cluster0">32.58</item>
<item name="cpu.cluster_power.cluster1">6.44</item>
<item name="cpu.cluster_power.cluster2">0</item>
<array name="cpu.core_speeds.cluster0">
<value>300000</value>
<value>574000</value>
<value>738000</value>
<value>930000</value>
<value>1098000</value>
<value>1197000</value>
<value>1328000</value>
<value>1401000</value>
<value>1598000</value>
<value>1704000</value>
<value>1803000</value>
<value>1950000</value>
<value>2024000</value>
</array>
<array name="cpu.core_speeds.cluster1">
<value>400000</value>
<value>553000</value>
<value>696000</value>
<value>799000</value>
<value>910000</value>
<value>1024000</value>
<value>1197000</value>
<value>1328000</value>
<value>1491000</value>
<value>1663000</value>
<value>1836000</value>
<value>1999000</value>
<value>2130000</value>
<value>2253000</value>
</array>
<array name="cpu.core_speeds.cluster2">
<value>500000</value>
<value>851000</value>
<value>984000</value>
<value>1106000</value>
<value>1277000</value>
<value>1426000</value>
<value>1582000</value>
<value>1745000</value>
<value>1826000</value>
<value>2048000</value>
<value>2188000</value>
<value>2252000</value>
<value>2401000</value>
<value>2507000</value>
<value>2630000</value>
</array>
<array name="cpu.core_power.cluster0">
<value>13.58</value>
<value>38.22</value>
<value>48.59</value>
<value>64.02</value>
<value>79.69</value>
<value>89.66</value>
<value>105.64</value>
<value>113.30</value>
<value>142.24</value>
<value>158.91</value>
<value>180.73</value>
<value>229.19</value>
<value>266.66</value>
</array>
<array name="cpu.core_power.cluster1">
<value>59.00</value>
<value>87.69</value>
<value>114.54</value>
<value>134.19</value>
<value>157.72</value>
<value>184.69</value>
<value>229.99</value>
<value>264.08</value>
<value>316.56</value>
<value>375.74</value>
<value>450.94</value>
<value>529.79</value>
<value>603.34</value>
<value>684.48</value>
</array>
<array name="cpu.core_power.cluster2">
<value>199.11</value>
<value>332.32</value>
<value>389.40</value>
<value>452.85</value>
<value>547.22</value>
<value>629.93</value>
<value>735.84</value>
<value>861.23</value>
<value>946.15</value>
<value>1137.98</value>
<value>1318.48</value>
<value>1396.56</value>
<value>1583.05</value>
<value>1811.61</value>
<value>2050.00</value>
</array>
<!-- Additional power used when screen is ambient mode -->
<item name="ambient.on">32</item>
<!-- Additional power used when screen is turned on at minimum brightness -->
<item name="screen.on">98</item>
<!-- Additional power used when screen is at maximum brightness, compared to
screen at minimum brightness -->
<item name="screen.full">470</item>
<!-- Average power used by the camera flash module when on -->
<item name="camera.flashlight">240.47</item>
<!-- Average power use by the camera subsystem for a typical camera
application. Intended as a rough estimate for an application running a
preview and capturing approximately 10 full-resolution pictures per
minute. -->
<item name="camera.avg">900</item>
<!-- Additional power used when video is playing -->
<item name="video">25</item>
<!-- Additional power used when audio is playing -->
<item name="audio">75</item>
<!-- Cellular modem related values.-->
<item name="modem.controller.sleep">0</item>
<item name="modem.controller.idle">156</item>
<item name="modem.controller.rx">145</item>
<array name="modem.controller.tx"> <!-- Strength 0 to 4 -->
<value>153</value>
<value>212</value>
<value>292</value>
<value>359</value>
<value>471</value>
</array>
<item name="modem.controller.voltage">3700</item>
<!-- GPS related values.-->
<array name="gps.signalqualitybased"> <!-- Strength 0 to 1 -->
<value>23.9</value>
<value>21.3</value>
</array>
<item name="gps.voltage">3700</item>
<!-- Idle Receive current for wifi radio in mA.-->
<item name="wifi.controller.idle">38</item>
<!-- Rx current for wifi radio in mA.-->
<item name="wifi.controller.rx">98</item>
<!-- Tx current for wifi radio in mA-->
<item name="wifi.controller.tx">470</item>
<!-- Operating voltage for wifi radio in mV.-->
<item name="wifi.controller.voltage">3700</item>
<!-- Idle current for bluetooth in mA.-->
<item name="bluetooth.controller.idle">2.2</item>
<!-- Rx current for bluetooth in mA.-->
<item name="bluetooth.controller.rx">5.8</item>
<!-- Tx current for bluetooth in mA-->
<item name="bluetooth.controller.tx">20</item>
<!-- Operating voltage for bluetooth in mV.-->
<item name="bluetooth.controller.voltage">3850</item>
</device>

View file

@ -0,0 +1,3 @@
<resources>
<bool name="def_accelerometer_rotation">true</bool>
</resources>

View file

@ -0,0 +1,24 @@
<!--
Copyright (C) 2021 The Android Open Source Project
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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96px"
android:height="96px"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:fillColor="#000000"
android:pathData="M 95.998669,0.11350733 C 82.103907,0.2835388 50.979058,0.30117095 48.267995,0.41273606 44.788158,0.55593816 42.085359,0.81683718 39.638767,1.2339459 37.192176,1.6510556 35.970454,1.9557767 33.59823,2.7303906 c -2.372223,0.774615 -4.045255,1.3458298 -8.098104,3.3135809 -4.052849,1.9677515 -6.544162,3.6928584 -8.690675,5.4355675 -2.146512,1.742708 -4.045482,3.811982 -5.400399,5.395177 -1.354918,1.583195 -1.983269,2.490209 -3.170194,4.384046 -1.186925,1.893835 -1.9401662,3.305114 -2.9604802,5.702323 -1.0203139,2.397211 -2.2330053,6.162001 -2.8869584,8.55246 C 1.7374663,37.904003 1.5336961,39.223516 1.181807,41.230164 0.82991714,43.236813 0.66809464,44.450633 0.48709701,47.135928 0.27447934,50.29035 0.57710441,72.985504 0.11350733,95.997716 V 0.11350733 Z" />
</vector>

View file

@ -0,0 +1,24 @@
<!--
Copyright (C) 2021 The Android Open Source Project
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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="104px"
android:height="104px"
android:viewportWidth="104"
android:viewportHeight="104">
<path
android:fillColor="#000000"
android:pathData="M 104,0 C 86,0.036 61,0.26 51,0.7 48.43,0.82 45.77,1.16 43.81,1.42 41.66,1.7 38.64,2.35 36.36,3.06 34.07,3.77 31.98,4.52 27.59,6.65 23.21,8.79 20.47,10.65 18.19,12.53 c -2.32,1.89 -4.38,4.13 -5.84,5.84 -1.47,1.71 -2.15,2.69 -3.43,4.74 C 7.63,25.16 6.82,26.69 5.71,29.28 4.61,31.88 3.3,35.95 2.59,38.54 1.88,41.13 1.66,42.61 1.28,45 0.9,46.82 0.73,48 0.53,51 0.29,54.45 0.02,78 0,104 V 0 Z" />
</vector>

View file

@ -0,0 +1,24 @@
<!--
Copyright (C) 2021 The Android Open Source Project
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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="100px"
android:height="100px"
android:viewportWidth="100"
android:viewportHeight="100">
<path
android:fillColor="#000000"
android:pathData="M 100,0 C 85.508956,0.17732979 53.048408,0.19571896 50.221001,0.31207305 46.59183,0.46142152 43.773042,0.73351963 41.221457,1.1685334 c -2.551585,0.4350138 -3.825736,0.7528147 -6.299762,1.560679 -2.474026,0.8078643 -4.218854,1.4035988 -8.445629,3.4558146 -4.226774,2.0522159 -6.825,3.851373 -9.063628,5.668887 -2.238628,1.817514 -4.219091,3.97561 -5.632154,5.626763 -1.413063,1.651153 -2.0683795,2.5971 -3.3062405,4.572229 C 7.2361825,24.028034 6.4506167,25.499891 5.386517,28 4.3224173,30.500109 3.0576836,34.426502 2.3756668,36.91957 1.69365,39.412638 1.4811349,40.78879 1.1141447,42.881573 0.74715446,44.974356 0.57838666,46.240279 0.38962235,49.04084 0.16788046,52.330665 0.48349133,76 0,100 V 0 Z" />
</vector>

View file

@ -0,0 +1,24 @@
<!--
Copyright (C) 2021 The Android Open Source Project
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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="104px"
android:height="104px"
android:viewportWidth="104"
android:viewportHeight="104">
<path
android:fillColor="#000000"
android:pathData="M 104,0 C 86,0 61,0.26 51,0.7 48.43,0.82 45.77,1.16 43.81,1.42 41.66,1.7 38.64,2.35 36.36,3.06 34.07,3.77 31.98,4.52 27.59,6.65 23.21,8.79 20.47,10.65 18.19,12.53 c -2.32,1.89 -4.38,4.13 -5.84,5.84 -1.47,1.71 -2.15,2.69 -3.43,4.74 C 7.63,25.16 6.82,26.69 5.71,29.28 4.61,31.88 3.3,35.95 2.59,38.54 1.88,41.13 1.66,42.61 1.28,45 0.9,46.82 0.73,48 0.53,51 0.29,54.45 0,78 0,104 V 0 Z" />
</vector>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2021, 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>
<!-- Landscape, just use the regular values -->
<dimen name="status_bar_padding_start">8dp</dimen>
<dimen name="status_bar_padding_end">8dp</dimen>
<!-- the padding on the top of the statusbar (usually 0) -->
<dimen name="status_bar_padding_top">0dp</dimen>
</resources>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2021, 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>
<!-- Proportion of the screen height to use to set the maximum height of the bouncer to when
the device is in the DEVICE_POSTURE_HALF_OPENED posture, for the PIN/pattern entry. 0 will
allow it to use the whole screen space, 0.6 will allow it to use just under half of the
screen. -->
<item name="half_opened_bouncer_height_ratio" type="dimen" format="float">0.6</item>
</resources>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2021, 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>
<!-- Normalized location on the screen of the center of the physical usb charger port in portrait
mode. -->
<item name="physical_charger_port_location_normalized_x" type="dimen" format="float">0.784</item>
<!-- Location on the screen of the center of the physical fingerprint sensor -->
<dimen name="physical_fingerprint_sensor_center_screen_location_x">2208px</dimen>
</resources>

View file

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2021, 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>
<!-- Type of a sensor that provides a low-power estimate of the desired display
brightness, suitable to listen to while the device is asleep (e.g. during
always-on display) -->
<string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>
<!-- Doze: can we assume the pickup sensor includes a proximity check? -->
<bool name="doze_pickup_performs_proximity_check">true</bool>
<!-- Doze: whether the double tap sensor reports 2D touch coordinates -->
<bool name="doze_double_tap_reports_touch_coordinates">true</bool>
<!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
to brightness values; -1 means keeping the current brightness. -->
<integer-array name="config_doze_brightness_sensor_to_brightness">
<item>-1</item> <!-- 0: OFF -->
<item>3</item> <!-- 1: NIGHT -->
<item>3</item> <!-- 2: LOW -->
<item>16</item> <!-- 3: HIGH -->
<item>16</item> <!-- 4: SUN -->
</integer-array>
<!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
to an opacity value for a black scrim that is overlaid in AOD1.
Valid range is from 0 (transparent) to 255 (opaque).
-1 means keeping the current opacity. -->
<integer-array name="config_doze_brightness_sensor_to_scrim_opacity">
<item>-1</item> <!-- 0: OFF -->
<item>133</item> <!-- 1: NIGHT -->
<item>0</item> <!-- 2: LOW -->
<item>0</item> <!-- 3: HIGH -->
<item>0</item> <!-- 4: SUN -->
</integer-array>
<!-- Doze: Name of a sensor per posture state that provides a low-power estimate of the desired
display brightness, suitable to listen to while the device is asleep (e.g. during
always-on display) -->
<string-array name="doze_brightness_sensor_name_posture_mapping" translatable="false">
<item></item> <!-- UNKNOWN -->
<item>Binned Brightness 1 (wake-up)</item> <!-- CLOSED -->
<item>Binned Brightness 0 (wake-up)</item> <!-- HALF_OPENED -->
<item>Binned Brightness 0 (wake-up)</item> <!-- OPENED -->
</string-array>
<!-- Override value to use for proximity sensor. By default, don't register for prox if nothing
is specified in the prox_sensor_posture_mapping. -->
<string name="proximity_sensor_type" translatable="false"></string>
<!-- Sensor type per posture state to use for proximity sensor -->
<string-array name="proximity_sensor_posture_mapping" translatable="false">
<item></item> <!-- UNKNOWN, don't register for prox -->
<item>android.sensor.light</item> <!-- CLOSED, register for ALS before checking prox -->
<item></item> <!-- HALF_OPENED, don't register for prox -->
<item></item> <!-- OPENED, don't register for prox -->
</string-array>
<!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
far break points. A sensor value less than this is considered "near". -->
<item name="proximity_sensor_threshold" translatable="false" format="float" type="dimen">12</item>
<!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
far break points. A sensor value more than this is considered "far". If not set,
proximity_sensor_threshold is used. This allows one to implement a latching mechanism for
noisy sensors. -->
<item name="proximity_sensor_threshold_latch" translatable="false" format="float" type="dimen">24</item>
<!-- By default, don't register for a secondary prox sensor if nothing is specified in the
proximity_sensor_secondary_threshold-->
<string name="proximity_sensor_secondary_type" translatable="false"></string>
<item name="proximity_sensor_secondary_threshold" translatable="false" format="float"
type="dimen">5</item>
<!-- Sensor type per posture state to use for proximity sensor as a confirmation for
proximity_sensor_type. -->
<string-array name="proximity_sensor_secondary_posture_mapping" translatable="false">
<item></item> <!-- UNKNOWN, don't register for prox-->
<item>android.sensor.proximity</item> <!-- CLOSED, register for prox -->
<item></item> <!-- HALF_OPENED, don't register for prox -->
<item></item> <!-- OPENED, don't register for prox -->
</string-array>
<!-- Doze: whether the single tap sensor uses the proximity sensor in the given posture.
See doze_single_tap_uses_prox for usage. -->
<integer-array name="doze_single_tap_uses_prox_posture_mapping">
<item>1</item> <!-- UNKNOWN -->
<item>1</item> <!-- CLOSED -->
<item>0</item> <!-- HALF_OPENED -->
<item>0</item> <!-- OPENED -->
</integer-array>
<!-- Default rounded corner curve (a Bezier). Must match (the curved path in) rounded.xml.
Note that while rounded.xml includes the entire path (including the horizontal and vertical
corner edges), this pulls out just the curve.
-->
<string name="config_rounded_mask" translatable="false">M 71,0 C 33,0 22,-1 10,10 -1,22 0,33 0,71</string>
<!-- Respect drawable/rounded.xml intrinsic size for multiple radius corner path customization -->
<bool name="config_roundedCornerMultipleRadius">true</bool>
<!-- Respect drawable/rounded_secondary.xml intrinsic size for multiple radius corner path
customization for secondary display-->
<bool name="config_roundedCornerMultipleRadiusSecondary">true</bool>
<!-- Configure 13px of extra protection around the front-facing camera -->
<string translatable="false" name="config_frontBuiltInDisplayCutoutProtection">
M 494,65
a 46,46 0 1 0 92,0
a 46,46 0 1 0 -92,0
Z
</string>
<!-- Camera 1 is the front camera on barbet -->
<string translatable="false" name="config_protectedCameraId">1</string>
<!-- Comma-separated list of packages to exclude from camera protection. In our case,
ignore the gaze detection package -->
<string translatable="false" name="config_cameraProtectionExcludedPackages">com.google.android.as</string>
<bool name="config_enableDisplayCutoutProtection">true</bool>
</resources>

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2021, 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>
<!-- Don't need the left side padding due to being inset from the cutout -->
<dimen name="status_bar_padding_start">0dp</dimen>
<!-- for 20dp of padding at 3.5px/dp at default density -->
<dimen name="rounded_corner_content_padding">50px</dimen>
<!-- the padding on the top of the statusbar (usually 0) -->
<dimen name="status_bar_padding_top">1px</dimen>
<!-- Padding for the system icons on the keyguard (when no multi user switch is showing).
The icons always have a 4dp padding in the container so we only need 56 extra px of padding
for the corners -->
<dimen name="system_icons_super_container_avatarless_margin_end">11px</dimen>
<!-- Multi user switch has some intrinsic padding to it -->
<dimen name="multi_user_switch_keyguard_margin">40px</dimen>
<dimen name="keyguard_carrier_text_margin">0px</dimen>
<dimen name="config_rounded_mask_size">71px</dimen>
<dimen name="config_rounded_mask_size_top">71px</dimen>
<dimen name="config_rounded_mask_size_bottom">70px</dimen>
<!-- Location on the screen of the center of the physical power button. -->
<dimen name="physical_power_button_center_screen_location_y">650px</dimen>
<!-- Location on the screen of the center of the physical fingerprint sensor -->
<dimen name="physical_fingerprint_sensor_center_screen_location_x">1080px</dimen>
<dimen name="physical_fingerprint_sensor_center_screen_location_y">650px</dimen>
<!-- Location on the screen of the center of the physical volume up/down buttons. -->
<dimen name="physical_volume_up_button_center_screen_location_y">950px</dimen>
<dimen name="physical_volume_down_button_center_screen_location_y">1110px</dimen>
</resources>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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>
<bool name="nfcc_always_on_allowed">true</bool>
<string-array name="config_skuSupportsSecureNfc" translatable="false">
<item>GFQM1</item>
<item>GPQ72</item>
<item>GNA8F</item>
</string-array>
</resources>

View file

@ -0,0 +1,8 @@
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
runtime_resource_overlay {
name: "SettingsOverlayGPQ72",
product_specific: true,
}

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.gpq72">
<application android:hasCode="false" />
<overlay android:targetPackage="com.android.settings"
android:requiredSystemPropertyName="ro.boot.hardware.sku"
android:requiredSystemPropertyValue="GPQ72"
android:isStatic="true" />
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB