401 Commits
bq2 ... udc

Author SHA1 Message Date
1f54fc6a4d gs201: Initialize for Evolution X 9.x
Signed-off-by: AnierinB <anierin@evolution-x.org>
2024-09-10 14:09:28 -07:00
Nolen Johnson
c03fc89b04 Revert "gs201: Build with 64-bit only GMS if WITH_GMS"
This reverts commit 015c0ed681.

Reason for revert: GMS combined these makefiles.

Change-Id: I55b4c78fc0ef3bd4c752c234695989c4bf89ee05
2024-09-09 21:28:08 +00:00
Aaron Kling
19ae1d6ed1 gs201: Remove elf files in copy files check
New extract files uses packages instead of copy files

Change-Id: I337c07d13bd350958d4808e1693cc6e03753a96c
2024-09-07 14:25:51 +03:00
basamaryan
0db58100ec gs201: Drop unnecessary BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE flag
Change-Id: Ibb96c529ac64239d7bb919e46f5a625a6deebf98
2024-06-23 00:32:36 -04:00
Michael Bestas
ac8643eb0c Merge tag 'android-14.0.0_r50' into staging/lineage-21_merge-android-14.0.0_r50
Android 14.0.0 Release 50 (AP2A.240605.024)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZmdzmgAKCRDorT+BmrEO
# eOaXAJ9UlCc7TZKGS56NNhdmIXj1eQr3GwCeMnWYHXeLam9ZWrbUpVkzZIB/zD8=
# =SMos
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Jun 11 00:43:54 2024 EEST
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2543 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Wilson Sung (6) and others
# Via Android Build Coastguard Worker (20) and others
* tag 'android-14.0.0_r50': (21 commits)
  add dsim wakeup labels
  Remove SELinux exception
  Revert^2 "Remove persist.bootanim.color property definitions"
  Revert "Remove persist.bootanim.color property definitions"
  Remove persist.bootanim.color property definitions
  Update tcpm i2c sepolicy with new device name
  [gs201] Use common settings for Contexthub HAL
  Update i2c device paths
  Update SELinux error
  sepolicy: allow hal_power_stats to read sysfs_display
  dontaudit on dir search for vendor_charger_debugfs
  Update SELinux error
  Update SELinux error
  Update SELinux error
  Remove modem_svc selinux error from denials bug_map
  selinux: label wakeup for BMS I2C 0x36, 0x69
  gs201: move mediacodec_samsung sepolicy to gs-common
  Remove obsolete entries
  Update SELinux error
  Allow GRIL to get power stats.
  ...

Change-Id: Icefd487fd2f0b98f239ebf19fc1d371e005f49d8
2024-06-15 22:36:31 +03:00
Michael Bestas
d188c01011 Merge tag 'android-14.0.0_r50' into staging/lineage-21_merge-android-14.0.0_r50
Android 14.0.0 Release 50 (AP2A.240605.024)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZmdzmgAKCRDorT+BmrEO
# eOlUAJ0TWkW8QcVO31vny0XkQ2HaLOxz+ACeLRL6jaHuXBT08TgmRHAcDuGXjC0=
# =6CHm
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Jun 11 00:43:54 2024 EEST
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2543 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Jenny Ho (4) and others
# Via Android Build Coastguard Worker (36) and others
* tag 'android-14.0.0_r50': (42 commits)
  gs201: bigocean: Enable width-height swap
  Revert "Add betterbug mk to gs201"
  Adding android.software.contextualsearch to gs-201 devices.
  bcl: Adjust GPU LIGHT clk divider ratio
  pixelstats: added multiple GMSR paths
  Add betterbug mk to gs201
  pixelstats: gs201: add Learning/Update/ModelLoad path
  dumpstate: moving charger nodes to user build
  [gs201] Enable multiclient HAL
  bcl: Adjust GPU clk divider ratio
  Move manifest entries to gs-common.
  [Refactor] Include edgetpu targets in final image
  Add Youtube back in MRR Small Area Detection Allowlist
  Update i2c device paths
  Revert "usb: Select usb-service rc files based on kernel versions"
  gs201: enable dynamic color mode
  usb: Select usb-service rc files based on kernel versions
  usb: Runtime search the i2c path
  gs201: Remove sysprop forcing renderengine to skiaglthreaded
  remove build log spam
  ...

 Conflicts:
	conf/init.gs201.rc
	device.mk
	dumpstate/dump_power_gs201.sh

Change-Id: I6580599a453d7575dc9d02a28900a925e6c5640f
2024-06-15 22:36:25 +03:00
Tommy Webb
22e7439a3d Revert "Add back saturated color mode"
This presence of this color mode now leads to problems deactivating
color inversion and color correction, even if it is not selected.

This reverts commit d37aac0531.

Issue: calyxos#2312
Change-Id: I1ce6aec9d32d4b3fd2d88545c91c579b8313e50a
2024-04-30 20:21:19 +03:00
Michael Bestas
df371b8a52 gs201: Update AiAi configs
Extracted from stock cheetah AP1A.240405.002

Change-Id: Ief71f77fb2475311ed555fece837f46ff1eae4aa
2024-04-26 18:34:37 +03:00
Michael Bestas
4bfd1fce2e fixup! Disable userdebug diagnostics
Change-Id: Ic3f40892d4654e853bcd11803e43ecb7f0ff9366
2024-04-24 20:00:35 +03:00
Michael Bestas
1ee5a39c5f Merge tag 'android-14.0.0_r30' into staging/lineage-21_merge-android-14.0.0_r30
Android 14.0.0 Release 30 (AP1A.240405.002)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZgs+ygAKCRDorT+BmrEO
# eA4AAJ4nhXb62reEpMDl0rpCQe76Y1MongCfTXgrsOwSW1Kaf/CY+ckNKqJLOTs=
# =x+yL
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Apr  2 02:10:02 2024 EEST
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2412 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By George Lee
# Via Android Build Coastguard Worker
* tag 'android-14.0.0_r30':
  bcl: Adjust GPU clk divider ratio

Change-Id: Ic2e84279ed267e903b187eb6606fa430d665c79f
2024-04-03 14:15:22 +03:00
Michael Bestas
54b5e2e9c0 gs201: overlay: Enable battery cycle count
Change-Id: I92bc8363e1c9e2ad54c29a0a30dce992e25f697d
2024-03-28 00:08:19 +02:00
LuK1337
9f47851953 fixup! Update sepolicy path
Change-Id: I7506dfd0f51912a768cbfc56f4f2e423dc3054c8
2024-03-20 23:38:14 +01:00
Michael Bestas
855708aac3 Merge tag 'android-14.0.0_r29' into staging/lineage-21_merge-android-14.0.0_r29
Android 14.0.0 release 29

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZeZWygAKCRDorT+BmrEO
# eD7OAJ432TWMe9grx03PWAXroMGubhrqOQCfa4pJGdaN9YVr/L8ZI6WdQdsjy6U=
# =3gr6
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Mar  5 01:18:34 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2383 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Wilson Sung (13) and others
# Via Automerger Merge Worker (428) and others
* tag 'android-14.0.0_r29': (55 commits)
  sepolicy: add read wlc sysfs permission
  Fix rlsservice sepolicy
  Update SELinux error
  Update SELinux error
  Add Secretkeeper HAL
  gs201: move sepolicy related to bootctrl hal to gs-common
  Removes duplicate hidraw_device type definition.
  Suppress avc error log on debugfs's usb folder.
  Move sg_device related policy
  aoc: add sysfs file entry
  Add Pixel Mapper as a sp-HAL
  dontaudit on dir search for vendor_votable_debugfs
  Removes duplicate hidraw_device type definition.
  Change the MDS to platform app in selinux ap context.
  sensors: Move USF related sepolicy to gs-common.
  Update SELinux error
  Add selinux policy change to allow MDS access Samsung OemRil hal.
  Update SELinux policies for rlsservice
  pixelstats: Add Brownout Detection sepolicy
  Update SELinux error
  ...

 Conflicts:
	sepolicy/gs201-sepolicy.mk
	sepolicy/whitechapel_pro/keys.conf

Change-Id: I9fc4aff3c5cc921195544f85b2c176e50712e7d0
2024-03-10 09:21:42 +02:00
Michael Bestas
d1e0a12fdb Merge tag 'android-14.0.0_r29' into staging/lineage-21_merge-android-14.0.0_r29
Android 14.0.0 release 29

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZeZWygAKCRDorT+BmrEO
# eDSNAJ9wqDj+MjTkLxlVtDrIJfY8Snw+mwCeNsBpbgOGLGUe+yZUutCeS44QeFs=
# =PW52
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Mar  5 01:18:34 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2382 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Roy Luo (7) and others
# Via Automerger Merge Worker (846) and others
* tag 'android-14.0.0_r29': (84 commits)
  Revert^3 "Use graphics allocator 2"
  usb: enable media-presence polling for SD cards
  pixelstats: Fix access permission by adding total call count and update cca path sysfs
  config: Use carrier config in ROM by default
  Revert^2 "usb: introduce UsbDataSessionMonitor class"
  gs201: use android.hardware.boot aidl interface
  gs201: update manifest HAL android.hardware.boot from hidl 1.2 to aidl
  Revert "usb: introduce UsbDataSessionMonitor class"
  gs201: include bootctrl_hidl_1.2.mk from gs-common
  gs201: move bootctrl service declaration to gs-common
  gs201: move bootctrl hal to gs-common
  bcl: adjust heavy clk divider ratio
  usb: introduce UsbDataSessionMonitor class
  Update default color temperature for night light
  Add webview pinning for gs201 devices
  Enable adaptive playback for BigOcean
  gs201: add c2.android.av1-dav1d.decoder in media_codecs_performance_c2.xml
  usb: update usb hal version to v3
  gs201: update AIDL IGoogleBattery manifest version to 3
  usb: update incompatible charger warning reason
  ...

 Conflicts:
	device.mk

Change-Id: I3e4ae1e4aebe25a1d14ced1f99cfdfc16955d21c
2024-03-10 09:20:14 +02:00
Android Build Coastguard Worker
f56393a464 Snap for 11526283 from 1c7d8f80f2 to 24Q2-release
Change-Id: Ie93680c98d2077e03d8b4c6a90ab9b6768067fa1
2024-03-05 00:30:20 +00:00
Michael Bestas
732b8dd047 Revert "Bypass build time check for users-libs"
This reverts commit a8a4ca2748.

Change-Id: I6f61d58e2dd419cb11f2aeb4f0faf54145c6a5ce
2024-03-02 04:20:57 +02:00
Android Build Coastguard Worker
c03e09217a Snap for 11504324 from 1e0e9963e3 to 24Q2-release
Change-Id: I41e62b251fa7b00e8e788514e08fa49b05e32df8
2024-02-28 00:02:32 +00:00
Android Build Coastguard Worker
4676c7e06e Snap for 11491255 from d9b51a61ce to 24Q2-release
Change-Id: I1abf3591e0e7a284022e0f346bb3d66693f83287
2024-02-24 02:02:22 +00:00
Android Build Coastguard Worker
df2ba369d6 Snap for 11486370 from 9be1081f00 to 24Q2-release
Change-Id: I14f4b087a2789a9fb61e1fd4bf0b150244970cf8
2024-02-23 00:02:29 +00:00
Android Build Coastguard Worker
83215ca864 Merge cherrypicks of ['googleplex-android-review.googlesource.com/26243077'] into 24Q1-release.
Change-Id: I3c612d574d06290ee32cd99f822ec846453ba974
2024-02-22 00:08:54 +00:00
George Lee
65f33e967c bcl: Adjust GPU clk divider ratio
Revert GPU clk divider ratios.

Bug: 324534203
Test: Confirm no DATA_INVALID_FAULT while running GFXBench under stress
Signed-off-by: George Lee <geolee@google.com>
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:49a63dad63edcb86ffd2b82068a8de1ae5d6b340)
Merged-In: I84682b476af162eff904ed5bec66ae2e6fa6449a
Change-Id: I84682b476af162eff904ed5bec66ae2e6fa6449a
2024-02-22 00:06:01 +00:00
Android Build Coastguard Worker
9616b630eb Snap for 11479893 from 967204e373 to 24Q2-release
Change-Id: Ia4a35e4342a95e30c3091f56668870e57ea9f22e
2024-02-22 00:02:41 +00:00
Android Build Coastguard Worker
1552549000 Snap for 11420186 from 28c042f51a to 24Q2-release
Change-Id: I0e5200550e8357631c322bb8ef88b49be7295431
2024-02-08 00:02:44 +00:00
Michael Bestas
91d7cf5d05 gs201: Squashed revert of inline kernel build
Revert "gs201: Add kernel dependency"

This reverts commit 21e31e937a.

Revert "Build kernel with clang r450784e"

This reverts commit f518943284.

Revert "gs201: Inline kernel building"

This reverts commit af5951eef5.

Change-Id: I780cedbab50ba946633b220f6f3818be47097831
2024-02-08 00:12:58 +02:00
Android Build Coastguard Worker
d44be77d58 Snap for 11386701 from 51d66f9b58 to 24Q2-release
Change-Id: I38e2d4bc99b18b8ca376287254d580c5e874ad5d
2024-02-01 00:02:02 +00:00
Android Build Coastguard Worker
922e9509c9 Snap for 11373247 from 1f8b299ace to 24Q2-release
Change-Id: I6a609f7ff22522f44fa8247205c4b3851a0adc40
2024-01-30 02:02:41 +00:00
Android Build Coastguard Worker
ac2f1ec767 Snap for 11367679 from f32bd56cb0 to 24Q2-release
Change-Id: Id026e2e4c81b015ed9f95f235d7f00866d5a12ba
2024-01-27 02:02:30 +00:00
Android Build Coastguard Worker
2bd42deea8 Snap for 11355999 from bbb8e0618f to 24Q2-release
Change-Id: I7f04cd459c73a733f210a98d0a6b39319af158a3
2024-01-25 02:33:21 +00:00
Android Build Coastguard Worker
8974f8e693 Snap for 11343021 from f52acbf0cf to 24Q2-release
Change-Id: I0c503d8f50909bbcc6b18284332c069e1834df4d
2024-01-23 00:02:44 +00:00
Android Build Coastguard Worker
3ffd6aa8ea Snap for 11324029 from 25835bcc61 to 24Q2-release
Change-Id: Ida73ab82638fe5b87a4e3ad8623e983698ee8077
2024-01-18 00:02:55 +00:00
Android Build Coastguard Worker
80eafb38a6 Snap for 11308440 from 00d82676e9 to 24Q2-release
Change-Id: I908cdea9aebc784325ecf67028b2fbfee65357f9
2024-01-13 02:08:06 +00:00
Android Build Coastguard Worker
258ed74282 Merge cherrypicks of ['googleplex-android-review.googlesource.com/25842883'] into 24Q1-release.
Change-Id: I5e6bef62e973b389044692644275e52cea750354
2024-01-11 22:19:14 +00:00
Devika Krishnadas
7a4af20680 Revert^3 "Use graphics allocator 2"
4217a458ba

Reverting to comply with the Allocator VTS for 24Q1, do not merge to main.

Bug: 310046460
Test: VtsHalGraphicsAllocatorAidl_TargetTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2470105392a2a220b2cffd9c7dd4da0693a481d6)
Merged-In: I322cdf9452a80e5da87f1808b324ac2e499fe9cd
Change-Id: I322cdf9452a80e5da87f1808b324ac2e499fe9cd
2024-01-11 22:17:08 +00:00
Android Build Coastguard Worker
48ea06f3e3 Snap for 11297328 from f1c2498079 to 24Q2-release
Change-Id: If76aa3acc5a906bd9ade1a3aa3b614f8cae91964
2024-01-11 00:05:21 +00:00
Android Build Coastguard Worker
6622dcf6ea Snap for 11292102 from 997782c603 to 24Q2-release
Change-Id: Iecfaa4b751f43e4e88bce41f16ce27020838f11d
2024-01-10 00:03:11 +00:00
Nolen Johnson
015c0ed681 gs201: Build with 64-bit only GMS if WITH_GMS
* We are 64-bit only and therefore need this config selected.

Change-Id: Ifa31c29bad479f3a54859f51f2ce7a72b29895fa
2024-01-08 06:59:51 +00:00
Michael Bestas
a94238c410 Merge tag 'android-14.0.0_r20' into staging/lineage-21_merge-android-14.0.0_r20
Android 14.0.0 release 20

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZZXyBQAKCRDorT+BmrEO
# eAvqAKCQEBK7YcuKGulZhDtox4EMWVzcSQCfYMYllTDWhXK1MfXCrAcRqvgedlc=
# =pmkj
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Jan  4 01:47:17 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2228 signatures in the past
#      2 years.  Encrypted 4 messages in the past 24 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Hungyen Weng
# Via Android Build Coastguard Worker
* tag 'android-14.0.0_r20':
  config: Use carrier config in ROM by default

Change-Id: I70f50993a7d4821f976f45ee7df688c54cfa6d31
2024-01-06 15:00:02 +02:00
Android Build Coastguard Worker
a10858ce0c Snap for 11260009 from 8c955289ca to 24Q2-release
Change-Id: Ia9d4168ceee155d6ed8bc46c77cb9df139ef1650
2023-12-29 00:02:47 +00:00
Android Build Coastguard Worker
b059516597 Snap for 11255311 from 8751aabb8a to 24Q2-release
Change-Id: Idee880668657deb513d377f19ce7bc3c1f14cb91
2023-12-27 00:04:08 +00:00
Android Build Coastguard Worker
615f4cf932 Snap for 11251507 from c45f36f10e to 24Q2-release
Change-Id: Id47e2e16b5c3e67e66019540097351c3d0ce0a2c
2023-12-23 02:02:33 +00:00
Michael Bestas
5091a4e563 gs201: Update AiAi configs
Extracted from stock cheetah UQ1A.231205.015

Change-Id: I56bdf976af36cee52f35ef2dd6a91b6001126b7f
2023-12-19 05:11:28 +02:00
Michael Bestas
0403333fdb gs201: Update ConnectivityThermalPowerManager config
Extracted from stock cheetah UQ1A.231205.015

Change-Id: I64a01f21c22b925bee2a3dfecf5fded52ff64b40
2023-12-19 05:11:23 +02:00
Android Build Coastguard Worker
cc77c850ee Snap for 11232546 from c131634ccf to 24Q2-release
Change-Id: I50e0e6ea8ef65b98342b75795d56b9c01a2cc129
2023-12-19 00:03:45 +00:00
Android Build Coastguard Worker
eb6da0a98e Snap for 11227258 from 04bc1d210a to 24Q2-release
Change-Id: Ie847c935e0eaa054e1914958557bfa213a5f9dc6
2023-12-16 02:01:51 +00:00
Michael Bestas
21e31e937a gs201: Add kernel dependency
Change-Id: I79a7e9eb7043e536068386acaed81822ec11e89e
2023-12-14 22:58:21 +02:00
Michael Bestas
bea8640474 fixup! Add AiAi allowlist
Change-Id: Ic14411fd5da455988f028e0c7666516847e35f64
2023-12-14 22:55:35 +02:00
Android Build Coastguard Worker
8f30c6f2b0 Snap for 11216811 from 04bc1d210a to 24Q1-release
Change-Id: I99676f6472adc317340e2b5794e6ef0ce31447bf
2023-12-14 00:02:35 +00:00
Android Build Coastguard Worker
2c7e671ecd Snap for 11211173 from 8412883458 to 24Q1-release
Change-Id: I307a100412c75673a2801b81e5a3712d27890c03
2023-12-13 00:05:13 +00:00
Android Build Coastguard Worker
f2b4bb7bef Merge cherrypicks of ['googleplex-android-review.googlesource.com/25616534'] into udc-qpr1-release.
Change-Id: I971d965776c71919c20ffdc73135b80f6fc3bf01
2023-12-12 05:02:32 +00:00
Hungyen Weng
89b5f3fca3 config: Use carrier config in ROM by default
Bug: 314890118

Test: Flash ROM and confirm the carrier config follows the ROM.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8dbc173f2bf04255ce22dd1e13e888050aad36ca)
Merged-In: Id0407802e2027397ca7a409345c51273b75079e7
Change-Id: Id0407802e2027397ca7a409345c51273b75079e7
2023-12-12 05:00:28 +00:00
Android Build Coastguard Worker
e64d0f0805 Snap for 11206181 from ea3f55a026 to 24Q1-release
Change-Id: I6e885d4709efd06482db3bd52a18e7758c9ba0bc
2023-12-12 02:02:00 +00:00
Android Build Coastguard Worker
0a493ec75d Snap for 11206181 from 75ebe9dcd3 to 24Q1-release
Change-Id: I5a377817785f9db14eecc37f99a37a3fdb9651b7
2023-12-12 02:02:00 +00:00
LuK1337
12d59feba0 gs201: Add liboemcrypto.so to vendor linker config
This lets com.google.android.widevine.apex access it.

Change-Id: I4e9654fe6317b722f5fbf43b92abb367c18640ce
2023-12-11 15:03:02 +00:00
Michael Bestas
ff7bf1a24d Merge tag 'android-14.0.0_r17' into staging/lineage-21_merge-android-14.0.0_r17
Android 14.0.0 Release 17 (UQ1A.231205.015)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZXDPIgAKCRDorT+BmrEO
# eKW+AKCSKOvswyMxQEPeAGlxB0qYhYPLagCeKng8NIvA1PoQ+GiKvm4qGPNnqyg=
# =Zxbc
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed Dec  6 21:44:34 2023 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2194 signatures in the past
#      2 years.  Encrypted 4 messages in the past 23 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Samuel Gosselin (2) and others
# Via Automerger Merge Worker (71) and others
* tag 'android-14.0.0_r17':
  Grant the MDS access to the IPowerStats hal service.
  gs201: ufs_firmware_update: add scsi directory permission
  Revert^2 "Introduce CameraServices seinfo tag for PixelCameraServices"
  Revert "Introduce CameraServices seinfo tag for PixelCameraServices"
  Introduce CameraServices seinfo tag for PixelCameraServices
  Revert "Revert "Create telephony.ril.silent_reset system_ext pro..."
  Revert "Allow bthal to access vendor bluetooth folder"
  Allow bthal to access vendor bluetooth folder
  Revert "Create telephony.ril.silent_reset system_ext property fo..."
  Create telephony.ril.silent_reset system_ext property for RILD restart
  genfs_contexts: add raw s2mpg12mfd and s2mpg13mfd node.
  genfs_contexts: add raw s2mpg12mfd and s2mpg13mfd node.
  Add chre channel sepolicy entries
  remove fixed selinux bug from bug map.
  [TSV2] Remove tcpdump sepolicy from gs201 and move sepolicy to gs-common
  Remove obsolete entries

 Conflicts:
	sepolicy/whitechapel_pro/keys.conf

Change-Id: If62362077dd47387f5d5dc070375b54b0f74ee8a
2023-12-10 16:27:59 +02:00
Michael Bestas
6d49eb094d Merge tag 'android-14.0.0_r17' into staging/lineage-21_merge-android-14.0.0_r17
Android 14.0.0 Release 17 (UQ1A.231205.015)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZXDPIgAKCRDorT+BmrEO
# eCoeAKCMl4tu2uBiBg4bJRWlUY4yWJP62ACffzqUwXKRgfOiCdUcO/rAck5EXDk=
# =0jpY
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed Dec  6 21:44:34 2023 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2194 signatures in the past
#      2 years.  Encrypted 4 messages in the past 23 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By qinyiyan (3) and others
# Via Automerger Merge Worker (142) and Android Build Coastguard Worker (61)
* tag 'android-14.0.0_r17': (51 commits)
  Run fsck to resolve possible data corruption
  Revert "gs201: Enable SkiaVk as RenderEngine backend"
  usb.rc: Advertise 360p and 480p support through UVC
  Usb.cpp: Fix typos when unable to disable USB data
  [SELinux] Add gyotaku_app doamin to Pixel 2022.
  UsbGadget: Update SDP enum timeout when gadget is pulled up
  usb: Modify sdp enumeration timeout value in charger mode
  init.gs201.rc: Disable util-awareness
  Disable variable refresh rate when typing on gs201
  gs201: ffu: add lifeC and activated date as condition
  wifi: Update p2p overlay config
  gs201: update media_codecs_performance_c2.xml based on UQ1A.230911.001
  gs201: tweak memory management
  Grant default permissions to PCS for camera connectivity
  Revert "Enable small dirty detection for variable refresh rate"
  Enable small dirty detection for variable refresh rate
  Support variable refresh rate when typing on gs201
  Set USF SoC from board makefile.
  Enable dimming in gamma space in screenshots for adaptive mode
  suspend: enable adaptive suspend
  ...

 Conflicts:
	BoardConfig-common.mk
	device.mk

Change-Id: Ib822c3f6b53087a800eb32a537cd764c1abf0e63
2023-12-10 16:27:06 +02:00
Android Build Coastguard Worker
3cbb96c5fe Snap for 11200327 from 8d10e34fe0 to 24Q1-release
Change-Id: I3ae47805403cdb0f345d77edebc54c7d4c74f67c
2023-12-09 04:02:21 +00:00
Android Build Coastguard Worker
91d67cdcc1 Snap for 11192287 from bf2cd60aaa to 24Q1-release
Change-Id: I5f4156c5205649cb470bc4faf33ec53a29d7cb89
2023-12-08 00:02:42 +00:00
Android Build Coastguard Worker
09417ff9b6 Snap for 11186783 from a509a4b067 to 24Q1-release
Change-Id: I425ec3dd376aba53fd81d11f7f61fb3a3cceaa78
2023-12-07 00:02:04 +00:00
Android Build Coastguard Worker
cf69c20b41 Snap for 11186783 from eca39285c5 to 24Q1-release
Change-Id: Icc13e7f0f74de8d16cfc3e08b1a069cd1b817426
2023-12-07 00:02:04 +00:00
Android Build Coastguard Worker
13bc69a0d5 Snap for 11180250 from a9ac5d5869 to 24Q1-release
Change-Id: I8e40b14deff1a904c5b6d03e6d84ce12bc715a8b
2023-12-06 00:04:24 +00:00
Android Build Coastguard Worker
448333c762 Snap for 11180250 from e2d9795558 to 24Q1-release
Change-Id: Ieff21452dd2fe4add4f11027de36f2760d090538
2023-12-06 00:04:24 +00:00
Android Build Coastguard Worker
522239486f Snap for 11169761 from 505ad2718a to 24Q1-release
Change-Id: I884c987c9f0b4d88c032af9eb6c8d6220d3a619a
2023-12-02 02:01:58 +00:00
Android Build Coastguard Worker
6fd17485db Snap for 11169761 from 3555bbe0a8 to 24Q1-release
Change-Id: Ic73c094231d9b603ff086051f9918782d98eef40
2023-12-02 02:01:56 +00:00
Android Build Coastguard Worker
fcf53d96e8 Snap for 11146061 from baca0e0e4d to 24Q1-release
Change-Id: I22e4a84a52bfd9de5a744e5b0b2cdc06e684ff0c
2023-11-28 00:02:32 +00:00
Android Build Coastguard Worker
8f2561170e Snap for 11135477 from 2bd12254f4 to 24Q1-release
Change-Id: Id4264df30ec5df5d602e4c2ad15013cbf4e2b087
2023-11-23 00:02:28 +00:00
Michael Bestas
9b3ed02735 gs201: Inherit common partition reserved sizes
Change-Id: I444ce2fcd37cdfa58d83a7e872dc547fb05a2a89
2023-11-22 19:32:22 +02:00
Android Build Coastguard Worker
bce6a9b893 Snap for 11130229 from 8f30df1dcf to 24Q1-release
Change-Id: Icc7ba59b9b9f3fd8d78b740e2c90426d13996b3f
2023-11-22 00:03:26 +00:00
Android Build Coastguard Worker
dafdd19aa7 Snap for 11124398 from 3b40f18e29 to 24Q1-release
Change-Id: I8942421e38bd71856bcd534d87d4af1fd7864da6
2023-11-21 00:01:58 +00:00
Android Build Coastguard Worker
2e2a298b6e Snap for 11120126 from 1ecee14a46 to 24Q1-release
Change-Id: Ic7021e363a7e94b35d398218304e2bf08a89b0a9
2023-11-19 00:01:52 +00:00
Android Build Coastguard Worker
2a6e01f447 Snap for 11117647 from 7411947a02 to 24Q1-release
Change-Id: Ie9cc2ce2dfbd6bc59475bf2df6f0c76825ee6bbf
2023-11-18 02:01:53 +00:00
Android Build Coastguard Worker
459c086d08 Snap for 11117647 from b4cd7bf619 to 24Q1-release
Change-Id: Ifaa7d2f273f47498990e3d07202feed595819cdc
2023-11-18 02:01:52 +00:00
Android Build Coastguard Worker
fb3ab9da92 Snap for 11104212 from a99d48c10e to 24Q1-release
Change-Id: I7f5fb7fe5dc8e0cd89f66e3ee871e37527d61d60
2023-11-16 00:02:37 +00:00
Android Build Coastguard Worker
042a2ba4e1 Snap for 11097608 from b204558a73 to 24Q1-release
Change-Id: I1a5ff1342489c49bc9fa44497cbe6f5befbce4c7
2023-11-15 00:02:21 +00:00
Android Build Coastguard Worker
fc19078949 Snap for 11089623 from 6d978bc632 to 24Q1-release
Change-Id: Iaa8cf2d845e099f33be3ee61a4b1c4de1641cf9f
2023-11-14 00:02:00 +00:00
Android Build Coastguard Worker
49c9e763ac Snap for 11084970 from bc4af7cd50 to 24Q1-release
Change-Id: Ic12a6f3dcc9a8e3841759241770ecee7c80f591d
2023-11-11 02:02:22 +00:00
Android Build Coastguard Worker
93e116bcd0 Snap for 11078623 from 757c5f81ee to 24Q1-release
Change-Id: I96774bdbb2c3ea090e6dc3be1f5efda70a227c14
2023-11-10 00:02:03 +00:00
Android Build Coastguard Worker
4cb02c1748 Snap for 11071763 from 551b83f7c5 to 24Q1-release
Change-Id: I90ed2224785d3d0455c36c10eb9ba8455b2e686b
2023-11-09 00:02:05 +00:00
Android Build Coastguard Worker
08554b5003 Snap for 11071763 from b438a64948 to 24Q1-release
Change-Id: I55d8cc0be77a8ac98a3b1ea6dbe6c7b60df3838f
2023-11-09 00:02:04 +00:00
Android Build Coastguard Worker
be552bc1f9 Snap for 11065517 from e22b188d9d to 24Q1-release
Change-Id: Ic7ce5376a8200d34a45f632f3cecada6b3215546
2023-11-08 00:03:45 +00:00
Michael Bestas
2b69ac69aa Merge tag 'android-14.0.0_r14' into staging/lineage-21_merge-android-14.0.0_r14
Android 14.0.0 release 14

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZUmd6wAKCRDorT+BmrEO
# eOY5AJ9bnJM1agZfCbQJIodkjxyuLLgwPwCfRHjtKbZq9zXf4y1sivqyrNE/png=
# =FgnN
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Nov  7 04:16:11 2023 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2046 signatures in the past
#      2 years.  Encrypted 4 messages in the past 22 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Paul Lawrence
# Via Android Build Coastguard Worker
* tag 'android-14.0.0_r14':
  Run fsck to resolve possible data corruption
  Run fsck to resolve possible data corruption

Change-Id: I47b25d94a257bee552401c3d11f6a5123b93740e
2023-11-08 01:29:00 +02:00
Android Build Coastguard Worker
76c58826c5 Snap for 11059422 from d50939ab22 to 24Q1-release
Change-Id: Ib15b8aff4d1ad35aed22b1af85d996c8738838b4
2023-11-07 02:02:27 +00:00
Android Build Coastguard Worker
de1d64a8cb Snap for 11051137 from 4f1d96210d to 24Q1-release
Change-Id: I9253dd57bc75c6fe82505df3a2cc199eb50fb64d
2023-11-04 03:02:15 +00:00
Android Build Coastguard Worker
6fda956127 Snap for 11044623 from 5187b301cb to 24Q1-release
Change-Id: Ifebfae1c2e4fc7c3890567e3292f2bcc7a2f32b5
2023-11-03 01:02:54 +00:00
Android Build Coastguard Worker
3c4b405c8f Snap for 11038355 from 2f628f5fd2 to 24Q1-release
Change-Id: I53b44b93b964e7a3cd17e2c8586e1fce90035e33
2023-11-02 01:02:41 +00:00
Android Build Coastguard Worker
aafe6e214c Snap for 11031655 from 435e0aafa8 to 24Q1-release
Change-Id: I31a5f891830e6f4f3cacd70663ec19950ad648ac
2023-11-01 01:02:37 +00:00
Android Build Coastguard Worker
c408e48566 Snap for 11031655 from 6c78c45aae to 24Q1-release
Change-Id: Ic7b1948d74c39044156c52c8bb95805e099a00d5
2023-11-01 01:02:36 +00:00
Android Build Coastguard Worker
bdf73c5b4f Snap for 11025555 from 037d5cccf3 to 24Q1-release
Change-Id: I6116d86767693bccb6364bc0c97abdb8dca09169
2023-10-31 01:02:14 +00:00
Android Build Coastguard Worker
a19b52d31c Snap for 11020550 from 39337da9be to 24Q1-release
Change-Id: I6e4f52aa3a81ec66f0a98b6b8a05b4804f61cca9
2023-10-29 23:02:37 +00:00
Michael Bestas
4eb01fc6ed Add lineage.dependencies
Change-Id: I69ea95e240cca3f3b700ae68a4853e5a4d4fd5bc
2023-10-29 23:23:11 +02:00
Michael Bestas
f518943284 Build kernel with clang r450784e
Pixel 5.10 kernel doesn't compile with r487747c and we don't want to
bother fixing all the new errors in kernel source and modules.

Change-Id: I4495c751e0fd7707fe5068416a04eed96948b954
2023-10-29 23:23:11 +02:00
Michael Bestas
af5951eef5 gs201: Inline kernel building
Change-Id: I5cdfc16b5537541b0eb930d7dc02860994d89619
2023-10-29 23:23:11 +02:00
Rashed Abdel-Tawab
8dc092ae68 gs201: Build a disabled vbmeta image
Squashed with:
Author: Nolen Johnson <johnsonnolen@gmail.com>
Date:   Sun May 9 16:04:34 2021 -0400

    Simplify AVB flag logic

    * AVB's `--flags 3` argument builds a disabled VBMeta with
      disabled hashtree, so no need to set both flags individually.

    Change-Id: Ibe9ee322a5af58f13e76d53e18dee49451fe8838

Change-Id: Ie8f1e0929b037b35b5e45c2e31be9253fa0bb097
2023-10-29 23:23:11 +02:00
Neel Chauhan
cdff2a709f Revert "Enable compressed snapshots/VABc."
Virtual AB compression prevents GApps from being installed to
cheetah/panther.

This reverts commit 2bfa6d3ba01856d99c6ffdb64627c6e9391c4a41.

Change-Id: I119b8e042e4cdeec27a19ab5dd4f0666cc115ae1
2023-10-29 23:23:10 +02:00
Michael Bestas
3243b526d7 gs201: Build Lineage Health HAL
Change-Id: I70cc903a03ac9fa3303bb8fa039c9de4806449bf
2023-10-29 23:23:10 +02:00
Alessandro Astone
bb8bd4334a Build pixel touch HAL
Change-Id: I45cff81e1159613094440dd7b2b73b53519c9de6
2023-10-29 23:23:10 +02:00
LuK1337
6eebc19c3e gs201: don't inherit aosp_product.mk
This includes some unnecessary telephony bits and overrides.

Change-Id: Id75d9fd584a9981e756bb65a668ed526b4d1cd05
2023-10-29 23:23:10 +02:00
LuK1337
6345542a06 gs201: add 'tablet' to product characteristics when needed
Change-Id: I20105565a1b313fe6ff8499b49d3691f776f9267
2023-10-29 23:23:10 +02:00
LuK1337
437b2a63af gs201: don't explicitly build messaging
It's included via aosp_base_telephony.mk.

Change-Id: Ic260cc12fb63cf804fab1f842fad7d68b622785d
2023-10-29 23:23:10 +02:00
Michael Bestas
adce9b34d8 gs201: exclude telephony components if BOARD_WITHOUT_RADIO
Change-Id: I0298d04c1ca814417aef275d3f6a144101d2f7a6
2023-10-29 23:23:10 +02:00
Michael Bestas
d5786a0cb2 Include missing vendor sepolicy
Change-Id: Id35fb4b22e2ee8dfafdfb8ae601ab823435d2b94
2023-10-29 23:23:09 +02:00
Michael Bestas
7d26e0a490 Label vendor.dolby.media.c2@1.0-service
Change-Id: I89fb4c149aed94cf2f7c3d34f7fde5877175b1e2
2023-10-29 23:23:09 +02:00
Chirayu Desai
0cb6c743d7 Allow radio access to IOemSlsiRadioExternal
Change-Id: Ib5d57b199b3e8288cd3de0c12898f0c1d679be4a
2023-10-29 23:23:09 +02:00
Danny Lin
153c5687e9 Update seapp certificates to match stock presigned apps
Certificates extracted from stock vendor_mac_permissions.xml using
adevtool: https://github.com/kdrag0n/adevtool

Change-Id: Iaf59f1548905d16fe7ad231c039ba43941c15710
2023-10-29 23:23:09 +02:00
Alessandro Astone
c05185e38d Fix public key for EuiccSupportPixel sepolicy domain
Change-Id: I00f7a9a2b0f41d08af3262b0efd625dd2b6e1c9f
2023-10-29 23:23:09 +02:00
ReallySnow
3e9152ff93 Add AiAi allowlist
* In Android 12, Android System Intelligence (com.google.android.as) uses
  some of the Private Compute Service (com.google.android.as.oss) services.
  The absence of these Allowlists will cause Android System Intelligence
  to fail to connect to the network and cause collapse.
* We don't need to extract google.xml to fix it, just extract the AiAi part

Change-Id: I446ae5d243cff134901094f82c90a0bbf3bb4381
2023-10-29 23:23:09 +02:00
Danny Lin
d485885130 Squashed import of AiAi configs
Co-authored-by: Alessandro Astone <ales.astone@gmail.com>
Co-authored-by: Michael Bestas <mkbestas@lineageos.org>
Change-Id: I78bd7d04cbd0b35f6a8c01df3a8c1013d99bbf42
2023-10-29 23:23:09 +02:00
razorloves
339bf187d0 Hide user facing crash dialog for EUICC app
The GoogleParts app disables the EUICC app when there's no GMS, but it
doesn't happen quick enough. The crash dialog pops up a few times right
after initial boot up. There's no need to alarm the user, so hide it.

Change-Id: Ia06b336b30a8886bae522c6e8a76a1ca15da5edd
2023-10-29 23:22:29 +02:00
Peter Cai
0a92be0e28 Disable Euicc when GMS and GSF are not installed
* This avoids EuiccGoogle / GoogleCarrierServices crashing, taking the
  whole telephony stack with them when no GMS or GSF is installed.
* Compared to change 274251, this approach is no-op when GAPPS add-on is
  flashed before the first boot, and thus should not cause issues with
  eSIM when GAPPS is flashed.
* With microG, this also works after installing the microG GMS & GSF
  packages and rebooting, although manual activation of the eSIM is
  needed via Settings - Network.
* The only downside is that users will still see one or two crashes
  during the first boot because our application only starts after the
  device is booted.

Change-Id: I4a11c93e855978abbf8d84fdbe4ffc8b2aedc27c
2023-10-29 23:22:29 +02:00
Android Build Coastguard Worker
0416a1f301 Snap for 11017726 from 042122f0dd to 24Q1-release
Change-Id: I5b24bf34dd2ad74e7bd5f8e1e3bfa74e1be24f84
2023-10-28 03:11:52 +00:00
Android Build Coastguard Worker
d3a2b06623 Snap for 11012804 from c0b7446f14 to 24Q1-release
Change-Id: I9a0e8a6ee5693e22d18fc6ac4922d31ee8fc9aca
2023-10-27 03:19:00 +00:00
Android Build Coastguard Worker
19a776f316 Merge cherrypicks of ['googleplex-android-review.googlesource.com/25159378'] into udc-release.
Change-Id: I9e9b3d558723ffc483dc8b4048fcc96dc8e7851a
2023-10-26 19:49:52 +00:00
Paul Lawrence
cd377bf81e Run fsck to resolve possible data corruption
Trigger fsck on mount of /data if the value of ro.preventative_fsck is
not equal to the contents of /metadata/vold/preventative_fsck, then set
the file to the property to prevent future runs

See b/305658663 for context

Bug: 305658663
Test: Make sure fsck run after first boot and not after second
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e4a81c0e8f9f8d89f0e42e8fd7ec40cec6b887ed)
Merged-In: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe
Change-Id: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe
2023-10-26 19:46:50 +00:00
Android Build Coastguard Worker
baaac3045c [coastguard skipped] Merge sparse cherrypicks from sparse-10873617-L38100000963723257 into udc-release.
COASTGUARD_SKIP: I67e1be25496c637c78de986f57df1b951343bd71
COASTGUARD_SKIP: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe

Change-Id: I11015a23c68c88d6299cf5d5091103f8e50a1cea
2023-10-25 22:16:51 +00:00
Android Build Coastguard Worker
d35c6201a6 Merge cherrypicks of ['googleplex-android-review.googlesource.com/25159378'] into sparse-10873617-L38100000963723257.
SPARSE_CHANGE: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe

Change-Id: I67e1be25496c637c78de986f57df1b951343bd71
2023-10-25 22:07:49 +00:00
Paul Lawrence
daff6b1e40 Run fsck to resolve possible data corruption
Trigger fsck on mount of /data if the value of ro.preventative_fsck is
not equal to the contents of /metadata/vold/preventative_fsck, then set
the file to the property to prevent future runs

See b/305658663 for context

Bug: 305658663
Test: Make sure fsck run after first boot and not after second
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:48bae782fc3b798b8ea57335ec6c02431af5e1a8)
Merged-In: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe
Change-Id: I1263d2d55fe22d994ae8c8654b1e75ad9e4ddafe
2023-10-25 22:06:00 +00:00
Android Build Coastguard Worker
8015ca09b2 Snap for 10998418 from 8135bd2ba4 to 24Q1-release
Change-Id: I3f40dfc5b8a525b2d148c23c2935f39030874286
2023-10-25 01:05:34 +00:00
Android Build Coastguard Worker
e63881396f Snap for 10985023 from d7f1523b35 to 24Q1-release
Change-Id: I1dfdfc0b89c35098e87596c6190e49a2bedd0c5a
2023-10-21 03:05:24 +00:00
Android Build Coastguard Worker
4258b2b3f4 Snap for 10985023 from 000cf085d1 to 24Q1-release
Change-Id: I1c99c23c8079f82fb2d5f4a496250026d223a9ad
2023-10-21 03:05:23 +00:00
Android Build Coastguard Worker
362f8f84f1 Snap for 10975086 from c13cd03ccf to 24Q1-release
Change-Id: I43e7283da056abb2490c814817235f96b47dcde8
2023-10-20 03:10:27 +00:00
Android Build Coastguard Worker
028be53751 Snap for 10970117 from 5f50ee6ebb to 24Q1-release
Change-Id: I50d355f1f09e3cbc5b0a23935b72f037297f2052
2023-10-19 01:09:06 +00:00
Android Build Coastguard Worker
1e5f720709 Snap for 10970117 from 131a635fe9 to 24Q1-release
Change-Id: Ie61741baf16ddc8f59aa272d8ce77fd883dd3458
2023-10-19 01:09:05 +00:00
Michael Bestas
91ed6f8e24 Include missing ConnectivityThermalPowerManager sepolicy
Change-Id: I1e0f05159a6797251ed85360966aa45246005bbd
2023-10-18 16:52:00 +03:00
Danny Lin
19d9cc5749 Allow ConnectivityThermalPowerManager to request thermal mitigation
ConnectivityThermalPowerManager mainly exists to manage thermal
mitigation.

Change-Id: I7d1ad7cb45a24697e444ac1f85ccfb507cb1ce49
2023-10-18 16:52:00 +03:00
Danny Lin
1167b25995 Configure ConnectivityThermalPowerManager
Extracted from stock RQ1A.201205.010 on redfin.

Change-Id: I71ad5adf9bf64bb1e30354446220d5769a9d44ca
2023-10-18 16:52:00 +03:00
Danny Lin
8c462c722a Enable Adaptive Connectivity setting
This feature is provided by the ConnectivityThermalPowerManager app that
we extract as a proprietary blob, so we can expose it.

Change-Id: I407e9e2235531fbca0b2c0e48b68105b1e77ad1f
2023-10-18 16:52:00 +03:00
Michael Bestas
91248b74ac Remove quick_qs_{offset,total}_height overlays
Commit 49895bb361e74ffe92a3c0b76f988c8e4697b5c1 in device/google/gs101
failed to remove these overlays. Since this tree was created from
device/google/gs101, this results in the following issue on pantah:
* Pull down status bar
* Try to adjust brightness, network settings open instead

This is caused by the 171px offset that causes the status bar
to overlap the brightness slider.

Test: Reliably adjust brightness, confirm with "Show layout bounds"
      from developer settings.
Change-Id: I1b97a28c257cb5b0faba830f29e9058d2dbe50fa
2023-10-18 16:52:00 +03:00
Nolen Johnson
a8660a0cba Set camera extension package to Google package
Change-Id: I519ebf8a1e2a9d06561471206c91c01b352ebd47
2023-10-18 16:52:00 +03:00
LuK1337
244428a3c8 overlay: Add reboot to fastbootd
Change-Id: I733b4d29129f85b92222e292af46602310b9f29f
2023-10-18 16:51:59 +03:00
Michael Bestas
f1ad67a058 Set default screen brightness
Extracted from stock.

Change-Id: I8a5e2c8717c145e66aaa0e926ceefc7e117b04c2
2023-10-18 16:51:59 +03:00
razorloves
dcdbc2bcc3 Set auto brightness mode on by default
* Stock sets this on by default, mirror that behavior.

Change-Id: I5cb8e3db27849ebd90459a6d70e053158c05bcc9
2023-10-18 16:51:59 +03:00
Danny Baumann
9626d4364f Enable call recording
Change-Id: I1b4478b330b13cf5d0fe1ed0d40f43e4b3825f33
2023-10-18 16:51:59 +03:00
razorloves
516199c5e6 Set OPA property to enable google assistant
Change-Id: I741171219d64a28d56531f063f95f3f6f6cf81e6
2023-10-18 16:51:59 +03:00
razorloves
b3f30bf6a9 Use CarrierSettings app instead of CarrierConfig
The CarrierSettings app enables/disables carrier apps based on sim
inserted, so use it instead of CarrierConfig.

Change-Id: I163dd615e9d8268c5f94a28ae234a30f74c7e83b
2023-10-18 16:51:59 +03:00
Michael Bestas
d54cae16c8 Set config_nightDisplayColorTemperatureCoefficients
Extracted from stock.

Change-Id: I5d69d01204b0dd86a7205eb3b16e02f97a7f3db2
2023-10-18 16:51:59 +03:00
Danny Lin
2655187223 Enable USB and skin temperature warnings
Extracted from stock.

Change-Id: I951f60579a4b7fa2dcc270b5acd433ad1ecb083c
2023-10-18 16:51:58 +03:00
Dan Pasanen
009810fe8b enable config_vibrateOnIconAnimation
* need those sexy vibes

Change-Id: If5671135879f6f4069d0ed881b41b0a243890349
(cherry picked from commit 5b829c486d89568ece0a2baafedfdf1b4ffbac06)
2023-10-18 16:51:58 +03:00
Michael Bestas
0522c04a87 overlay: Update multiple vibration strength levels overlay for 13
Change-Id: If17503f2dd4bd4d6e333891f9649a7db8d809852
2023-10-18 16:51:58 +03:00
Danny Lin
0d5845cadf overlay: Settings: Enable multiple vibration strength levels
All production GS201 devices have CS40L2x haptic driver ICs that support
multiple intensities, so expose the Off/Low/Medium/High vibration
strength options like stock.

Change-Id: I72645b5bd5772e182592a630df86f9b6166b4923
2023-10-18 16:51:58 +03:00
mydongistiny
d37aac0531 Add back saturated color mode
Change-Id: I183c2eabe7c3918fde6c37b0aa360ed7e94f6b61
2023-10-18 16:51:58 +03:00
Danny Lin
58d15a721b Don't pin camera app in memory
The default camera app can be *huge* in some cases, e.g. when the app in
question is Google Camera. The system will only pin up to the first 80
MiB of the APK file, as well as the first 80 MiB of its odex. There are
several problems with this:

  - We could easily end up with 160 MiB of camera app files pinned,
    which is a tall order with the 6 GiB of usable RAM that we have
  - The data that gets pinned may not even be the most critical data for
    launching the camera

Let's disable pinning of the camera app to save RAM.

Change-Id: I745e39b6ff212dfaf9213517d2a2be8ff7384e24
2023-10-18 16:51:58 +03:00
Ethan Chen
7e2cd8f092 Disable userdebug diagnostics
* We can't make use of most of the debug features on userdebug builds.

Change-Id: I31df2090b31243b742c4e82dc08cd8491dada54f
2023-10-18 16:51:58 +03:00
Android Build Coastguard Worker
44c496c5e2 Snap for 10963245 from b289045b39 to 24Q1-release
Change-Id: I774f947421f6c6e2890aa4822e84ab9886a43f1c
2023-10-18 01:04:26 +00:00
Android Build Coastguard Worker
359f69ee08 Snap for 10963245 from cc794e617c to 24Q1-release
Change-Id: I36775040f5620151ce19c9eec13c25e7402fcbb6
2023-10-18 01:04:25 +00:00
Android Build Coastguard Worker
59c6073296 Snap for 10958510 from 151844f3ad to 24Q1-release
Change-Id: Ia22e1ad6dbacc3b3589487bcac714d09f0268bf3
2023-10-17 02:29:47 +00:00
Android Build Coastguard Worker
c66b25abf4 Snap for 10950137 from 7b8a531469 to 24Q1-release
Change-Id: I983e2f134c27ec8705f1ff07fef276d8f5a22cd5
2023-10-14 05:04:22 +00:00
Android Build Coastguard Worker
35b8f1638c Snap for 10942032 from 66608337b7 to 24Q1-release
Change-Id: I6c926146c7694dc8f5bdb258c96c05100e6ed887
2023-10-13 03:09:34 +00:00
Chirayu Desai
5a322be262 Add device manifest for radio & keymint
Change-Id: Ib6c4b28d33fb64cb05c715d86a96a829a498beac
2023-10-12 16:27:29 +03:00
Chirayu Desai
dfcf0b1899 Build vbmeta_vendor
Change-Id: I74c028a2e5ade8830526e95f8ec90b1a1da35afb
2023-10-12 16:26:43 +03:00
Chirayu Desai
2a3a032362 Set BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES = true
Change-Id: I0eeaa3ba0f87e5fbe64234d413b5e4eee36957b0
2023-10-12 16:26:38 +03:00
Chirayu Desai
2be347354c Build vendor
Change-Id: I08dff42223ae54386a5ed050b51aa4a39e08bdb6
2023-10-12 16:26:33 +03:00
Chirayu Desai
f10bef71b8 Build vendor_dlkm
Change-Id: Ic2a0e4cdfdcc448a73bef41e0d2140e9d0aefcf0
2023-10-12 16:26:30 +03:00
Chirayu Desai
a9e08f01d3 Allow building vendor image
* We don't have access to these files, but we still want to
  build vendor images without errors

Change-Id: I4c09f7134b218b5fc10d180a6ef05015cad54f5d
2023-10-12 16:26:25 +03:00
Danny Lin
d31839caf4 Build OpenCL NNAPI backend when blobs are present
Change-Id: Ib2c5176e4c95ca5f32c2c181ec33376437d38dc5
2023-10-12 16:26:12 +03:00
mydongistiny
376bea3228 Use Google's wifi_ext service
* Use vendor.google.wifi_ext@1.0-service
  that is in the vendor partition instead
  of the AOSP WiFi service.

Change-Id: Ia0fff6ffc532cc6b5e41f8ac242d00e64627cee8
2023-10-12 16:25:50 +03:00
Bruno Martins
c0e0850259 Pin standard SystemUI instead of Google's
Change-Id: If96bb13d6cc2c2156d8df111a1037247c96c6e0f
(cherry picked from commit 043d76955467053dcf8f615f6637bdc66b667c0c)
2023-10-12 16:25:29 +03:00
Chirayu Desai
ed9c9fa491 Create BoardConfigLineage
Change-Id: I8136e9f0df40ca3bf96dbfd2453275481178cdaa
2023-10-12 16:25:16 +03:00
Michael Bestas
61fb7857c5 Update sepolicy path
Change-Id: I428e79c2c49f27a1245f21876b916aee513db06b
2023-10-12 16:24:46 +03:00
Michael Bestas
b43c519a73 Add .gitupstream
Change-Id: I79747ef989659c069386a6ed34a59bba2e8ea860
2023-10-12 16:23:18 +03:00
Michael Bestas
c26d44d7b5 Add 'sepolicy/' from tag 'android-14.0.0_r1'
git-subtree-dir: sepolicy
git-subtree-mainline: a61212cb07
git-subtree-split: e215ee0263
Change-Id: I0e9a57b8d151d69586815602262bc425a75dc6d2
2023-10-12 16:16:16 +03:00
Android Build Coastguard Worker
92329e9f56 Snap for 10917888 from e4653947a9 to 24Q1-release
Change-Id: If9c6f8990d383dde5de668761b9d1ea04831797a
2023-10-07 23:03:52 +00:00
Android Build Coastguard Worker
5e3735dce7 Snap for 10917888 from 338aaa1572 to 24Q1-release
Change-Id: I8d4955fc2b898f4fe01f0650cdb42cd99023b39d
2023-10-07 23:03:51 +00:00
Android Build Coastguard Worker
d75b0a5247 Snap for 10915631 from 26abdf4ee2 to 24Q1-release
Change-Id: Ia909185b38842c3400523cd141bec326683735cf
2023-10-07 03:05:02 +00:00
Android Build Coastguard Worker
da2d5774fe Snap for 10909147 from e0cc9659dd to 24Q1-release
Change-Id: I4fe35d26f1242d1f5a4dd4e26501ff66def095fe
2023-10-06 01:04:21 +00:00
Android Build Coastguard Worker
a308cb0408 Snap for 10909010 from b256bc86c0 to udc-qpr1-release
Change-Id: Id2d5b00c79c52e5e04cf618d0ccda4ca6915de36
2023-10-05 23:02:42 +00:00
Android Build Coastguard Worker
63a8590df3 Snap for 10903783 from d6af0eeb28 to 24Q1-release
Change-Id: I4a46cb42816a86fa9c1ca077633f2c09b235e8b6
2023-10-05 03:04:13 +00:00
Android Build Coastguard Worker
b22fd2b175 Snap for 10897809 from 99c4d0f276 to 24Q1-release
Change-Id: I0e9938f40fe0bd3c5b30efc6748e0079165303f4
2023-10-04 02:29:03 +00:00
Android Build Coastguard Worker
7689c0d4dc Snap for 10889587 from 6116a993a4 to 24Q1-release
Change-Id: Ieec16723ba5c1c94f5bf6cfd73f7b494261fc381
2023-10-03 03:04:13 +00:00
Android Build Coastguard Worker
7cd7d69d5c Snap for 10884074 from 076b774f9e to 24Q1-release
Change-Id: I44d7a7b10dd4355e12d831a08f5b400e4fc6c729
2023-09-30 03:04:12 +00:00
Android Build Coastguard Worker
2750ef5a33 Snap for 10878163 from 050b892544 to 24Q1-release
Change-Id: I5d8399c919c1cfa88239ccca7cb44143df6035dc
2023-09-29 01:03:56 +00:00
Android Build Coastguard Worker
5fdbdcddf5 Snap for 10865348 from fc6c1c9837 to 24Q1-release
Change-Id: I267e5fbacf8e4f3664b033ee6d19988dac55f62b
2023-09-27 01:03:03 +00:00
Android Build Coastguard Worker
d1d763ba08 Snap for 10851067 from 537da0f60c to 24Q1-release
Change-Id: I7af29e98f8eeb2c5cdb522bc37d3573b85fba7e9
2023-09-23 03:02:55 +00:00
Android Build Coastguard Worker
451101a700 Snap for 10843824 from 764e677ff0 to 24Q1-release
Change-Id: Ib5026f4b43ccb5dad3ade8f53cb038e376b6c06f
2023-09-21 21:52:33 +00:00
Android Build Coastguard Worker
9fdff6ca39 Snap for 10843824 from 4156589ff6 to 24Q1-release
Change-Id: Iba30556e893376b2be457cc55e7d2488310085f4
2023-09-21 21:52:32 +00:00
Android Build Coastguard Worker
6238b240eb Snap for 10832001 from e39998954f to udc-qpr1-release
Change-Id: I475420c1246e40647318a72cadbf72e7861608b5
2023-09-19 23:03:02 +00:00
Android Build Coastguard Worker
b9dec4c10c Snap for 10527654 from 34bda7b2b8 to udc-qpr1-release
Change-Id: I94467417311869427465f2c8f0eade8f41d73113
2023-07-19 23:02:21 +00:00
Android Build Coastguard Worker
1edac295fa Snap for 10459084 from d02a8eef29 to udc-qpr1-release
Change-Id: I8b25e5b69ccaae5bc9fbe6225ff9d59bfbfe6a2e
2023-07-08 01:06:47 +00:00
Android Build Coastguard Worker
84c2320c5c Snap for 10439448 from 41ed8e83ea to udc-qpr1-release
Change-Id: I2974d96bc790040bee03893138a30bbe4a83d389
2023-07-05 23:02:24 +00:00
Android Build Coastguard Worker
3f43c40d88 Snap for 10393214 from 4d0eeef36f to udc-qpr1-release
Change-Id: I87a838ea40924b83d6f6f64cae31f45a00e8df8f
2023-06-27 23:02:15 +00:00
Android Build Coastguard Worker
1c85bdd4f8 Snap for 10233403 from d1c4337008 to udc-qpr1-release
Change-Id: Ib5a26e6ab4b648e43aeb047de53c3177b04b8f5b
2023-06-01 02:36:38 +00:00
Android Build Coastguard Worker
e215ee0263 Snap for 10233678 from ee160b5880 to udc-release
Change-Id: I063204532a103bf4a34669332eac8218dc97d0d7
2023-05-31 23:02:51 +00:00
Android Build Coastguard Worker
af49915ef8 Snap for 10213992 from 54bb70bae8 to udc-qpr1-release
Change-Id: I0e8d079f1a7cfbe40bd1dec8c7e69525dc0ea314
2023-05-27 05:07:18 +00:00
Android Build Coastguard Worker
bc0330b4a0 Snap for 10214038 from 955ae6825f to udc-release
Change-Id: I42fe923dde4326e614e504421f23f911cce5a002
2023-05-27 01:09:09 +00:00
Android Build Coastguard Worker
96a53ff12d Snap for 10204122 from a16d3cc686 to udc-qpr1-release
Change-Id: I55d2b35b993502f5e1986beb87b6d34b60be984b
2023-05-26 01:08:03 +00:00
Android Build Coastguard Worker
2762d0dbd4 Snap for 10205056 from 1113c66dea to udc-release
Change-Id: I516d5908f39e0923d8a9de14adcb7fa2e972588c
2023-05-25 23:02:28 +00:00
Android Build Coastguard Worker
0128580e96 Snap for 10196038 from 95cfaf3d0e to udc-qpr1-release
Change-Id: Ibdf0236bc5e748d2a1ba65c1f349129969aa4828
2023-05-25 02:41:45 +00:00
Android Build Coastguard Worker
00b21ecf0e Snap for 10196304 from 10ef6d8619 to udc-release
Change-Id: Ic56e53ac8597d1117e7cd1885f2a22723d674d87
2023-05-24 23:02:21 +00:00
Android Build Coastguard Worker
50cd86ef20 Snap for 10186302 from b4e262f4cb to udc-qpr1-release
Change-Id: I6c6b6ff2ed788dcaa908f19a68ba6fb24ec4e4de
2023-05-24 03:02:11 +00:00
Android Build Coastguard Worker
46830e7b60 Snap for 10180570 from 7f19e81d61 to udc-release
Change-Id: Ia152184fba54917fb5838e05d3aab8627b40139a
2023-05-22 23:01:56 +00:00
Android Build Coastguard Worker
6b1d252a01 Snap for 10157673 from ad4952fba4 to udc-qpr1-release
Change-Id: Iefb68cccdd488a2f399193174bd3a231f37c5e5a
2023-05-18 03:02:12 +00:00
Android Build Coastguard Worker
f6bec7ea36 Snap for 10154358 from 3992c42501 to udc-release
Change-Id: I3d4e74bda302b9291669d5e8131fea004b8d5fcd
2023-05-17 23:02:55 +00:00
Android Build Coastguard Worker
b6bf25aa5c Snap for 10137062 from 23ca430833 to udc-qpr1-release
Change-Id: I18e357d5f73b81942acc332a85b820eb76bfb2be
2023-05-16 03:02:14 +00:00
Android Build Coastguard Worker
169c3fe820 Snap for 10136934 from d19337894a to udc-release
Change-Id: I67c487ac4e17943446f54578ef71cad1b2b5049d
2023-05-15 23:02:48 +00:00
Android Build Coastguard Worker
7af75c401a Snap for 10120310 from 5d36e67f21 to udc-qpr1-release
Change-Id: I013919900d9e60b14ccfac2c3dc4c9752debf62c
2023-05-12 03:02:23 +00:00
Android Build Coastguard Worker
c734a25fe1 Snap for 10113759 from 2a02fe5fc5 to udc-release
Change-Id: I5813d93faae1052c6f6d73f96dd327ba4dd92c7d
2023-05-11 23:03:04 +00:00
Android Build Coastguard Worker
c77922ff67 Snap for 10109327 from c2d912818c to udc-qpr1-release
Change-Id: I0a0f29573a5007c200f4556944bbf2df24c2ec8c
2023-05-11 03:02:16 +00:00
Android Build Coastguard Worker
22c80e1265 Snap for 10054401 from 33f9e124e4 to udc-qpr1-release
Change-Id: I3126a9011d19f436fbbf6024e653695e6e45e377
2023-05-03 01:07:04 +00:00
Android Build Coastguard Worker
ade98a502a Snap for 10052121 from 2d7181e3fc to udc-release
Change-Id: I6af22110cc32631563ae52da9c39833023b29f24
2023-05-02 23:02:59 +00:00
Android Build Coastguard Worker
da3889c8a8 Merge cherrypicks of ['googleplex-android-review.googlesource.com/22949545'] into udc-release.
Change-Id: I6a1fde087f63e697c5332cad641eb0d756689f58
2023-05-02 18:26:14 +00:00
Jinyoung Jeong
69b541901e Fix LPA crash due to selinux denial
Bug: 280336861
Test: No crash found during LPA basic tests: download eSIM,
enable/disalbe eSIM.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2d7181e3fc1f5c9147eeeac3a0322f2dc2d69ff8)
Merged-In: Ie4fd8fccce5ec98cf0b2afff9a41f27206e52626
Change-Id: Ie4fd8fccce5ec98cf0b2afff9a41f27206e52626
2023-05-02 18:26:02 +00:00
Android Build Coastguard Worker
0bdddbd4cc Snap for 10040800 from 0e225eae79 to udc-qpr1-release
Change-Id: I21ed49a850537ba0b048839bfe7c1dc558dd977d
2023-04-30 23:02:26 +00:00
Android Build Coastguard Worker
2041727cfa Snap for 10040535 from f265749f1d to udc-release
Change-Id: I7d1ba36d4b944552a5600489f4d93600d267a8f4
2023-04-30 21:02:50 +00:00
Android Build Coastguard Worker
01a96b9f64 Snap for 10037196 from ee611cfb51 to udc-qpr1-release
Change-Id: I302eeac226d0226ecb15baea39590530b211473e
2023-04-29 03:02:18 +00:00
Android Build Coastguard Worker
85944c5aa0 Snap for 10017868 from 67082a4a05 to udc-qpr1-release
Change-Id: Id7c2cef32253beb18d603b30fcd5209552d29d03
2023-04-28 01:06:57 +00:00
Android Build Coastguard Worker
0dfdc9aaef Snap for 10025836 from a43d300aff to udc-release
Change-Id: Id3e1dac7df33d50c25803226566cb308f14e2ed4
2023-04-27 23:03:05 +00:00
Android Build Coastguard Worker
30dae42932 Snap for 10017950 from 2b913d29a9 to udc-release
Change-Id: Ife3262c8a116e30ad5cc59872a2e758c7b791e89
2023-04-26 23:03:06 +00:00
Android Build Coastguard Worker
a478ec1911 Snap for 9981223 from 0f6b14dc95 to udc-release
Change-Id: Ic5b50a814bd5fe7c6e988316f8796e7f317888d3
2023-04-20 23:03:13 +00:00
Android Build Coastguard Worker
f2f54df446 Snap for 9966400 from 4cc8eec22d to udc-release
Change-Id: I51990a9029ea75df40b5608619d56893f4e00f62
2023-04-19 01:07:12 +00:00
Android Build Coastguard Worker
812c74d5fa Snap for 9957928 from c1ee9afdef to udc-release
Change-Id: I089fe5256cf159734eff891f2ca1a0cd3817977d
2023-04-18 01:07:27 +00:00
Android Build Coastguard Worker
e481690bf4 Snap for 9930594 from 551330137f to udc-release
Change-Id: I43231cbd93f10dd76f6d6d9c30ced17669127200
2023-04-13 01:16:08 +00:00
Xin Li
0d3a4054cf [automerger skipped] Merge TQ2A.230405.003 am: 8cff198ae3 am: 4c44de9655 -s ours am: ba5a2d3863 -s ours am: 551330137f -s ours am: c28af0a680 -s ours
am skip reason: Merged-In I971732c6a40700a85df61170dcf1c3660307b96c with SHA-1 03fb0f6ceb is already in history

Original change: https://android-review.googlesource.com/c/device/google/gs201-sepolicy/+/2530209

Change-Id: I1ae6566fa3c11cbfbad857bcc460e0dcb30704e0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-12 21:36:55 +00:00
Android Build Coastguard Worker
192188b6af Snap for 9921839 from 3430e752af to udc-release
Change-Id: I7ef59067521f575ed65c134d11490533950a1de8
2023-04-12 01:07:33 +00:00
Android Build Coastguard Worker
88ab851ff7 Snap for 9914775 from 9519323a98 to udc-release
Change-Id: I95eb59e365501a4ac0fc73a56a85dee48cd9feec
2023-04-11 01:07:34 +00:00
Android Build Coastguard Worker
b1c5b8614b Snap for 9899401 from 187dcc4e08 to udc-release
Change-Id: I689e33926c87d68f53ca18a2ee4399117b7c7fbf
2023-04-07 01:07:53 +00:00
Android Build Coastguard Worker
f312fd9734 Snap for 9867821 from 33b2f0043c to udc-release
Change-Id: I8323ce06a3d577429ad8cd9974367c27fff23659
2023-04-01 05:09:27 +00:00
Android Build Coastguard Worker
2b73891134 Snap for 9853495 from 933e6a172b to udc-release
Change-Id: I1a967e87e9b797bc32e131cf15ba47d17e869e60
2023-03-31 01:07:51 +00:00
Android Build Coastguard Worker
9792825822 Snap for 9849129 from bb30528185 to udc-release
Change-Id: I9cb97fd2ba2c43ece3c168f96e7f60bf6896c611
2023-03-30 03:02:36 +00:00
Android Build Coastguard Worker
4ba65ca4a3 Snap for 9830776 from 86faa5607c to udc-release
Change-Id: I62de9afa7b11d6f3fc861c3e516ed1c4d78fd770
2023-03-28 01:07:29 +00:00
Android Build Coastguard Worker
5d645606c0 Snap for 9815702 from dcc7112f6f to udc-release
Change-Id: I0874c38ef38b00b09f17c2db13fc08c27c4fc476
2023-03-25 03:03:06 +00:00
Android Build Coastguard Worker
0a54404aed Snap for 9803320 from 1cdfdb4262 to udc-release
Change-Id: Ieb88df9f5c78434e2da34253caff470230ee89ef
2023-03-24 01:07:38 +00:00
Android Build Coastguard Worker
7feafab6b7 Snap for 9786938 from 28503a8706 to udc-release
Change-Id: Ief28677f11cb286fb07aed26fc074e2751da9f92
2023-03-22 01:07:28 +00:00
Android Build Coastguard Worker
17216931e8 Snap for 9781601 from 0f80193c30 to udc-release
Change-Id: Id7cda66bba42b14807c6cf807937de696ae69bea
2023-03-21 03:02:43 +00:00
Android Build Coastguard Worker
faa5767549 Snap for 9769041 from 0e62b47df9 to udc-release
Change-Id: I8f7bef2405b5cc1320521b09877824db82b92b21
2023-03-18 03:02:51 +00:00
Android Build Coastguard Worker
b982e79459 Snap for 9754537 from f5a068e2bf to udc-release
Change-Id: I9b828e1f6e6dd6223184ea37ad2df5d2391b4664
2023-03-16 03:02:31 +00:00
Android Build Coastguard Worker
6c11c1291d Snap for 9735252 from 915841aada to udc-release
Change-Id: If4cfb9b4a5105cf2b4810fed0857ac68da441572
2023-03-14 01:28:34 +00:00
Android Build Coastguard Worker
2d76573528 Snap for 9728260 from c50fcf4794 to udc-release
Change-Id: I8366515018e3f382abba7d5ddbda948cbfdabd1b
2023-03-11 04:03:13 +00:00
Android Build Coastguard Worker
321e871f03 Snap for 9719949 from 3c494301c8 to udc-release
Change-Id: If8ceadb0fdbc386f30ca13dff1812766e78b7081
2023-03-10 02:07:19 +00:00
Android Build Coastguard Worker
aa0ebd03d5 Snap for 9675941 from 6312c2c014 to udc-release
Change-Id: I884473a59993bac989df12f6a61b42dddffa4992
2023-03-02 04:07:26 +00:00
Android Build Coastguard Worker
cfa6bbf2c7 Snap for 9627971 from e4fad2e355 to udc-release
Change-Id: I60baf32cbd4a6a4f6b86f9e3f770889482379b5c
2023-02-19 02:02:40 +00:00
Android Build Coastguard Worker
963cf0b3d5 Snap for 9617930 from 8c4ca7b5a4 to udc-release
Change-Id: I800859efe169b4efeb5d3ab795e0021af7652732
2023-02-17 02:07:30 +00:00
Android Build Coastguard Worker
94300d9c17 Snap for 9613524 from d1daf18a6a to udc-release
Change-Id: Icc2ebf48e701797adf96d010bf98df6bf64b0e4d
2023-02-16 02:03:02 +00:00
Android Build Coastguard Worker
8c73593429 Snap for 9607154 from 45583701ab to udc-release
Change-Id: Idae71b308eab165d4147eb64d3d05209d6a4fa62
2023-02-15 02:03:11 +00:00
Android Build Coastguard Worker
3bb61ab5a2 Snap for 9591832 from 4c372ff5cd to udc-release
Change-Id: I847c9d07daa521f32483384dedc25db1b1a4b357
2023-02-11 06:07:57 +00:00
Android Build Coastguard Worker
6ee04bc32e Snap for 9566037 from 1d9a7c5877 to udc-release
Change-Id: I157f6b1e52f72050ac661995b18eda18806965b0
2023-02-06 03:41:07 +00:00
Android Build Coastguard Worker
7748904566 Snap for 9564855 from dadd1df282 to udc-release
Change-Id: I2541a1873e96ec722141e3c3bbc8d453d242f4c9
2023-02-05 02:02:29 +00:00
Android Build Coastguard Worker
e82d9c2488 Snap for 9562441 from 27eea9a08a to udc-release
Change-Id: Ic57fabcc56efffd5493ed303171b55dafe3f2d00
2023-02-04 04:03:19 +00:00
Android Build Coastguard Worker
47cd0005cf Snap for 9552483 from c2d9e133cf to udc-release
Change-Id: Ie917f11179e58720d41c3b0ecfb360cd95681dbb
2023-02-02 02:14:29 +00:00
Android Build Coastguard Worker
ee1b640e0f Snap for 9523845 from 68bf64905b to udc-release
Change-Id: Ic4f52b41c7154fb7ace3a4f0ca57b341d466dd4b
2023-01-25 02:27:39 +00:00
Android Build Coastguard Worker
bd32cb9c0d Snap for 9491836 from 0257c7bd03 to udc-release
Change-Id: I6aa1cfacc6bfa3b0f1979b6c582402408b32e69d
2023-01-15 02:02:12 +00:00
Android Build Coastguard Worker
4e62c235cd Snap for 9489393 from b3bbcd4554 to udc-release
Change-Id: I64f686dfc8f2270fdf50a4d129148ba86feb826a
2023-01-14 04:03:12 +00:00
Android Build Coastguard Worker
bce9de8f39 Snap for 9480469 from 2925d6e2d2 to udc-release
Change-Id: Ia4053668442d073f7ba01911d05c63f1186e9691
2023-01-12 02:03:39 +00:00
Android Build Coastguard Worker
34a9ef92d9 Snap for 9470759 from 816f74fe5e to udc-release
Change-Id: I53bb367964b368565ce5de002498a8982577fc48
2023-01-10 02:03:01 +00:00
Android Build Coastguard Worker
c3f05d4d96 Snap for 9464008 from 9d258745c9 to udc-release
Change-Id: Id39002fc64e7f1a5899c786cc452d9e59bfdc8a6
2023-01-07 04:02:48 +00:00
Android Build Coastguard Worker
ca94996d6b Snap for 9459940 from 1b4f3771ee to udc-release
Change-Id: I726d002a5dd35f4b1e1df1ac448531d96c860059
2023-01-06 02:02:38 +00:00
Android Build Coastguard Worker
3c3b7bdc81 Snap for 9428991 from 46ae2b1462 to udc-release
Change-Id: I396b144828ecb3d44046b51bf8ce4c97a7078552
2022-12-22 02:02:36 +00:00
Android Build Coastguard Worker
057a1b8ead Snap for 9425524 from 982bb81ed7 to udc-release
Change-Id: I4d330b2bd7198d005e90c6cd97dd0405831902e4
2022-12-21 03:12:34 +00:00
Android Build Coastguard Worker
fd5d1fb0fc Snap for 9414774 from 5f6baf4bbd to udc-release
Change-Id: I33bdfc098b4b4e01bf3835c45a9663ef842e4180
2022-12-17 04:03:12 +00:00
Android Build Coastguard Worker
14b3bb5ee0 Snap for 9410508 from 5712ba4dec to udc-release
Change-Id: Id343c5d66115f91f9892824440f807a4adb842b4
2022-12-16 02:02:41 +00:00
Android Build Coastguard Worker
6f3b30e599 Snap for 9397200 from ed15ad3ae1 to udc-release
Change-Id: Ifa9234f2518c761e5fc4bc2067ab8903c1f6c414
2022-12-13 04:02:46 +00:00
Android Build Coastguard Worker
a57ccaddc8 Snap for 9386067 from 1882c634c7 to udc-release
Change-Id: I02c48827551345f9f77226c2586a1b072428e475
2022-12-09 03:32:23 +00:00
Android Build Coastguard Worker
0ba02138ae Snap for 9370741 from a5cfc371a1 to udc-release
Change-Id: Ic610fef5610bb6a9341ea7f0d758bf1ada403a2b
2022-12-06 02:02:41 +00:00
Android Build Coastguard Worker
7e6aaea7ce Snap for 9365099 from 48f55e7049 to udc-release
Change-Id: I2dfed9b97abe682c65bdd3e22ffefccc6b2382a4
2022-12-03 04:02:56 +00:00
Android Build Coastguard Worker
8c6f71c8d0 Snap for 9358895 from 5744eb89fc to udc-release
Change-Id: I4c3c17115670eea11ff4c1e232926649f821f36b
2022-12-02 02:02:35 +00:00
Android Build Coastguard Worker
3010b68d8c Snap for 9354100 from ee7f6c6720 to udc-release
Change-Id: I5528660aa667f17ff6da964be0cc5295fc0b3a37
2022-12-01 02:02:34 +00:00
Android Build Coastguard Worker
e315461c27 Snap for 9348489 from 2295e34d68 to udc-release
Change-Id: I5dc3ac85f6d5ae53d33779fa9e4ed3c01c7a33c3
2022-11-30 02:02:33 +00:00
Android Build Coastguard Worker
de360d99d0 Snap for 9330281 from 5b3d90132a to udc-release
Change-Id: I51389fabdf746e36ba74460c338f7ccc94bbf076
2022-11-25 02:02:25 +00:00
Android Build Coastguard Worker
f90fb44203 Snap for 9325779 from 65d7ed0931 to udc-release
Change-Id: I14d47b335fb4c428e8a080551f75a166e27f63cf
2022-11-24 02:02:43 +00:00
Android Build Coastguard Worker
ea0b213667 Snap for 9316940 from 80f2221562 to udc-release
Change-Id: I9f531d664d853cc2fa19e4fbe6f8f5758a4f38b8
2022-11-22 02:07:45 +00:00
Android Build Coastguard Worker
a6f07b1e9d Snap for 9305821 from 4952bdc68c to udc-release
Change-Id: Icd4200e34e13b08f3e2322ed040afb5b76e1fd8f
2022-11-18 02:02:41 +00:00
Android Build Coastguard Worker
e3f2ef42c2 Snap for 9301516 from 49fc98da5c to udc-release
Change-Id: I799dc0c23a5faac72faeeaa782fb27660bfc8f73
2022-11-17 02:07:18 +00:00
Android Build Coastguard Worker
f64880111f Snap for 9291639 from 07433db0bb to udc-release
Change-Id: Ic5b09282db0bafb8c2000e7471863f919bc521c1
2022-11-15 02:07:28 +00:00
Android Build Coastguard Worker
c9dd3aadb1 Snap for 9284182 from e43c8b3913 to udc-release
Change-Id: I6911cd65b05c177f6ffa9dfe2895012dc80564b7
2022-11-12 04:02:44 +00:00
Android Build Coastguard Worker
e61e41ff3d Snap for 9280350 from 5d03dcc5cf to udc-release
Change-Id: I7277f614ee85218c9ef1936f099d2d23adce2fc9
2022-11-11 02:07:38 +00:00
Android Build Coastguard Worker
c5d21b3529 Snap for 9274386 from 765aa8ec3a to udc-release
Change-Id: I024f3786db0f02947361d5cf2e82ed2268a31eb9
2022-11-10 02:02:50 +00:00
Android Build Coastguard Worker
1ae32ea358 Snap for 9269479 from d21c509931 to udc-release
Change-Id: I0b1b65d53463936c5e3a44c48499f249be01e37f
2022-11-09 02:02:53 +00:00
Android Build Coastguard Worker
e53c9d99fa Snap for 9264775 from e601e2bc0f to udc-release
Change-Id: Iddd90c2888ac364c906910e0ed8d153c0772361c
2022-11-08 02:02:38 +00:00
Android Build Coastguard Worker
e2b04e5310 Snap for 9258794 from 3073884607 to udc-release
Change-Id: I437ba5e7945d1d2874017cc1acba011c65f68029
2022-11-05 03:07:27 +00:00
Android Build Coastguard Worker
1cd22e0e01 Snap for 9250775 from d155bce16c to udc-release
Change-Id: I025949c885e877a0e49fdb7faa935f3d16d6a8f5
2022-11-03 03:29:41 +00:00
Android Build Coastguard Worker
5553e9d7e9 Snap for 9239178 from 13fbaff253 to udc-release
Change-Id: Ia3e5c3065ad4c28c7f99a8cb2878f77ed1837ca1
2022-11-01 01:02:58 +00:00
Android Build Coastguard Worker
86f2aaa84f Snap for 9234388 from 7e6dc0eabb to udc-release
Change-Id: I874c58912df7988448a0feb16e1b352c0e49ad4b
2022-10-29 23:02:28 +00:00
Android Build Coastguard Worker
c171549c00 Snap for 9231933 from b26281d43b to udc-release
Change-Id: I15893138135c2773b2638216326789f34ad760e9
2022-10-29 03:03:04 +00:00
Android Build Coastguard Worker
5df89d0066 Snap for 9212694 from c21e91d211 to udc-release
Change-Id: If405ef3b209b7060ea47798e473439688328ce4e
2022-10-25 01:02:54 +00:00
Android Build Coastguard Worker
b5e82fa7eb Snap for 9206486 from 91b093f51e to udc-release
Change-Id: I06eec4af9df374f3d7e26065c3ed7543c9fbe7f4
2022-10-22 03:03:01 +00:00
Android Build Coastguard Worker
db2e15ed8b Snap for 9201053 from 92bb9d7445 to udc-release
Change-Id: I2bc828c379414302c7a6c6e788b44672b7472242
2022-10-21 01:03:04 +00:00
Android Build Coastguard Worker
ae05b94c6a Snap for 9178695 from b84bba204b to udc-release
Change-Id: I23994e2652827c91e152b6d44844d0152a91d684
2022-10-15 03:03:33 +00:00
Android Build Coastguard Worker
c6288a11e0 Snap for 9175178 from e2ad2a0fd9 to udc-release
Change-Id: I4e75f939bb73747dddf20dea2712ce6e15d0b59f
2022-10-14 05:08:05 +00:00
Android Build Coastguard Worker
433e8fc4cf Snap for 9159364 from 52ff289b2c to udc-release
Change-Id: Iee0cb602c5c88362dc2932d820efcb914c679e6d
2022-10-11 01:02:51 +00:00
Android Build Coastguard Worker
b4fa554eb7 Snap for 9153524 from b47db82964 to udc-release
Change-Id: Ie762441d56b3db66af209ba43041b64d419c9d90
2022-10-08 03:03:12 +00:00
Android Build Coastguard Worker
31c1a6fc01 Snap for 9142107 from 455201b20d to udc-release
Change-Id: Id2f9c710bdf9813c4e98b044aeab5cde342447c8
2022-10-06 01:02:46 +00:00
Android Build Coastguard Worker
37f2d9db63 Snap for 9138051 from d03b6f3be2 to udc-release
Change-Id: I0691c950e1e49941e627aa4d81dbbfe9abc24e81
2022-10-05 01:03:06 +00:00
Android Build Coastguard Worker
ed634386ff Snap for 9127594 from c87f573dec to udc-release
Change-Id: I0364d6d4824b46ed1466bf56eee9c6db2a80ee7d
2022-10-01 03:03:08 +00:00
Android Build Coastguard Worker
1d3e78a77d Snap for 9121979 from 9bb5e3e05b to udc-release
Change-Id: Ieee1872b01f3781a628bf872423cd490bbf78615
2022-09-30 01:03:07 +00:00
Android Build Coastguard Worker
5d1d177c72 Snap for 9112360 from 6580ccce50 to udc-release
Change-Id: I58bac788f1d555bc09d009232d7155ab97226ff2
2022-09-28 02:13:11 +00:00
Android Build Coastguard Worker
e5d21ffb90 Snap for 9101640 from d4440cb19e to udc-release
Change-Id: Id7148d453acb640a5029a78826974e436717c958
2022-09-24 03:03:13 +00:00
Android Build Coastguard Worker
7c5d85f758 Snap for 9094779 from 047656d92e to udc-release
Change-Id: I4e68d69861719843163d516977e9a56890a62b1e
2022-09-23 01:03:03 +00:00
Android Build Coastguard Worker
d46e4acdf1 Snap for 9085393 from 9841567e5f to udc-release
Change-Id: I64cb9fcda8dd0105e51ba75c0291bdcb8cb10312
2022-09-21 01:03:06 +00:00
Android Build Coastguard Worker
fc9f9019ad Snap for 9080899 from 87bc6d189d to udc-release
Change-Id: I61996e4a78b249bd7e2992efb6f98b64b0734c6a
2022-09-20 01:02:58 +00:00
Android Build Coastguard Worker
2a9c3dad21 Snap for 9075788 from 7c6154bdce to udc-release
Change-Id: Ifc3eeb4c4656328865a7d92df7ae16a80a9a4bdb
2022-09-17 03:03:00 +00:00
Android Build Coastguard Worker
148f9284b5 Snap for 9070718 from 540b00f63e to udc-release
Change-Id: I093a3cf8ce46c1ba58c3fb1ad81059e0d4db46ca
2022-09-16 01:03:04 +00:00
Android Build Coastguard Worker
de2164b1bb Snap for 9066247 from 5ea1982643 to udc-release
Change-Id: Ia33b47863f80998a18d1e815aed42b4342e9cfe3
2022-09-15 02:34:37 +00:00
Android Build Coastguard Worker
a8d3420c98 Snap for 9054709 from 9c9ae24f64 to udc-release
Change-Id: I181a9766fe92db2445e95c8db23026d261c91546
2022-09-13 01:02:55 +00:00
Android Build Coastguard Worker
fa49115851 Snap for 9048965 from b93bd33e4a to udc-release
Change-Id: I8c40c10c36c8bce10383c94aaeba7cf2297db063
2022-09-10 03:02:59 +00:00
Android Build Coastguard Worker
84441f6c7b Snap for 9044085 from fb1bc9baee to udc-release
Change-Id: I58567653d50fb8243b637a97898762c572ec0235
2022-09-09 01:03:05 +00:00
Android Build Coastguard Worker
803ba8bb2b Snap for 9039357 from 8064010f8a to udc-release
Change-Id: I9cb53c73bd740d54eb41507ba88f081c5ba45100
2022-09-08 01:47:08 +00:00
Android Build Coastguard Worker
6f075fbdb3 Snap for 9019165 from 39570f2d03 to udc-release
Change-Id: I21cd87ce23f6d4a1f94ad31f483c5ce20eb2cd5e
2022-09-02 01:12:52 +00:00
Android Build Coastguard Worker
6cfa883fe6 Snap for 8995964 from e95cf1f141 to udc-release
Change-Id: I3d406c763d52cc4ff36f56fb61aceb4f043957ac
2022-08-26 01:07:39 +00:00
Android Build Coastguard Worker
b862bc2d99 Snap for 8989391 from f43976db9f to udc-release
Change-Id: I3021181b479e0ac801ce4d265a7e7df90b12e9e5
2022-08-25 01:03:04 +00:00
Android Build Coastguard Worker
b339b4d1e4 Snap for 8983470 from c3b34d2481 to udc-release
Change-Id: I62b40e42f6bbb3d89a45b002ef049687e73fa96c
2022-08-24 01:03:17 +00:00
Android Build Coastguard Worker
fa18cf4d56 Snap for 8978248 from 8deeec1a30 to udc-release
Change-Id: Ia71da8fea1a3b40d25cf3681f59c2209d2d0cf79
2022-08-23 01:03:09 +00:00
Android Build Coastguard Worker
c9adeba462 Snap for 8937744 from 4dc616e59b to udc-release
Change-Id: Ia4ea4f08804998cd65356bad5d6769120536c7d4
2022-08-12 01:07:30 +00:00
Android Build Coastguard Worker
3d7ec8e6f6 Snap for 8925421 from f3ef39bd77 to udc-release
Change-Id: I34d149d261c42d769a8c11a624f9e29d51f4ac98
2022-08-10 01:03:21 +00:00
Android Build Coastguard Worker
4b72c0827b Snap for 8920978 from 17659673a4 to udc-release
Change-Id: I1382de7cc7e41adbaddd2341c7d790ff8158f02f
2022-08-09 01:07:39 +00:00
Android Build Coastguard Worker
0fa303a8ac Snap for 8904202 from d64d7fa852 to udc-release
Change-Id: I7ff6609b1b137cae278a92275ec89cfb9818367d
2022-08-04 01:07:40 +00:00
Android Build Coastguard Worker
bb7c853dc6 Snap for 8898690 from 613f6bf6af to udc-release
Change-Id: I16888cfd01f8d8e731174f1d6044240acfaa13bf
2022-08-03 01:03:00 +00:00
Android Build Coastguard Worker
78172fd1a7 Snap for 8893061 from 261b20f82d to udc-release
Change-Id: I5bb10e47ff2364cb6de0b5e0e7110e950ef8d5ca
2022-08-02 01:03:00 +00:00
Android Build Coastguard Worker
d7794a2651 Snap for 8891587 from 13939722ea to udc-release
Change-Id: I2aa1c30d2c29dfbe5939849b70575ee902b2eeb9
2022-08-01 21:22:44 +00:00
Android Build Coastguard Worker
9db6ece986 Snap for 8883296 from ff3499a50f to udc-release
Change-Id: I2853f922e0941a53aeb9fc18e934eba77c330bb4
2022-07-29 03:42:42 +00:00
Android Build Coastguard Worker
86e70556ba Snap for 8873354 from d889102a8f to udc-release
Change-Id: Ibe525d5424b8ce235d7ad45211cf935c05e4504b
2022-07-27 01:07:39 +00:00
Android Build Coastguard Worker
c88fc05922 Snap for 8868266 from 90d4c2039d to udc-release
Change-Id: I04869d81ed3d36c9c1404dd545e0720023529e4b
2022-07-26 01:02:54 +00:00
Android Build Coastguard Worker
bfccac5ed5 Snap for 8863164 from 13f3fdc8ff to udc-release
Change-Id: I0bac6ec0276faedcab7c2c90b34765a9cfbaa918
2022-07-23 05:08:15 +00:00
Android Build Coastguard Worker
021c43000e Snap for 8853148 from ebd7170495 to udc-release
Change-Id: If36baf3eec69afe6d335ed666f9240bff557cb71
2022-07-21 01:02:55 +00:00
Android Build Coastguard Worker
e29c555d0c Snap for 8847581 from fdccd0cf8f to udc-release
Change-Id: Ibe651b9a73ce50e7b8845efb21d46248c3dd5fa4
2022-07-20 01:02:43 +00:00
Android Build Coastguard Worker
500e7d23bc Snap for 8843601 from 209af1944d to udc-release
Change-Id: I924775dbb86d05499aa16a35c01729c7bd703512
2022-07-19 01:03:02 +00:00
Android Build Coastguard Worker
4f4478b8c6 Snap for 8840107 from 5eda61d1e0 to udc-release
Change-Id: I71c0e0d052f3422176b86a5e0cbc1abb5fe26747
2022-07-17 23:11:55 +00:00
Android Build Coastguard Worker
d163490c6f Snap for 8832556 from 13cdb1a7ad to udc-release
Change-Id: I8ae65eca158d71c7db8cbcafa326d38445d12bd9
2022-07-15 01:03:47 +00:00
Android Build Coastguard Worker
579c7f764e Snap for 8822479 from 9899069adb to udc-release
Change-Id: Idd6059d7e290aed652076374f5b01bf52517c025
2022-07-13 01:04:46 +00:00
Android Build Coastguard Worker
01b1eb831e Snap for 8818501 from 1e606d96f1 to udc-release
Change-Id: Ib5f3d197a40d182ba81389c24173c2668433ca33
2022-07-12 01:03:29 +00:00
Android Build Coastguard Worker
7638261726 Snap for 8814812 from 6ddb00d0c5 to udc-release
Change-Id: I5b092dba75fb402b7d6d5a5f10c93bb57ececfaf
2022-07-10 05:07:19 +00:00
Android Build Coastguard Worker
6cc5f06a78 Snap for 8813775 from 3adb31f004 to udc-release
Change-Id: I613f03dddd06a1c731d09a8b0d630744a85c96f8
2022-07-09 05:13:07 +00:00
Android Build Coastguard Worker
b55a3297dc Snap for 8807532 from b37cb131ce to udc-release
Change-Id: I598146d8b1759e3b076e75dab3d3c02af2b1f441
2022-07-08 01:05:18 +00:00
Android Build Coastguard Worker
64fbd6e8fc Snap for 8803621 from 2bd613cfe6 to udc-release
Change-Id: I73adf06ab842e87cb6ace9ba45f60081b3830dbd
2022-07-07 01:03:59 +00:00
Android Build Coastguard Worker
bdbaca53ee Snap for 8799945 from c0ec14b9b1 to udc-release
Change-Id: I22e4c714c206573f52c8faa91570dd89e41372be
2022-07-06 01:03:17 +00:00
Android Build Coastguard Worker
3458d07b9e Snap for 8793470 from 3439f51f28 to udc-release
Change-Id: I0f2996e2a8d4028d8e039dbcb0c0acf141facd6f
2022-07-02 05:08:24 +00:00
Android Build Coastguard Worker
84cb87cb12 Snap for 8788539 from 5631fe741c to udc-release
Change-Id: I64f60dc876489d981c71185c933f4d20ff51b8a5
2022-07-01 03:03:52 +00:00
Android Build Coastguard Worker
d1e8d4635c Snap for 8784768 from ec3f03ee7a to udc-release
Change-Id: I8eeed5601b35c62a714084215bfcf8d0b6d69d2a
2022-06-30 03:02:49 +00:00
Android Build Coastguard Worker
f4af709de6 Snap for 8780071 from 0a11e59639 to udc-release
Change-Id: I136bcd6457200d0fa415179b7b000575d0867f89
2022-06-29 03:02:47 +00:00
Android Build Coastguard Worker
3604dd8ef6 Snap for 8775066 from 7bf0763083 to udc-release
Change-Id: Ib63d491e41006e69d7cee2c94f410f28b7a3e589
2022-06-28 03:02:43 +00:00
Android Build Coastguard Worker
f442f99c5a Snap for 8769194 from d893b6e7f8 to udc-release
Change-Id: I24a2b7ff3abc6b0d7361d3da22ae4ee807a0076e
2022-06-25 05:07:50 +00:00
Android Build Coastguard Worker
e8a409ca7e Snap for 8762351 from 0cdeaa262d to udc-release
Change-Id: Ia0bcf90cb0c8e3d51ca6acb833e12e46c2b56974
2022-06-24 03:02:45 +00:00
Android Build Coastguard Worker
bc0b2716b0 Snap for 8746893 from 35a40f176e to udc-release
Change-Id: I15692851b07224f58ed3406a690750d42d970cc5
2022-06-21 03:02:35 +00:00
Android Build Coastguard Worker
2b1dca45bb Snap for 8741820 from b16785049d to udc-release
Change-Id: I204aa38de722b099f333a16c03ce94ab4dcd35cd
2022-06-18 05:07:52 +00:00
Android Build Coastguard Worker
0ba69d9cac Snap for 8736785 from 8630d76568 to udc-release
Change-Id: Id36e10431d54f406bb25accf4240306f9be703c0
2022-06-17 03:02:42 +00:00
Android Build Coastguard Worker
45dbf80526 Snap for 8730731 from 0838c612a7 to udc-release
Change-Id: I732bd5c0a40488003ff02429e7fabfb88560e014
2022-06-16 03:02:51 +00:00
Android Build Coastguard Worker
16f0bee4c4 Snap for 8722243 from 1b954eef3b to udc-release
Change-Id: Ie6088427f94c204150aae3cf92f49aca7f991671
2022-06-15 03:02:53 +00:00
Android Build Coastguard Worker
8f5893ee0a Snap for 8718064 from c9085d37e0 to udc-release
Change-Id: Ie687c7e8102c78dbdf9e1b3cf1058fe260caf17b
2022-06-14 03:02:50 +00:00
Android Build Coastguard Worker
52665ffd82 Snap for 8710910 from 12d27fda96 to udc-release
Change-Id: I85c645206dd576404d74a993dbc439f1b81627eb
2022-06-11 05:08:06 +00:00
Android Build Coastguard Worker
a5e155b626 Snap for 8705297 from ec7b23cf03 to udc-release
Change-Id: I39f9e1fd2494157cbf27eb091e94989e89dee587
2022-06-10 03:02:57 +00:00
Android Build Coastguard Worker
e3bb6bc881 Snap for 8700596 from 96f37c8e11 to udc-release
Change-Id: I8948643db90ca7230b901dbc3625ac97de2d139d
2022-06-09 03:03:08 +00:00
Android Build Coastguard Worker
b7b4e66d33 Snap for 8672689 from d044d83367 to udc-release
Change-Id: Ic2fa5b0f3ab899d8cb4d8d1eca8624c39b44f56f
2022-06-02 03:04:43 +00:00
Android Build Coastguard Worker
9a86a03442 Snap for 8666878 from b7aba93a27 to udc-release
Change-Id: I2a6751c7d18c561719f3e3385256175819c065b9
2022-06-01 03:03:06 +00:00
Android Build Coastguard Worker
1c5843eaa7 Snap for 8657279 from 9374dfcf9a to udc-release
Change-Id: I055c051889729203e2a8948450e1e357f0155524
2022-05-28 05:08:00 +00:00
Android Build Coastguard Worker
d2de01ec01 Snap for 8650624 from 39ddbb6a3b to udc-release
Change-Id: I4f131bb7cc621a7abb914e154d04db951baa768f
2022-05-27 03:03:18 +00:00
Android Build Coastguard Worker
15b7a4e869 Snap for 8644138 from cf23b50955 to udc-release
Change-Id: Ib3b7c0ef8f0cf8eacebd5fadf79b97076b69261f
2022-05-26 03:03:08 +00:00
Android Build Coastguard Worker
df154ac525 Snap for 8638406 from 82e8f58252 to udc-release
Change-Id: I0b6cab1e13c60012705493cc5b653d896d5557b3
2022-05-25 03:03:35 +00:00
Android Build Coastguard Worker
4306144830 Snap for 8623956 from 9427f7fcc7 to udc-release
Change-Id: I3c23f5a14aee58ab6a7666f9236cb5a3884b227b
2022-05-21 05:08:06 +00:00
Android Build Coastguard Worker
9b5d56551f Snap for 8619398 from 21d977a985 to udc-release
Change-Id: I54eafe6ab4db9b74b4650a85797670998098260a
2022-05-20 03:03:31 +00:00
Android Build Coastguard Worker
23abaa032e Snap for 8606881 from d524cd7a8e to udc-release
Change-Id: I017d16879a47f70a4d3833d40ce77abde558c492
2022-05-18 03:01:39 +00:00
Android Build Coastguard Worker
45caf62c38 Snap for 8591930 from af5ca62844 to udc-release
Change-Id: I79842b81cc07ce8f76060523344767c515285b34
2022-05-14 05:08:40 +00:00
Android Build Coastguard Worker
44728ebef5 Snap for 8573834 from 26b2d2e33e to udc-release
Change-Id: Ie2e5ded16269b673e5da5ffa80a965e6a401ff68
2022-05-12 03:01:40 +00:00
Android Build Coastguard Worker
fa59c11e5b Snap for 8555136 from 417f7069c4 to udc-release
Change-Id: I551e531e283d7117a6d4cc4b66d4fcb2623657c8
2022-05-07 05:09:04 +00:00
Android Build Coastguard Worker
55174aa398 Snap for 8548440 from 22214473d8 to udc-release
Change-Id: I81ffb9b58989d65de63fd52ee84370f96d4a3836
2022-05-06 03:02:17 +00:00
Android Build Coastguard Worker
6c2339dcbe Snap for 8543047 from 7e6ad9c3d3 to udc-release
Change-Id: Ie37437eacd619edf4e18c5474897b87275fda2e6
2022-05-05 03:02:16 +00:00
Android Build Coastguard Worker
982204074b Snap for 8534862 from b5d2b601bb to udc-release
Change-Id: I5f775b9881de971f5aece94a998b5f3b207bee55
2022-05-04 03:01:51 +00:00
Android Build Coastguard Worker
c488b164fb Snap for 8520545 from 8635176437 to udc-release
Change-Id: Id994dccec566ea2598331945e694ec1eaceb95fe
2022-04-30 05:07:22 +00:00
Android Build Coastguard Worker
18e63db05d Snap for 8508902 from b3408244d8 to udc-release
Change-Id: If438f1d878aaf342746b77216b1614a2e2040c1a
2022-04-28 03:03:23 +00:00
Android Build Coastguard Worker
524dcfa993 Snap for 8503769 from ab5cc9b736 to udc-release
Change-Id: I621bcbe08efbd766a21697fc0efa11244492591f
2022-04-27 03:02:45 +00:00
Android Build Coastguard Worker
67b342c9b9 Snap for 8492301 from b47cfb40d4 to udc-release
Change-Id: I454ea153f14012f71f8058e7706743f458d7a26e
2022-04-23 05:11:39 +00:00
Android Build Coastguard Worker
57f98a8838 Snap for 8485840 from b2fdd091d4 to udc-release
Change-Id: Ib33387d8eed85a82ab579d143e3caab8b06e6f5e
2022-04-22 03:03:11 +00:00
Android Build Coastguard Worker
2ce4deb768 Snap for 8479392 from cb465497e8 to udc-release
Change-Id: I594da6dc6aeb65c810b4839c6bb0de7b69cbef81
2022-04-21 03:02:27 +00:00
Android Build Coastguard Worker
ae0f0456e9 Snap for 8474914 from 3a3b7051cb to udc-release
Change-Id: If1fa5131f13d51e189802b8693f2c343824e61e5
2022-04-20 03:02:45 +00:00
Android Build Coastguard Worker
17feb570f8 Snap for 8469123 from 6ab671ae18 to udc-release
Change-Id: I0067a4a24b8a6be58b5fc0e9e5e594c93545d929
2022-04-19 03:07:10 +00:00
Android Build Coastguard Worker
5d11e8cbb1 Snap for 8463111 from cf51eaf2cb to udc-release
Change-Id: Idf17c97ec887ce71c28d6097bb9a10a05623337a
2022-04-16 05:12:55 +00:00
Android Build Coastguard Worker
5e2711fb71 Snap for 8457487 from efabf50a28 to udc-release
Change-Id: Ib0f925bb06ba39083ea54131dad4fe6446d46c6e
2022-04-15 03:02:23 +00:00
Android Build Coastguard Worker
32fdaf28ca Snap for 8451960 from 9d7d05eb9d to udc-release
Change-Id: I4353ac93d98ae88f41599619e29702bd90d6f452
2022-04-14 03:02:11 +00:00
Android Build Coastguard Worker
8efd6edbad Snap for 8445428 from 44db109410 to udc-release
Change-Id: I9a9e33f77955c1e533931300c5bdefd5ac8fc0b9
2022-04-13 03:02:33 +00:00
Android Build Coastguard Worker
b296473330 Snap for 8440419 from 15579c38ef to udc-release
Change-Id: I3f1a77db1a6aa4ac60b6cd7b129ca2a6e78d9734
2022-04-12 03:08:04 +00:00
Android Build Coastguard Worker
2e01deef58 Snap for 8429660 from ecacc0682c to udc-release
Change-Id: I891059a5d52263301f64971461bdd32cad1b6b20
2022-04-09 05:07:52 +00:00
Android Build Coastguard Worker
1fa1a65183 Snap for 8421584 from 97c9228497 to udc-release
Change-Id: Ie17dfb6f08f408a575a12be241f606e2987064b4
2022-04-08 03:03:22 +00:00
Android Build Coastguard Worker
2145172544 Snap for 8414851 from 249213ddb6 to udc-release
Change-Id: I8d59330648bcd0a20c1f36842d2b08d78d3acf17
2022-04-07 03:03:25 +00:00
Android Build Coastguard Worker
2eb5eb7147 Snap for 8404564 from e524403b33 to udc-release
Change-Id: Icaaad4085c9a1ae26a2e38d515129226690da27e
2022-04-05 03:01:38 +00:00
Android Build Coastguard Worker
91219407a3 Snap for 8398296 from 7ba9b197c0 to udc-release
Change-Id: I8173e63e1160ad72c00f5c888bdb86f43727b768
2022-04-02 05:08:38 +00:00
Android Build Coastguard Worker
2ddf4ee531 Snap for 8392174 from 4deaf937b6 to udc-release
Change-Id: Iea04126725259851c3f4d9a3f32760c65aba3808
2022-04-01 03:01:46 +00:00
Android Build Coastguard Worker
a7ee0c6e39 Snap for 8385452 from 0bffd8e27e to udc-release
Change-Id: I235ad225ff3bbab5c8fdf08bf321efa4dd65bb31
2022-03-31 03:01:27 +00:00
Android Build Coastguard Worker
4463a593c5 Snap for 8378790 from e9cd4bb590 to udc-release
Change-Id: Ic96dfd9d9e9bc6c58accc6bd4abcd0a2e37a154e
2022-03-30 03:01:21 +00:00
Android Build Coastguard Worker
4473670bf3 Snap for 8373271 from a401f8c5ce to udc-release
Change-Id: If53a65e3cfeedb6b54b3b81873f3372a911fd76c
2022-03-29 03:01:23 +00:00
Android Build Coastguard Worker
fc85049fe7 Snap for 8362880 from a938018ae5 to udc-release
Change-Id: I2d53f5eb81dd546cfb0bf3ba2c3a05f65941765f
2022-03-26 05:06:31 +00:00
Android Build Coastguard Worker
8e93f58a21 Snap for 8355292 from 2df9c1b75b to udc-release
Change-Id: I178d0252e20d418ed44223a20cf259a3895402b3
2022-03-25 03:01:26 +00:00
Android Build Coastguard Worker
987e3ec9d0 Snap for 8347200 from 287a45f6fd to udc-release
Change-Id: I82f18ad65741babc77d0c385f10773e12f1f949c
2022-03-24 03:01:21 +00:00
Android Build Coastguard Worker
b923009446 Snap for 8340981 from 278d110fba to udc-release
Change-Id: I3fa4fca0ffb463841ed3c211b865a0803f0b6a03
2022-03-23 03:01:11 +00:00
Android Build Coastguard Worker
756b857e19 Snap for 8333853 from a494fa5a99 to udc-release
Change-Id: I6e3ae965dd89310e1a1e51cd3bd0f298bef16019
2022-03-22 03:01:13 +00:00
Android Build Coastguard Worker
f3c716953f Snap for 8323526 from 2af25c514e to udc-release
Change-Id: Ibd6492dec65b98a2f9830c7a93295236fecf9aef
2022-03-19 05:06:25 +00:00
Android Build Coastguard Worker
732a485c4a Snap for 8318243 from 937f5cec07 to udc-release
Change-Id: If0093dfbe89ea3ae3b70a57727357a643c35c113
2022-03-18 03:01:23 +00:00
Android Build Coastguard Worker
ec6b21fa1c Snap for 8310672 from e0c07357d8 to udc-release
Change-Id: Ieae26308bd07b6b06c8df5202aaa0197308c82e1
2022-03-17 03:01:08 +00:00
Android Build Coastguard Worker
db9777e087 Snap for 8305076 from 5133ffe91f to udc-release
Change-Id: I3e150ef09e23609d39c0cec69f84625d6e2b7110
2022-03-16 03:01:21 +00:00
Android Build Coastguard Worker
d337a336d7 Snap for 8298132 from e1e3f59a21 to udc-release
Change-Id: I7622775678a5fffc5347d0b16f182171fcc9dd89
2022-03-15 03:01:10 +00:00
Android Build Coastguard Worker
e05f751cfc Snap for 8288609 from b51c7acf6d to udc-release
Change-Id: I9323d2772109ed9e5826c9e2fdbb7a802923594c
2022-03-11 04:01:13 +00:00
Android Build Coastguard Worker
705e6b9548 Snap for 8282595 from 28d56b9f45 to udc-release
Change-Id: Id5bf2ae52d18f858e5c40643e02f073bc7e010b1
2022-03-10 04:01:14 +00:00
Android Build Coastguard Worker
526cb9777c Snap for 8276267 from 23312cd72d to udc-release
Change-Id: I324e2f174de3705dd9ccba23007fc67d19e13655
2022-03-09 04:02:18 +00:00
Android Build Coastguard Worker
ce5279304b Snap for 8267098 from 3b586d3fe6 to udc-release
Change-Id: I1f906d9531ee016573bdafaea95b9e33798ea838
2022-03-08 04:01:28 +00:00
Android Build Coastguard Worker
6975fdc580 Snap for 8259672 from f24a32c5c2 to udc-release
Change-Id: I9acfbd7af9a680d1ebc60195d4fa04178a18dbc7
2022-03-05 06:06:29 +00:00
Android Build Coastguard Worker
4bd8bc2fed Snap for 8251073 from 7bff4ad858 to udc-release
Change-Id: I3cea5c8e64786083b1bb5fb7013567a8b1c92ed0
2022-03-04 04:01:20 +00:00
Android Build Coastguard Worker
5c210b79bb Snap for 8243542 from 431f4747cc to udc-release
Change-Id: I5b3523ebe0951375cad7e6351962a1c871554e0c
2022-03-03 04:01:39 +00:00
Android Build Coastguard Worker
470e20dc47 Snap for 8237959 from 2fe3313727 to udc-release
Change-Id: If1ccdb06ddec8a116782b8adcf4d832540d2a9e4
2022-03-02 04:01:11 +00:00
Android Build Coastguard Worker
3dac81ca67 Snap for 8228195 from 7a53f0050b to udc-release
Change-Id: I12aa12e92c0dde3510dd9488c8f17d0fad4dbabe
2022-02-26 06:06:17 +00:00
Android Build Coastguard Worker
d7a45befba Snap for 8221814 from d355e26031 to udc-release
Change-Id: I920e4b830caa9a3372f99a5ff73b535be394c1c7
2022-02-25 04:01:26 +00:00
Android Build Coastguard Worker
7f75daebf1 Snap for 8211263 from 340ceb1bfb to udc-release
Change-Id: I37e6496636734a63006e744e81a25bf2841216bf
2022-02-23 04:01:37 +00:00
Android Build Coastguard Worker
bb351a5483 Snap for 8207854 from 1bdb2ced7c to udc-release
Change-Id: Ic883668e64bb8c7fa52b272e31b1d87d3c83f494
2022-02-22 04:01:09 +00:00
Android Build Coastguard Worker
d5723095e5 Snap for 8203021 from 453b37ebdc to udc-release
Change-Id: I4db0d3519712a9e6db10530db598c336817381e7
2022-02-19 06:06:09 +00:00
Android Build Coastguard Worker
124bc16bd7 Snap for 8195043 from c8c1f766d2 to udc-release
Change-Id: I49167a9bee074ce545156597837b3e66a9c3f3bf
2022-02-18 04:01:17 +00:00
Android Build Coastguard Worker
32b4648732 Snap for 8191477 from 064c6a86e0 to udc-release
Change-Id: I822a9411837520cdbbb3b0394a3375c03d42059b
2022-02-17 04:01:48 +00:00
Android Build Coastguard Worker
aafe4d5f85 Snap for 8188455 from 2d7c980fa6 to udc-release
Change-Id: If4e66aca0d50d362fdad00ef747d1d08589eb9b3
2022-02-16 04:01:23 +00:00
Android Build Coastguard Worker
3f56b64034 Snap for 8183730 from 76b772519a to udc-release
Change-Id: I686682bf51213848170427d61a2767853c687923
2022-02-15 04:02:20 +00:00
461 changed files with 11887 additions and 3853 deletions

1
.gitupstream Normal file
View File

@@ -0,0 +1 @@
https://android.googlesource.com/device/google/gs201

View File

@@ -34,3 +34,11 @@ license {
"NOTICE",
],
}
prebuilt_etc {
name: "preinstalled-packages-product-gs201-device-debug.xml",
src: "preinstalled-packages-product-gs201-device-debug.xml",
product_specific: true,
sub_dir: "sysconfig",
filename_from_src: true,
}

View File

@@ -1,17 +1,36 @@
#
# SPDX-FileCopyrightText: 2019 The Android Open-Source Project
# SPDX-FileCopyrightText: The LineageOS Project
# SPDX-FileCopyrightText: The Calyx Institute
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2019 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.
#
include build/make/target/board/BoardConfigMainlineCommon.mk
include build/make/target/board/BoardConfigPixelCommon.mk
# Should be uncommented after fixing vndk-sp violation is fixed.
PRODUCT_FULL_TREBLE_OVERRIDE := true
# HACK : To fix up after bring up multimedia devices.
TARGET_SOC := gs201
TARGET_SOC_NAME := google
USES_DEVICE_GOOGLE_GS201 := true
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-2a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_VARIANT := cortex-a55
TARGET_CPU_VARIANT_RUNTIME := cortex-a55
# Enable 64-bit for non-zygote.
ZYGOTE_FORCE_64 := true
@@ -30,16 +49,21 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy
BOARD_KERNEL_CMDLINE += cgroup_disable=memory
BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all
BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
BOARD_KERNEL_CMDLINE += swiotlb=1024
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
BOARD_KERNEL_CMDLINE += disable_dma32=on
BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img)
ifneq (,$(BOARD_PREBUILT_BOOTIMAGE))
TARGET_NO_KERNEL := true
else
TARGET_NO_KERNEL := false
endif
BOARD_USES_GENERIC_KERNEL_IMAGE := true
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
@@ -53,20 +77,17 @@ TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.gs201
TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
TARGET_RECOVERY_UI_LIB := \
//hardware/google/pixel/recovery:librecovery_ui_pixel \
librecovery_ui_pixel \
libfstab
AB_OTA_UPDATER := true
AB_OTA_PARTITIONS += \
system \
system_dlkm \
system_ext \
product \
vbmeta_system \
vbmeta_vendor \
vendor \
vendor_dlkm
system \
system_dlkm \
system_ext \
product \
vbmeta_system
ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
AB_OTA_PARTITIONS += boot
@@ -88,6 +109,41 @@ ifneq ($(PRODUCT_BUILD_PVMFW_IMAGE),false)
AB_OTA_PARTITIONS += pvmfw
endif
# EMULATOR common modules
BOARD_EMULATOR_COMMON_MODULES := liblight
OVERRIDE_RS_DRIVER := libRSDriverArm.so
BOARD_EGL_CFG := device/google/gs201/conf/egl.cfg
#BOARD_USES_HGL := true
USE_OPENGL_RENDERER := true
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
BOARD_USES_ALIGN_RESTRICTION := false
BOARD_USES_GRALLOC_ION_SYNC := true
# This should be the same value as USE_SWIFTSHADER in device.mk
BOARD_USES_SWIFTSHADER := false
# Gralloc4
ifeq ($(BOARD_USES_SWIFTSHADER),true)
$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,true)
$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,false)
$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,false)
$(call soong_config_set,arm_gralloc,gralloc_init_afbc,false)
$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,false)
else
$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,false)
$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,true)
$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,true)
$(call soong_config_set,arm_gralloc,gralloc_init_afbc,true)
$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,true)
endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
$(call soong_config_set,arm_gralloc,gralloc_ion_sync_on_lock,$(BOARD_USES_GRALLOC_ION_SYNC))
# Graphics
#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
# Enable chain partition for system.
BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
@@ -105,27 +161,18 @@ BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
# Enable chain partition for vendor.
BOARD_AVB_VBMETA_VENDOR := vendor
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
# Enable chained vbmeta for init_boot images
BOARD_AVB_INIT_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_INIT_BOOT_ALGORITHM := SHA256_RSA2048
BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX_LOCATION := 4
# Verified Boot
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
PRODUCT_FS_COMPRESSION := 1
BOARD_FLASH_BLOCK_SIZE := 4096
BOARD_MOUNT_SDCARD_RW := true
# product.img
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
@@ -135,16 +182,24 @@ TARGET_COPY_OUT_PRODUCT := product
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
# vendor.img
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
# vendor_dlkm.img
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
# persist.img
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
########################
# Video Codec
########################
# 1. Exynos C2
BOARD_USE_CODEC2_HIDL_1_2 := true
BOARD_USE_CSC_FILTER := false
BOARD_USE_DEC_SW_CSC := true
BOARD_USE_ENC_SW_CSC := true
BOARD_SUPPORT_MFC_ENC_RGB := true
BOARD_USE_BLOB_ALLOCATOR := false
BOARD_SUPPORT_MFC_ENC_BT2020 := true
BOARD_SUPPORT_FLEXIBLE_P010 := true
########################
BOARD_SUPER_PARTITION_SIZE := 8531214336
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
@@ -160,31 +215,149 @@ BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
# Reserve space for gapps install
-include vendor/lineage/config/BoardConfigReservedSize.mk
# Build a separate system_dlkm partition
BOARD_USES_SYSTEM_DLKMIMAGE := true
BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
# Testing related defines
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/p10c10-setup.sh
#
# AUDIO & VOICE
#
BOARD_USES_GENERIC_AUDIO := true
$(call soong_config_set,aoc_audio_func,ext_hidl,true)
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
$(call soong_config_set,aoc_audio_func,dump_usecase_data,true)
$(call soong_config_set,aoc_audio_func,hal_socket_control,true)
$(call soong_config_set,aoc_audio_func,record_tuning_keys,true)
endif
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
$(call soong_config_set,aoc_audio_func,aosp_build,true)
endif
# Primary AudioHAL Configuration
#BOARD_USE_COMMON_AUDIOHAL := true
#BOARD_USE_CALLIOPE_AUDIOHAL := false
#BOARD_USE_AUDIOHAL := true
# Compress Offload Configuration
#BOARD_USE_OFFLOAD_AUDIO := true
#BOARD_USE_OFFLOAD_EFFECT := false
# SoundTriggerHAL Configuration
#BOARD_USE_SOUNDTRIGGER_HAL := false
# Vibrator HAL actuator model and adaptive haptics configuration
$(call soong_config_set,haptics,actuator_model,$(ACTUATOR_MODEL))
$(call soong_config_set,haptics,adaptive_haptics_feature,$(ADAPTIVE_HAPTICS_FEATURE))
# HWComposer
BOARD_HWC_VERSION := hwc3
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
BOARD_HDMI_INCAPABLE := true
TARGET_USES_HWC2 := true
HWC_SUPPORT_RENDER_INTENT := true
HWC_SUPPORT_COLOR_TRANSFORM := true
#BOARD_USES_DISPLAYPORT := true
# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
BOARD_USES_EXYNOS_AFBC_FEATURE := true
#BOARD_USES_HDRUI_GLES_CONVERSION := true
BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs201
BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
# HWCServices
BOARD_USES_HWC_SERVICES := true
# WiFiDisplay
# BOARD_USES_VIRTUAL_DISPLAY := true
# BOARD_USES_VDS_EXYNOS_HWC := true
# BOARD_USES_WIFI_DISPLAY:= true
# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
# BOARD_USES_VDS_YUV420SPM := true
# BOARD_USES_VDS_OTHERFORMAT := true
# BOARD_USES_VDS_DEBUG_FLAG := true
# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
# BOARD_USES_SECURE_ENCODER_ONLY := true
# BOARD_USES_TSMUX := true
# SCALER
BOARD_USES_DEFAULT_CSC_HW_SCALER := true
BOARD_DEFAULT_CSC_HW_SCALER := 4
BOARD_USES_SCALER_M2M1SHOT := true
# Device Tree
BOARD_USES_DT := true
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
# PLATFORM LOG
TARGET_USES_LOGD := true
# LIBHWJPEG
#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
#LIBHWJPEG_HWSCALER_ID := 0
#Keymaster
#BOARD_USES_KEYMASTER_VER1 := true
#FMP
#BOARD_USES_FMP_DM_CRYPT := true
#BOARD_USES_FMP_FSCRYPTO := true
BOARD_USES_METADATA_PARTITION := true
# SKIA
#BOARD_USES_SKIA_MULTITHREADING := true
#BOARD_USES_FIMGAPI_V5X := true
# SECCOMP Policy
BOARD_SECCOMP_POLICY = device/google/gs201/seccomp_policy
#CURL
BOARD_USES_CURL := true
# Sensor HAL
BOARD_USES_EXYNOS_SENSORS_DUMMY := true
# VISION
# Exynos vision framework (EVF)
#TARGET_USES_EVF := true
# HW acceleration
#TARGET_USES_VPU_KERNEL := true
#TARGET_USES_SCORE_KERNEL := true
#TARGET_USES_CL_KERNEL := false
# exynos RIL
TARGET_EXYNOS_RIL_SOURCE := true
ENABLE_VENDOR_RIL_SERVICE := true
# GNSS
# BOARD_USES_EXYNOS_GNSS_DUMMY := true
# Bluetooth defines
# TODO(b/123695868): Remove the need for this
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
build/make/target/board/mainline_arm64/bluetooth
#VNDK
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
BOARD_VNDK_VERSION := current
# H/W align restriction of MM IPs
BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
# Boot.img
BOARD_RAMDISK_USE_LZ4 := true
#BOARD_KERNEL_BASE := 0x80000000
#BOARD_KERNEL_PAGESIZE := 2048
#BOARD_KERNEL_OFFSET := 0x80000
#BOARD_RAMDISK_OFFSET := 0x4000000
BOARD_BOOT_HEADER_VERSION := 4
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
@@ -213,8 +386,9 @@ endif
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load
BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140.ko
BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140/fips140.ko
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
# Kernel modules that are listed in vendor_kernel_boot.modules.load
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load))
@@ -230,39 +404,15 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/ven
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
$(error vendor_dlkm.modules.load not found or empty)
endif
# staging kernels might have modules split between system/vendor_dlkm. If
# the target defined modules on the system_dlkm image, honor the split.
# Otherwise, assume all modules are stored on the vendor_dlkm image.
ifneq ($(BOARD_SYSTEM_KERNEL_MODULES),)
BOARD_VENDOR_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_MODULES_LOAD)))
else
BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
endif
BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/system_dlkm.modules.load 2>/dev/null))
BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/system_dlkm.modules.load))
BOARD_SYSTEM_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_SYSTEM_KERNEL_MODULES_LOAD)))
# SEPolicy
BOARD_VENDOR_SEPOLICY_DIRS += \
hardware/google/pixel-sepolicy/googlebattery \
hardware/google/pixel-sepolicy/input \
hardware/google/pixel-sepolicy/powerstats \
device/google/gs201/sepolicy/certificates \
device/google/gs201/sepolicy/recovery \
device/google/gs201/sepolicy/vendor
# Using BUILD_COPY_HEADERS
BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
PRODUCT_PRIVATE_SEPOLICY_DIRS += \
device/google/gs201/sepolicy/product/private
PRODUCT_PUBLIC_SEPOLICY_DIRS += \
device/google/gs201/sepolicy/product/public
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += \
device/google/gs201/sepolicy/system_ext/private
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += \
device/google/gs201/sepolicy/system_ext/public
include device/google/gs201/sepolicy/gs201-sepolicy.mk
# Battery options
BOARD_KERNEL_CMDLINE += at24.write_timeout=100
@@ -273,4 +423,8 @@ BOARD_KERNEL_CMDLINE += log_buf_len=1024K
# Protected VM firmware
BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
# pick up library for cleaning digital car keys on factory reset
-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk
include device/google/gs201/BoardConfigLineage.mk
include device/google/gs201/BoardConfigEvolution.mk

View File

@@ -1,12 +1,9 @@
#
# Copyright (C) 2026 The Evolution X Project
# Copyright (C) 2024 The Evolution X Project
#
# SPDX-License-Identifier: Apache-2.0
#
BUILD_BROKEN_DUP_RULES := true
DISABLE_ARTIFACT_PATH_REQUIREMENTS := true
SPOOF_FIRST_API_LEVEL_32 := true

41
BoardConfigLineage.mk Normal file
View File

@@ -0,0 +1,41 @@
#
# Copyright (C) 2022 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Lineage Health
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_DEADLINE := true
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_TOGGLE := false
# Manifests
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += vendor/lineage/config/device_framework_matrix.xml
DEVICE_MANIFEST_FILE += device/google/gs201/android.hardware.security.rkp-service.citadel.xml
ifneq ($(BOARD_WITHOUT_RADIO),true)
DEVICE_MANIFEST_FILE += device/google/gs201/manifest_radio_ds.xml
endif
# Partitions
AB_OTA_PARTITIONS += \
vendor \
vendor_dlkm
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
# Enable chain partition for vendor.
BOARD_AVB_VBMETA_VENDOR := vendor
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
AB_OTA_PARTITIONS += \
vbmeta_vendor
# Reserve space for gapps install
-include vendor/lineage/config/BoardConfigReservedSize.mk
# Verified Boot
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3

85
CleanSpec.mk Normal file
View File

@@ -0,0 +1,85 @@
# Copyright (C) 2012 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.
#
# If you don't need to do a full clean build but would like to touch
# a file or delete some intermediate files, add a clean step to the end
# of the list. These steps will only be run once, if they haven't been
# run before.
#
# E.g.:
# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
#
# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
# files that are missing or have been moved.
#
# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
# Use $(OUT_DIR) to refer to the "out" directory.
#
# If you need to re-do something that's already mentioned, just copy
# the command and add it to the bottom of the list. E.g., if a change
# that you made last week required touching a file and a change you
# made today requires touching the same file, just copy the old
# touch step and add it to the end of the list.
#
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
# For example:
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm)
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libui_intermediates)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/root/default.prop)
$(call add-clean-step, rm -f $(TARGET_OUT)/build.prop)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/etc/mixer_paths_lb.xml)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/etc/permissions/android.hardware.camera.xml)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/root/*)
# Power HAL 1.0
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/init/android.hardware.power@1.0-service.rc)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.power@1.0-service)
# Power HAL HIDL
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.power@1.3-service.pixel-libperfmgr.rc)
# Health storage HAL
$(call add-clean-step, find $(PRODUCT_OUT) -type f -name "*android.hardware.health.storage@1.0*" -print0 | xargs -0 rm -f)
# USB HAL to AIDL
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb-service)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb.gadget-service)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb-service.rc)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb.gadget-service.rc)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb-servic.xml)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb.gadget-servic.xml)
# Power Stats HAL 1.0 to AIDL
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.power.stats@1.0-service.gs201)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.power.stats@1.0-service.gs201.rc)
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.power.stats@1.0-service.gs201.xml)
# Health HAL to AIDL
$(call add-clean-step, find $(PRODUCT_OUT)/system -type f -name "*charger*" -print0 | xargs -0 rm -f)
$(call add-clean-step, find $(PRODUCT_OUT)/vendor -type f -name "*health@*" -print0 | xargs -0 rm -f)
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*charger*" -print0 | xargs -0 rm -f)
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*health@*" -print0 | xargs -0 rm -f)

2
OWNERS Normal file
View File

@@ -0,0 +1,2 @@
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
per-file *.mk=file:device/google/gs-common:main:/OWNERS

2
PREUPLOAD.cfg Normal file
View File

@@ -0,0 +1,2 @@
[Builtin Hooks]
jsonlint = true

View File

@@ -1,7 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
<!-- Copyright (C) 2022 The LineageOS 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.
-->
<config>
<!-- Specify the explicit set of other applications that AI services are allowed to

View File

@@ -0,0 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.security.keymint</name>
<version>3</version>
<fqname>IRemotelyProvisionedComponent/strongbox</fqname>
</hal>
</manifest>

View File

@@ -1,6 +1,17 @@
#
# SPDX-FileCopyrightText: 2020 The Android Open-Source Project
# SPDX-License-Identifier: Apache-2.0
# Copyright 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.
#
#
@@ -36,3 +47,9 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
ifneq ($(BOARD_WITHOUT_RADIO),true)
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
endif
#$(call inherit-product, device/google/gs201/device.mk)
#$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
# TODO: fix
# PRODUCT_RESTRICT_VENDOR_FILES := all

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2021 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
Autogenerated skeleton compatibility matrix.
Use with caution. Modify it to suit your needs.
All HALs are set to optional.
Many entries other than HALs are zero-filled and
require human attention.
-->
<compatibility-matrix version="9.0" type="device">
<hal format="hidl">
<compatibility-matrix version="1.0" type="device">
<hal format="hidl" optional="true">
<name>android.frameworks.displayservice</name>
<version>1.0</version>
<interface>
@@ -13,7 +14,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.frameworks.schedulerservice</name>
<version>1.0</version>
<interface>
@@ -21,7 +22,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.frameworks.sensorservice</name>
<version>1.0</version>
<interface>
@@ -29,7 +30,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.hardware.graphics.composer</name>
<version>2.1</version>
<interface>
@@ -37,7 +38,7 @@
<instance>vr</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.hidl.allocator</name>
<version>1.0</version>
<interface>
@@ -45,7 +46,7 @@
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.hidl.manager</name>
<version>1.0</version>
<interface>
@@ -53,7 +54,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.hidl.memory</name>
<version>1.0</version>
<interface>
@@ -61,7 +62,7 @@
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.hidl.token</name>
<version>1.0</version>
<interface>
@@ -69,7 +70,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>android.system.wifi.keystore</name>
<version>1.0</version>
<interface>
@@ -77,11 +78,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.pixel.camera.services.binder</name>
<interface>
<name>IServiceBinder</name>
<instance>default</instance>
</interface>
</hal>
<vndk>
<version>0.0.0</version>
</vndk>
</compatibility-matrix>

View File

@@ -1,10 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2020 The Android Open Source Project
SPDX-License-Identifier: Apache-2.0
<!-- Copyright 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.
-->
<config>
<component-override package="com.android.bluetooth" >
<component class=".sap.SapService" enabled="true" />
</component-override>
<component-override package="com.google.android.apps.tips" >
<component class=".TipsMain" enabled="true" />
</component-override>
</config>

1
conf/egl.cfg Normal file
View File

@@ -0,0 +1 @@
0 1 mali

7
conf/fstab.modem Normal file
View File

@@ -0,0 +1,7 @@
# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# Create the specific fstab file for modem partition as flexibility
/dev/block/platform/14700000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable
/dev/block/platform/14700000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable
/dev/block/platform/14700000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable
/dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img ext4 noatime,ro,context=u:object_r:modem_img_file:s0 wait,slotselect

5
conf/fstab.persist Normal file
View File

@@ -0,0 +1,5 @@
# Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# Keep persist in an fstab file, since we need to run fsck on it after abnormal shutdown.
/dev/block/platform/14700000.ufs/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,metadata_csum
/dev/block/platform/14700000.ufs/by-name/persist /mnt/vendor/persist f2fs noatime,nosuid,nodev,sync wait,check,formattable

View File

@@ -0,0 +1,15 @@
#!/vendor/bin/sh
# This script sets up `ro.vendor.sjtag_ap_is_unlocked` for the non-fused
# device. For a fused device, this property should be set by
# betterbug->ss-restart-detector when PD is acquired.
SJTAG_STATUS=0x$(cat /sys/devices/platform/sjtag_ap/interface/status)
SOFT_LOCK_BIT=4
AUTH_PASS_BIT=8
# Unlocked or locked but auth passed.
if test "$((SJTAG_STATUS & (1 << SOFT_LOCK_BIT)))" = 0 -o \
"$((SJTAG_STATUS & (1 << AUTH_PASS_BIT)))" != 0 ; then
setprop ro.vendor.sjtag_ap_is_unlocked true
fi

51
conf/init.debug.rc Normal file
View File

@@ -0,0 +1,51 @@
# SJTAG
on init
chown system system /sys/devices/platform/sjtag_ap/interface/access_lvl
chown system system /sys/devices/platform/sjtag_ap/interface/auth
chown system system /sys/devices/platform/sjtag_ap/interface/begin
chown system system /sys/devices/platform/sjtag_ap/interface/dbg_domain
chown system system /sys/devices/platform/sjtag_ap/interface/dbg_itvl
chown system system /sys/devices/platform/sjtag_ap/interface/end
chown system system /sys/devices/platform/sjtag_ap/interface/pubkey
chown system system /sys/devices/platform/sjtag_gsa/interface/access_lvl
chown system system /sys/devices/platform/sjtag_gsa/interface/auth
chown system system /sys/devices/platform/sjtag_gsa/interface/begin
chown system system /sys/devices/platform/sjtag_gsa/interface/dbg_domain
chown system system /sys/devices/platform/sjtag_gsa/interface/dbg_itvl
chown system system /sys/devices/platform/sjtag_gsa/interface/end
chown system system /sys/devices/platform/sjtag_gsa/interface/pubkey
on property:vendor.debug.ramdump.force_crash=true
write /sys/kernel/pixel_debug/trigger "null"
on property:power.battery_input.suspended=true
write /sys/kernel/debug/google_charger/input_suspend 1
on property:power.battery_input.suspended=false
write /sys/kernel/debug/google_charger/input_suspend 0
# Bluetooth
on post-fs-data
chown bluetooth system /dev/logbuffer_btlpm
chown bluetooth system /dev/logbuffer_btpower
chown bluetooth system /dev/logbuffer_tty18
# pKVM performance is different on A0 and B0 chips.
# Add extra tag to metrics collected on A0 to separate the results.
on property:ro.revision=PROTO1.0
setprop debug.hypervisor.metrics_tag "hwrev_a0"
on property:ro.revision=PROTO1.1
setprop debug.hypervisor.metrics_tag "hwrev_a0"
on property:ro.revision=EVT1.0
setprop debug.hypervisor.metrics_tag "hwrev_a0"
service vendor.check_ap_pd_auth_sh /vendor/bin/init.check_ap_pd_auth.sh
class main
user root
group root system
oneshot
# Enable etm/etm2dram when ramdump is enabled, and ap-sjtag is unlocked.
on property:ro.boot.ramdump=enabled && property:ro.vendor.sjtag_ap_is_unlocked=true
write /sys/devices/platform/exynos-etm/etm_on 1
write /sys/devices/platform/etm2dram/arm 1

View File

@@ -0,0 +1,20 @@
on post-fs
## ensure correct calibration file permissions
chown root system /mnt/vendor/persist/sensorcal.json
chmod 0640 /mnt/vendor/persist/sensorcal.json
start vendor.flash-nanohub-fw
on post-fs-data
mkdir /data/vendor/sensor
chown root system /data/vendor/sensor
chmod 0770 /data/vendor/sensor
service vendor.flash-nanohub-fw /vendor/bin/nanoapp_cmd download
oneshot
disabled
user root
group system
on post-fs-data
mkdir /data/system/nanohub_lock/
restorecon /data/system/nanohub_lock

19
conf/init.factory.rc Normal file
View File

@@ -0,0 +1,19 @@
# Factory specific init.rc
on early-init
mount debugfs /sys/kernel/debug /sys/kernel/debug
on init
export PATH /product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/vendor/bin/factory
on boot
# FTM log folder
mkdir /data/ftmlog 0775 system system
# Audio test folder
mkdir /data/AudioTest 0775 system system
on property:sys.boot_completed=1
# Bump nnapi min clamp & add adbd to it for factory (b/222226268)
write /proc/vendor_sched/nnapi_uclamp_min 512
exec - root root -- /vendor/bin/factory/factory_post_boot

1043
conf/init.gs201.rc Normal file

File diff suppressed because it is too large Load Diff

419
conf/init.gs201.usb.rc Normal file
View File

@@ -0,0 +1,419 @@
on early-boot
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
# ffs function
mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/functions/ffs.ptp
mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mkdir /dev/usb-ffs/ptp 0770 mtp mtp
mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
setprop sys.usb.mtp.device_type 3
setprop sys.usb.mtp.batchcancel true
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
# mtp function
mkdir /config/usb_gadget/g1/functions/mtp.gs0
# ptp function
mkdir /config/usb_gadget/g1/functions/ptp.gs1
# accessory function
mkdir /config/usb_gadget/g1/functions/accessory.gs2
# audio_source function
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
# rndis function
mkdir /config/usb_gadget/g1/functions/rndis.gs4
# Modify class/subclass/protocol for rndis.gs4
# Remote NDIS: Class: Wireless Controller (0xe0), Subclass: 0x1, Protocol: 0x3
write /config/usb_gadget/g1/functions/rndis.gs4/class e0
write /config/usb_gadget/g1/functions/rndis.gs4/subclass 01
write /config/usb_gadget/g1/functions/rndis.gs4/protocol 03
write /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.ncm/compatible_id RNDIS
write /config/usb_gadget/g1/functions/rndis.gs4/ifname rndis%d
setprop vendor.usb.rndis.config rndis.gs4
# midi function
mkdir /config/usb_gadget/g1/functions/midi.gs5
# acm function
mkdir /config/usb_gadget/g1/functions/acm.gs6
# dm function
mkdir /config/usb_gadget/g1/functions/dm.gs7
# uts function
mkdir /config/usb_gadget/g1/functions/uts.gs8
# ncm function
mkdir /config/usb_gadget/g1/functions/ncm.gs9
write /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id WINNCM
write /config/usb_gadget/g1/functions/ncm.gs9/ifname ncm%d
# etr_miu function
mkdir /config/usb_gadget/g1/functions/etr_miu.gs11
# acm function for uwb
mkdir /config/usb_gadget/g1/functions/acm.uwb0
# uvc function
mkdir /config/usb_gadget/g1/functions/uvc.0
write /config/usb_gadget/g1/functions/uvc.0/function_name "Android Webcam"
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072
# write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 5
# write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2
# setup control params
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
# advertise 360p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight 360
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize 460800
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval "166666
333333
416666
666666"
# advertise 480p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight 480
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize 614400
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval "166666
333333
416666
666666"
# advertise 720p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1843200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval "166666
333333
416666
666666"
# advertise 1080p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight 1080
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth 1920
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize 4147200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval "166666
333333
416666
666666"
# TODO: Add uncompressed streams
# setup streaming params
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
# remove write permissions for 'others'
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chmod 664 /config/usb_gadget/g1/functions/uvc.0/function_name
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
# chown file/folder permission
chown system system /config/usb_gadget/
chown system system /config/usb_gadget/g1
chown system system /config/usb_gadget/g1/UDC
chown system system /config/usb_gadget/g1/bDeviceClass
chown system system /config/usb_gadget/g1/bDeviceProtocol
chown system system /config/usb_gadget/g1/bDeviceSubClass
chown system system /config/usb_gadget/g1/bMaxPacketSize0
chown system system /config/usb_gadget/g1/bcdDevice
chown system system /config/usb_gadget/g1/bcdUSB
chown system system /config/usb_gadget/g1/configs
chown system system /config/usb_gadget/g1/configs/b.1
chown system system /config/usb_gadget/g1/configs/b.1/MaxPower
chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes
chown system system /config/usb_gadget/g1/configs/b.1/strings
chown system system /config/usb_gadget/g1/functions
chown system system /config/usb_gadget/g1/functions/accessory.gs2
chown system system /config/usb_gadget/g1/functions/acm.gs6
chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num
chown system system /config/usb_gadget/g1/functions/acm.uwb0
chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num
chown system system /config/usb_gadget/g1/functions/audio_source.gs3
chown system system /config/usb_gadget/g1/functions/dm.gs7
chown system system /config/usb_gadget/g1/functions/ffs.adb
chown system system /config/usb_gadget/g1/functions/ffs.mtp
chown system system /config/usb_gadget/g1/functions/ffs.ptp
chown system system /config/usb_gadget/g1/functions/midi.gs5
chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen
chown system system /config/usb_gadget/g1/functions/midi.gs5/id
chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/index
chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen
chown system system /config/usb_gadget/g1/functions/mtp.gs0
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9
chown system system /config/usb_gadget/g1/functions/ncm.gs9/dev_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/host_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/ifname
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/qmult
chown system system /config/usb_gadget/g1/functions/ptp.gs1
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4
chown system system /config/usb_gadget/g1/functions/rndis.gs4/class
chown system system /config/usb_gadget/g1/functions/rndis.gs4/dev_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/host_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/ifname
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/protocol
chown system system /config/usb_gadget/g1/functions/rndis.gs4/qmult
chown system system /config/usb_gadget/g1/functions/rndis.gs4/subclass
chown system system /config/usb_gadget/g1/functions/uvc.0/
chown system system /config/usb_gadget/g1/functions/uvc.0/control
chown system system /config/usb_gadget/g1/functions/uvc.0/control/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bUnitID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/iProcessing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/wMaxMultiplier
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMax
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMin
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wOcularFocalLength
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/function_name
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bColorPrimaries
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bMatrixCoefficients
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bTransferCharacteristics
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bmInfo
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bStillCaptureMethod
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTerminalLink
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerSupport
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerUsage
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed
chown system system /config/usb_gadget/g1/idProduct
chown system system /config/usb_gadget/g1/idVendor
chown system system /config/usb_gadget/g1/max_speed
chown system system /config/usb_gadget/g1/os_desc
chown system system /config/usb_gadget/g1/os_desc/b.1
chown system system /config/usb_gadget/g1/os_desc/b_vendor_code
chown system system /config/usb_gadget/g1/os_desc/qw_sign
chown system system /config/usb_gadget/g1/os_desc/use
chown system system /config/usb_gadget/g1/strings
chown system system /config/usb_gadget/g1/strings/0x409
chown system system /config/usb_gadget/g1/strings/0x409/manufacturer
chown system system /config/usb_gadget/g1/strings/0x409/product
chown system system /config/usb_gadget/g1/strings/0x409/serialnumber
setprop vendor.usb.functions.ready 1
on boot
write /config/usb_gadget/g1/bcdDevice 0x0510
# Set USB timeout
write sys/module/usbcore/parameters/initial_descriptor_timeout 500
# Use USB Gadget HAL
setprop sys.usb.configfs 2
# Enable in-kernel media-presence polling for SD cards
write /sys/module/block/parameters/events_dfl_poll_msecs 2000
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x4EE7
write /config/usb_gadget/g1/idVendor 0x18D1
on property:vendor.usb.config=*
start usbd
on property:persist.vendor.usb.usbradio.config=*
start usbd
on charger
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
write /config/usb_gadget/g1/bcdDevice 0x0510
mkdir /config/usb_gadget/g1/functions/midi.gs5
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
setprop sys.usb.controller "11210000.dwc3"
setprop sys.usb.configfs 1
on property:ro.bootmode=charger
setprop sys.usb.config charger
on property:sys.usb.config=charger && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x4eea
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1
setprop sys.usb.state ${sys.usb.config}
on property:ro.bootmode=usbuwb
setprop persist.vendor.usb.usbradio.config uwb_acm
on property:vendor.usb.contaminantdisable=true
exec /vendor/bin/hw/disable_contaminant_detection.sh

45
conf/init.modem.rc Normal file
View File

@@ -0,0 +1,45 @@
on init
# Modem temperature driver
chown radio system /sys/devices/platform/cp-tm1/cp_temp
on post-fs-data
# Log data folder
mkdir /data/vendor 0771 radio system
mkdir /data/vendor/log 0771 radio system
mkdir /data/vendor/log/cbd 0771 radio system
mkdir /data/vendor/log/rfsd 0771 radio system
mkdir /data/vendor/slog 0771 system system
# Modem extended log folder
mkdir /data/vendor/radio/extended_logs 0770 radio system
# Modem MDS log folder
mkdir /data/vendor/radio/mds 0771 radio system
# Modem OTA UECap folder
mkdir /data/vendor/radio/ota_uecap 0773 radio system
# Unzipped modem images folder
mkdir /data/vendor/radio/image 0771 radio system
# Modem stat folder
mkdir /data/vendor/modem_stat 0771 radio system
write /data/vendor/modem_stat/debug.txt ""
chown radio system /data/vendor/modem_stat/debug.txt
chmod 0664 /data/vendor/modem_stat/debug.txt
# Modem replay folder
mkdir /mnt/vendor/modem_userdata/replay 0775 radio system
on fs
# Mount modem partition
mount_all /vendor/etc/fstab.modem --early
restorecon_recursive /mnt/vendor/efs
chown radio system /mnt/vendor/efs
restorecon_recursive /mnt/vendor/efs_backup
chown radio system /mnt/vendor/efs_backup
restorecon_recursive /mnt/vendor/modem_userdata
chown radio system /mnt/vendor/modem_userdata
restorecon_recursive /mnt/vendor/modem_img
restorecon_recursive /mnt/vendor/persist/modem

109
conf/soundtrigger_conf.h Normal file
View File

@@ -0,0 +1,109 @@
/*
* Copyright (C) 2017 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.
*/
#ifndef __EXYNOS_SOUNDTRIGGERCONF_H__
#define __EXYNOS_SOUNDTRIGGERCONF_H__
/********************************************************************/
/** ALSA Framework Sound Card & Sound Device Information */
/** */
/** You can find Sound Device Name from /dev/snd. */
/** Sound Device Name consist of Card Number & Device Number. */
/** */
/********************************************************************/
/* Sound Card and Mixer card Numbers based on Target Device */
/* You have to match this number with real kernel information */
#define VTS_SOUND_CARD 0
#define VTS_MIXER_CARD 0
/* PCM Nodes number for seamless and normal recording*/
#define VTS_TRICAP_DEVICE_NODE 13
#define VTS_RECORD_DEVICE_NODE 14
/* sysfs file paths for loading model binaries into VTS kernel driver */
#define VTS_HOTWORD_MODEL "/sys/devices/platform/13810000.vts/vts_google_model"
#define VTS_SVOICE_MODEL "/sys/devices/platform/13810000.vts/vts_svoice_model"
#define AUDIO_PRIMARY_HAL_LIBRARY_PATH "/vendor/lib/libaudioproxy.so"
// VTS Capture(Input) PCM Configuration
#define DEFAULT_VTS_CHANNELS 1 // Mono
#define DEFAULT_VTS_SAMPLING_RATE 16000 // 16KHz
#define PRIMARY_VTS_PERIOD_SIZE 160 // 160 frames, 10ms in case of 16KHz Stream
#define PRIMARY_VTS_PERIOD_COUNT 1024 // Buffer count => Total 327680 Bytes = 160 * 1(Mono) * 2(16bit PCM) * 1024(Buffer count)
/* VTS mixer controls */
#define VTS_ACTIVE_KEYPHRASE_CTL_NAME "VTS Active Keyphrase" /* default: 0-"SVOICE", 1-"GOOGLE", 2-"SENSORY" */
#define VTS_EXECUTION_MODE_CTL_NAME "VTS Execution Mode" /* 0-"OFF-MODE", 1-"VOICE-TRIG-MODE", 2-"SOUND-DECTECT-MODE", 3-"VT-ALWAYS-MODE" 4-"GOOGLE-TRI-MODE */
#define VTS_VOICERECOGNIZE_START_CTL_NAME "VTS VoiceRecognize Start" /* 0-"Off", 1-On" */
#define VTS_VOICETRIGGER_VALUE_CTL_NAME "VTS VoiceTrigger Value" /* 0 ~ 2000 ms*/
#define MAIN_MIC_CONTROL_COUNT 8
#define HEADSET_MIC_CONTROL_COUNT 8
#define MODEL_RECOGNIZE_CONTROL_COUNT 4
/* MIC Mixer controls for VTS */
char *main_mic_ctlname[] = {
"VTS DMIC SEL",
"VTS DMIC IF RCH EN",
"VTS DMIC IF LCH EN",
"VTS SYS SEL",
"VTS HPF EN",
"VTS HPF SEL",
"DMIC1 Switch",
"VTS Virtual Output Mux",
};
char *headset_mic_ctlname[] = {
"AUXPDM1 Rate",
"AUXPDM1 Input",
"AUXPDM1 Output Switch",
"AUXPDM Switch",
"VTS DMIC SEL",
"VTS DMIC IF RCH EN",
"VTS DMIC IF LCH EN",
"VTS SYS SEL",
"VTS HPF EN",
"VTS HPF SEL",
};
/* MIC Mixer control values */
/* FIXME : Double check this values */
int main_mic_ctlvalue[] = {
0, //"VTS DMIC SEL",
1, //"VTS DMIC IF RCH EN",
1, //"VTS DMIC IF LCH EN",
1, //"VTS SYS SEL",
1, //"VTS HPF EN",
1, //"VTS HPF SEL",
1, //"DMIC1 Switch",
1, //"VTS Virtual Output Mux",
};
int headset_mic_ctlvalue[] = {
3, //"AUXPDM1 Rate",
0, //"AUXPDM1 Input",
1, //"AUXPDM1 Output Switch",
1, //"AUXPDM Switch",
1, //"VTS DMIC SEL",
1, //"VTS DMIC IF RCH EN",
1, //"VTS DMIC IF LCH EN",
1, //"VTS SYS SEL",
1, //"VTS HPF EN",
1, //"VTS HPF SEL",
};
#endif // __EXYNOS_SOUNDTRIGGERCONF_H__

238
conf/ueventd.gs201.rc Normal file
View File

@@ -0,0 +1,238 @@
/dev/mali0 0666 system system
/dev/ion 0666 system system
/dev/ump 0666 system graphics
/dev/exynos-mem 0660 system graphics
/dev/video0 0660 system camera
/dev/video1 0660 system camera
/dev/video2 0660 system camera
/dev/video3 0660 system camera
/dev/video20 0660 system system
# media0 is used for GSC, DECON, etc
/dev/media0 0660 system camera
# media1 is used for DECON Ext WB
/dev/media1 0660 system graphics
# Various devices use the v4l-subdev interface
# We declare all such nodes simultaneously here
/dev/v4l-subdev0 0660 system camera
/dev/v4l-subdev1 0660 system camera
/dev/v4l-subdev2 0660 system camera
/dev/v4l-subdev3 0660 system camera
/dev/v4l-subdev4 0660 system camera
/dev/v4l-subdev5 0660 system camera
/dev/v4l-subdev6 0660 system camera
/dev/v4l-subdev7 0660 system camera
/dev/v4l-subdev8 0660 system camera
/dev/v4l-subdev9 0660 system camera
/dev/v4l-subdev10 0660 system camera
/dev/v4l-subdev11 0660 system camera
/dev/v4l-subdev12 0660 system camera
/dev/v4l-subdev13 0660 system camera
/dev/v4l-subdev14 0660 system camera
/dev/v4l-subdev15 0660 system camera
/dev/v4l-subdev16 0660 system camera
/dev/v4l-subdev17 0660 system camera
/dev/v4l-subdev18 0660 system camera
/dev/v4l-subdev19 0660 system camera
# v4l-subdev20 is used for DECON Ext WB
/dev/v4l-subdev20 0660 system graphics
/dev/v4l-subdev21 0660 system graphics
/dev/v4l-subdev32 0660 system graphics
# gscalers
/dev/video23 0660 media graphics
/dev/video26 0660 media graphics
/dev/video24 0660 media graphics
/dev/video27 0660 media graphics
/dev/video29 0660 media graphics
/dev/video30 0660 media graphics
# video31 is used for DECON Ext WB
/dev/video31 0660 media graphics
# mscalers
/dev/video50 0660 mediacodec drmrpc
/dev/m2m1shot_scaler0 0660 mediacodec drmrpc
/dev/video55 0666 system graphics
/dev/g2d 0660 system graphics
/dev/fimg2d 0666 system graphics
/dev/HPD 0660 system system
# wfd
/dev/tsmux 0660 media graphics
/dev/repeater 0660 media graphics
# mfc
/dev/video6 0660 mediacodec mediadrm
/dev/video7 0660 mediacodec mediadrm
/dev/video8 0660 mediacodec mediadrm
/dev/video9 0660 mediacodec mediadrm
/dev/video10 0660 mediacodec mediadrm
/dev/video11 0660 mediacodec mediadrm
# camera
/dev/media2 0660 media media
/dev/hdcp2 0660 media media
# jpeg
/dev/m2m1shot_jpeg 0660 media media
/dev/video12 0666 system system
# audio
/dev/seiren 0660 system audio
/dev/acd-audio_output_tuning 0660 system audio
/dev/acd-audio_bulk_tx 0660 system audio
/dev/acd-audio_bulk_rx 0660 system audio
/dev/acd-audio_input_tuning 0660 system audio
/dev/acd-audio_input_bulk_tx 0660 system audio
/dev/acd-audio_input_bulk_rx 0660 system audio
/dev/acd-sound_trigger 0660 system audio
/dev/acd-hotword_notification 0660 system audio
/dev/acd-hotword_pcm 0660 system audio
/dev/acd-ambient_pcm 0660 system audio
/dev/acd-model_data 0660 system audio
/dev/acd-debug 0660 system audio
/dev/acd-audio_tap* 0660 system audio
/dev/acd-audio_dcdoff_ref 0660 system audio
/dev/acd-mel_processor 0660 system audio
/dev/amcs 0660 system audio
/dev/acd-audio_rtp_* 0660 system radio
# Secure MEM driver
/dev/s5p-smem 0660 drm drmrpc
# cbd
/dev/block/by-name/modem 0640 root radio
/dev/block/by-name/modem_a 0640 root radio
/dev/block/by-name/modem_b 0640 root radio
# DM tools
/dev/umts_dm0 0660 system system
/dev/umts_router 0660 system system
/dev/ttyGS0 0660 system system
/dev/ttyGS1 0660 system system
/dev/ttyGS2 0660 system system
# IPC RIL
/dev/umts_boot0 0660 radio system
/dev/umts_ipc0 0660 radio radio
/dev/umts_ipc1 0660 radio radio
/dev/umts_rfs0 0660 radio radio
# IPC OEM
/dev/oem_ipc* 0660 radio radio
/dev/oem_test 0660 radio radio
# interactive governor parameters
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_slack 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/min_sample_time 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/hispeed_freq 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/target_loads 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/go_hispeed_load 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/above_hispeed_delay 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boost 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse 0200 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/input_boost 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse_duration 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/io_is_busy 0660 system system
# Vision (VPU, SCORE)
/dev/vertex0 0660 media media
/dev/vertex1 0660 media media
# AoC
/dev/aoc 0660 system system
# AoC stats (UmfwStat)
/dev/acd-com.google.umfw_stat 0660 system system
# Sensors (USF)
/dev/acd-com.google.usf 0660 system system
/dev/acd-com.google.usf.non_wake_up 0660 system system
# CHRE
/dev/acd-com.google.chre 0660 system system
/dev/acd-com.google.chre.non_wake_up 0660 system system
# LWIS
/dev/lwis* 0660 system system
# NFC
/dev/st21nfc 0660 nfc nfc
# SecureElement
/dev/st54j_se 0660 secure_element secure_element
/dev/st54spi 0660 secure_element secure_element
/dev/st33spi 0660 secure_element secure_element
#bigocean
/dev/bigocean 0660 mediacodec mediadrm
# Trusty
/dev/trusty-ipc-dev0 0660 system drmrpc
/dev/trusty-log0 0660 system system
# RPMB
/dev/sg1 0660 system system
# Citadel
/dev/gsc0 0660 hsm hsm
# Storage: for factory reset protection feature
/dev/block/by-name/frp 0660 system system
# Storage: for UDFPS calibration data sideload feature
/dev/block/by-name/mfg_data 0660 system system
# TPU
/dev/janeiro 0660 system system
# DSP
/dev/gxp 0666 system camera
# TOE
/dev/dit2 0660 radio radio
# Bluetooth
/dev/ttySAC18 0660 bluetooth system
/dev/btpower 0660 bluetooth system
# BT Wifi Coexistence
/dev/wbrc 0660 system system
# TUI
/dev/tui-driver 0660 system system
# DMA-BUF heaps
/dev/dma_heap/crypto 0444 system graphics
/dev/dma_heap/crypto-uncached 0444 system graphics
/dev/dma_heap/faceauth_tpu-secure 0444 system graphics
/dev/dma_heap/faimg-secure 0444 system graphics
/dev/dma_heap/famodel-secure 0444 system graphics
/dev/dma_heap/faprev-secure 0444 system graphics
/dev/dma_heap/farawimg-secure 0444 system graphics
/dev/dma_heap/tui-secure 0444 system graphics
/dev/dma_heap/vframe-secure 0444 system drmrpc
/dev/dma_heap/vscaler-secure 0444 system graphics
/dev/dma_heap/vstream-secure 0444 system drmrpc
/dev/dma_heap/sensor_direct_heap 0444 system graphics
/dev/dma_heap/aaudio_playback_heap 0444 system audio
/dev/dma_heap/aaudio_capture_heap 0444 system audio
# Direct Charging
/dev/logbuffer_pca9468_tcpm 0600 system system
# Raw HID devices
/dev/hidraw* 0660 system system
# Wlan
/dev/wlan 0660 wifi wifi
# ODPM
/sys/bus/iio/devices/iio:device* enabled_rails 0660 system system
# sysfs LED nodes for external USB devices
/sys/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.5.auto/usb2/2-1* brightness 0664 system system
/sys/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.5.auto/usb2/2-1* multi_intensity 0664 system system
/sys/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.4.auto/usb2/2-1* brightness 0664 system system
/sys/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.4.auto/usb2/2-1* multi_intensity 0664 system system

178
convert_to_ext4.sh Normal file
View File

@@ -0,0 +1,178 @@
#!/bin/sh
PERSIST_BLK='/dev/block/by-name/persist'
EFS_BLK='/dev/block/by-name/efs'
MNT_BASE='/mnt/product'
MNT_OLD="$MNT_BASE/convert_old"
MNT_NEW="$MNT_BASE/convert_new"
function log() {
if [ ! -z "$1" ]; then
echo "partition_convert: $1" > /dev/kmsg
fi
}
function check_success() {
RES=$?
if [ $RES -ne 0 ]; then
log "Failed: $1"
else
log "Success: $1"
fi
return $RES
}
function get_fs_type()
{
BLOCK=$1
EXT4_MAGIC=$(xxd $BLOCK -s 0x438 -l 2 -p)
if [ "$EXT4_MAGIC" = "53ef" ]; then
echo "ext4"
else
F2FS_MAGIC=$(xxd $BLOCK -s 0x400 -l 4 -p)
if [ "$F2FS_MAGIC" = "1020f5f2" ]; then
echo "f2fs"
else
echo "unknown"
fi
fi
}
# Flow:
# 1. If persist is f2fs we need to make efs ext4 and copy out the files. Once files are copied
# successfully, format persist as ext4 to mark completion of step.
# 2. If persist is ext4 and efs is ext4, we need to copy from efs to persist (use dd). Once
# everything is copied successfully, erase efs to allow it to be formatted to f2fs later.
# 3. If persist is ext4 and efs is not ext4, we have already migrated - do nothing.
# If persist is already ext4 and efs is not ext4 we have already migrated.
PERSIST_FS=$(get_fs_type $PERSIST_BLK)
EFS_FS=$(get_fs_type $EFS_BLK)
if [ "$PERSIST_FS" = "ext4" ]; then
if [ "$EFS_FS" != "ext4" ]; then
log "persist ext4 migration already done"
exit 0
fi
fi
if [ "$PERSIST_FS" = "unknown" ]; then
log "persist partition hasn't been initialized"
exit 0
fi
RETRIES=10
while [[ $RETRIES -gt 0 ]]; do
# Sleep for 1 second here, as other failure points will trigger continue
sleep 1
RETRIES=$((RETRIES-1))
# If persist is still f2fs, we need to copy to efs.
if [ "$PERSIST_FS" = "f2fs" ]; then
# Format efs as ext4
/system/bin/mke2fs -t ext4 -b 4096 $EFS_BLK
check_success "/system/bin/mke2fs -t ext4 -b 4096 $EFS_BLK"
if [ $? -ne 0 ]; then
continue
fi
#Create directory to mount persist partition
mkdir -p $MNT_OLD
check_success "mkdir $MNT_OLD"
if [ $? -ne 0 ]; then
continue
fi
# Create directory to mount efs partition
mkdir -p $MNT_NEW
check_success "mkdir $MNT_NEW"
if [ $? -ne 0 ]; then
rm -rf $MNT_OLD
continue
fi
# Mount persist
mount -t f2fs $PERSIST_BLK $MNT_OLD
check_success "mount -t f2fs $PERSIST_BLK $MNT_OLD"
if [ $? -ne 0 ]; then
rm -rf $MNT_NEW
rm -rf $MNT_OLD
continue
fi
# Mount efs
mount -t ext4 $EFS_BLK $MNT_NEW
check_success "mount -t ext4 $EFS_BLK $MNT_NEW"
if [ $? -ne 0 ]; then
umount $MNT_OLD
rm -rf $MNT_NEW
rm -rf $MNT_OLD
continue
fi
cp -rp $MNT_OLD/.* $MNT_NEW/
cp -rp $MNT_OLD/* $MNT_NEW/
check_success "cp -rp $MNT_OLD/* $MNT_NEW/"
if [ $? -ne 0 ]; then
umount $MNT_NEW
umount $MNT_OLD
rm -rf $MNT_NEW
rm -rf $MNT_OLD
continue
fi
# Calculate md5sum of all files and compare between persist and efs
(cd $MNT_NEW; find . -type f | xargs md5sum | sort) > $MNT_BASE/new.md5sums
(cd $MNT_OLD; find . -type f | xargs md5sum | sort) > $MNT_BASE/old.md5sums
diff $MNT_BASE/new.md5sums $MNT_BASE/old.md5sums
check_success "diff $MNT_BASE/new.md5sums $MNT_BASE/old.md5sums"
RES=$?
rm $MNT_BASE/new.md5sums $MNT_BASE/old.md5sums
umount $MNT_NEW
umount $MNT_OLD
rm -rf $MNT_NEW
rm -rf $MNT_OLD
if [ $RES -ne 0 ]; then
continue
fi
/system/bin/mke2fs -t ext4 -b 4096 $PERSIST_BLK
check_success "/system/bin/mke2fs -t ext4 -b 4096 $PERSIST_BLK"
if [ $? -ne 0 ]; then
continue
fi
PERSIST_FS="ext4"
fi
# copy efs to persist
dd if=$EFS_BLK of=$PERSIST_BLK
check_success "dd if=$EFS_BLK of=$PERSIST_BLK"
if [ $? -ne 0 ]; then
continue
fi
sync
check_success "sync"
if [ $? -ne 0 ]; then
continue
fi
# compare md5sum for integrity
EFS_MD5SUM=$(dd if=$EFS_BLK 2>/dev/null | md5sum)
PERSIST_MD5SUM=$(dd if=$PERSIST_BLK 2>/dev/null | md5sum)
if [ "$PERSIST_MD5SUM" != "$EFS_MD5SUM" ]; then
log "dd md5sum mismatch"
continue
fi
dd if=/dev/zero of=$EFS_BLK bs=1M count=64
check_success "dd if=/dev/zero of=$EFS_BLK bs=1M count=64"
if [ $? -ne 0 ]; then
continue
fi
log "Migration succeeded"
break
done

View File

@@ -1,8 +1,18 @@
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<!--
SPDX-FileCopyrightText: 2019 Google Inc.
SPDX-License-Identifier: Apache-2.0
<!-- Copyright (C) 2019 Google Inc.
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.
-->
<!--
@@ -31,15 +41,12 @@
</exception>
-->
<exception package="com.google.android.GoogleCamera">
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception>
<exception
package="com.google.android.apps.camera.services">
<!-- Camera -->
<permission name="android.permission.CAMERA" fixed="false"/>
<!-- Camera Connectivity -->
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
@@ -69,8 +76,6 @@
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
<!-- Used by Bluetooth Module to collect bluetooth info -->
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
</exception>
<exception
@@ -168,16 +173,5 @@
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception>
<exception package="com.google.android.apps.pixel.relationships">
<permission name="android.permission.CALL_PHONE" fixed="false"/>
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
</exception>
<exception
package="com.google.android.apps.privacy.wildlife">
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
</exception>
</exceptions>

View File

@@ -1,8 +1,22 @@
#
# SPDX-FileCopyrightText: 2020 The Android Open-Source Project
# SPDX-License-Identifier: Apache-2.0
# 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.
#
ifneq ($(BOARD_WITHOUT_RADIO),true)
-include vendor/google_devices/gs201/proprietary/telephony/device-vendor.mk
endif
include device/google/gs201/device.mk
ifneq ($(BOARD_WITHOUT_RADIO),true)

View File

@@ -1,6 +1,16 @@
#
# SPDX-FileCopyrightText: 2020 The Android Open-Source Project
# SPDX-License-Identifier: Apache-2.0
# 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.
include device/google/gs201/device-common.mk

812
device.mk

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2021 The Android Open Source Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<compatibility-matrix version="9.0" type="framework" level="7">
<hal format="hidl">
<compatibility-matrix version="1.0" type="framework" level="7">
<hal format="hidl" optional="true">
<name>android.vendor.samsung_slsi.telephony.hardware.radio</name>
<version>1.1</version>
<interface>
@@ -14,7 +8,7 @@
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>com.fingerprints42.extension</name>
<version>1.0</version>
<interface>
@@ -46,24 +40,9 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.edgetpu</name>
<version>2</version>
<interface>
<name>IEdgeTpuVendorService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.edgetpu.dba</name>
<interface>
<name>IDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.face.debug</name>
<version>3-4</version>
<hal format="aidl" optional="true">
<name>com.google.face.debug</name>
<version>3-4</version>
<interface>
<name>IDebugHost</name>
<instance>default</instance>
@@ -73,48 +52,39 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.flood</name>
<hal format="aidl" optional="true">
<name>com.google.edgetpu</name>
<version>2</version>
<interface>
<name>IFloodService</name>
<name>IEdgeTpuVendorService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.hardware.pixel.display</name>
<version>16-17</version>
<hal format="aidl" optional="true">
<name>com.google.edgetpu.dba</name>
<version>1</version>
<interface>
<name>IDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>com.google.edgetpu.tachyon</name>
<version>1</version>
<interface>
<name>IComputeService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>com.google.hardware.pixel.display</name>
<version>10</version>
<interface>
<name>IDisplay</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.input</name>
<version>2-6</version>
<interface>
<name>ITouchContextService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.input</name>
<version>6</version>
<interface>
<name>ITwoshayFileDumpService</name>
<instance>touchflow_default</instance>
<instance>touchflow_outer</instance>
<instance>twoshay</instance>
</interface>
</hal>
<hal format="aidl">
<name>com.google.pixel.camera.connectivity.hal.provider</name>
<interface>
<name>ICameraProvider</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<hal format="aidl" optional="true">
<name>hardware.qorvo.uwb</name>
<version>2</version>
<interface>
@@ -122,7 +92,7 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
<version>2.1</version>
<interface>
@@ -130,30 +100,15 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.google.audiometricext</name>
<version>1.0</version>
<interface>
<name>IAudioMetricExt</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>vendor.google.battery_mitigation</name>
<interface>
<name>IBatteryMitigation</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<hal format="aidl" optional="true">
<name>vendor.google.google_battery</name>
<version>4</version>
<version>2-3</version>
<interface>
<name>IGoogleBattery</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>vendor.google.radioext</name>
<version>1.5</version>
<interface>
@@ -161,23 +116,15 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.google.whitechapel.audio.audioext</name>
<version>4.0</version>
<interface>
<name>IAudioExt</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<hal format="aidl" optional="true">
<name>vendor.google.wifi_ext</name>
<version>2-4</version>
<version>2-3</version>
<interface>
<name>IWifiExt</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
<version>1.0</version>
<interface>
@@ -187,7 +134,7 @@
<instance>sced0</instance>
</interface>
</hal>
<hal format="hidl">
<hal format="hidl" optional="true">
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
<version>1.1</version>
<interface>

View File

@@ -0,0 +1,6 @@
#!/vendor/bin/sh
max77759tcpc_path=/sys/devices/platform/10d60000.hsi2c/i2c-13/13-0025
if [ -d $max77759tcpc_path ]; then
echo 0 > $max77759tcpc_path/contaminant_detection;
fi

Binary file not shown.

10
dumpstate/Android.bp Normal file
View File

@@ -0,0 +1,10 @@
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "dump_power_gs201.sh",
src: "dump_power_gs201.sh",
vendor: true,
sub_dir: "dump",
}

10
dumpstate/OWNERS Normal file
View File

@@ -0,0 +1,10 @@
aaronding@google.com
rurumihong@google.com
adamshih@google.com
wilsonsung@google.com
lucaswei@google.com
cyanhsieh@google.com
rogerliao@google.com
cyuanjen@google.com
robinpeng@google.com
pattjin@google.com

1
dumpstate/README.txt Normal file
View File

@@ -0,0 +1 @@
Please refer to go/pixel-recycle to modularize your code in this space.

View File

@@ -0,0 +1,315 @@
#!/vendor/bin/sh
build_type="$(getprop ro.build.type)"
echo "\n------ Power Stats Times ------"
echo -n "Boot: " && /vendor/bin/uptime -s && echo -n "Now: " && date;
echo "\n------ ACPM stats ------"
for f in /sys/devices/platform/acpm_stats/*_stats ; do
echo "\n\n$f"
cat $f
done
echo "\n------ CPU PM stats ------"
cat "/sys/devices/system/cpu/cpupm/cpupm/time_in_state"
echo "\n------ GENPD summary ------"
cat "/d/pm_genpd/pm_genpd_summary"
echo "\n------ Power supply property battery ------"
cat "/sys/class/power_supply/battery/uevent"
echo "\n------ Power supply property dc ------"
cat "/sys/class/power_supply/dc/uevent"
echo "\n------ Power supply property gcpm ------"
cat "/sys/class/power_supply/gcpm/uevent"
echo "\n------ Power supply property gcpm_pps ------"
cat "/sys/class/power_supply/gcpm_pps/uevent"
echo "\n------ Power supply property main-charger ------"
cat "/sys/class/power_supply/main-charger/uevent"
if [ -d "/sys/class/power_supply/pca9468-mains/uevent" ]
then
echo "\n------ Power supply property pca9468-mains ------"
cat "/sys/class/power_supply/pca9468-mains/uevent"
else
echo "\n------ Power supply property pca94xx-mains ------"
cat "/sys/class/power_supply/pca94xx-mains/uevent"
fi
echo "\n------ Power supply property tcpm ------"
cat /sys/class/power_supply/tcpm-source-psy-*/uevent
echo "\n------ Power supply property usb ------"
cat "/sys/class/power_supply/usb/uevent"
echo "\n------ Power supply property wireless ------"
cat "/sys/class/power_supply/wireless/uevent"
if [ -d "/sys/class/power_supply/maxfg" ]
then
echo "\n------ Power supply property maxfg ------"
cat "/sys/class/power_supply/maxfg/uevent"
echo "\n------ m5_state ------"
cat "/sys/class/power_supply/maxfg/m5_model_state"
echo "\n------ maxfg ------"
cat "/dev/logbuffer_maxfg"
echo "\n------ maxfg_monitor ------"
cat "/dev/logbuffer_maxfg_monitor"
else
echo "\n------ Power supply property maxfg_base ------"
cat "/sys/class/power_supply/maxfg_base/uevent"
echo "\n------ Power supply property maxfg_secondary ------"
cat "/sys/class/power_supply/maxfg_secondary/uevent"
echo "\n------ m5_state ------"
cat "/sys/class/power_supply/maxfg_base/m5_model_state"
echo "\n------ maxfg_base ------"
cat "/dev/logbuffer_maxfg_base"
echo "\n------ maxfg_secondary ------"
cat "/dev/logbuffer_maxfg_secondary"
echo "\n------ maxfg_base_monitor ------"
cat "/dev/logbuffer_maxfg_base_monitor"
echo "\n------ maxfg_secondary_monitor ------"
cat "/dev/logbuffer_maxfg_secondary_monitor"
echo "\n------ google_dual_batt ------"
cat "/dev/logbuffer_dual_batt"
fi
if [ -e "/dev/maxfg_history" ]
then
echo "\n------ Maxim FG History ------"
xxd "/dev/maxfg_history"
fi
if [ -d "/sys/class/power_supply/dock" ]
then
echo "\n------ Power supply property dock ------"
cat "/sys/class/power_supply/dock/uevent"
fi
if [ -e "/dev/logbuffer_tcpm" ]
then
echo "\n------ Logbuffer TCPM ------"
cat "/dev/logbuffer_tcpm"
elif [ $build_type = "eng" ]
then
echo "\n------ TCPM logs ------"
if [ -d "/sys/kernel/debug/tcpm" ]
then
cat /sys/kernel/debug/tcpm/*
else
cat /sys/kernel/debug/usb/tcpm*
fi
fi
echo "\n------ TCPC ------"
max77759tcpc_path="/sys/devices/platform/10d60000.hsi2c/i2c-13/13-0025"
echo "registers:"
cat $max77759tcpc_path/registers
echo "frs:"
cat $max77759tcpc_path/frs
echo "auto_discharge:"
cat $max77759tcpc_path/auto_discharge
echo "bc12_enabled:"
cat $max77759tcpc_path/bc12_enabled
echo "cc_toggle_enable:"
cat $max77759tcpc_path/cc_toggle_enable
echo "contaminant_detection:"
cat $max77759tcpc_path/contaminant_detection
echo "contaminant_detection_status:"
cat $max77759tcpc_path/contaminant_detection_status
echo "\n------ PD Engine ------"
cat "/dev/logbuffer_usbpd"
echo "\nPOGO Transport"
cat "/dev/logbuffer_pogo_transport"
echo "\n------ PPS-google_cpm ------"
cat "/dev/logbuffer_cpm"
echo "\n------ PPS-dc ------"
cat "/dev/logbuffer_pca9468"
echo "\n------ Battery Health ------"
cat "/sys/class/power_supply/battery/health_index_stats"
echo "\n------ Battery Health SoC Residency ------"
cat "/sys/class/power_supply/battery/swelling_data"
echo "\n------ BMS ------"
cat "/dev/logbuffer_ssoc"
echo "\n------ TTF ------"
cat "/dev/logbuffer_ttf"
echo "\n------ TTF details ------"
cat "/sys/class/power_supply/battery/ttf_details"
echo "\n------ TTF stats ------"
cat "/sys/class/power_supply/battery/ttf_stats"
echo "\n------ aacr_state ------"
cat "/sys/class/power_supply/battery/aacr_state"
echo "\n------ maxq ------"
cat "/dev/logbuffer_maxq"
echo "\n------ TEMP/DOCK-DEFEND ------"
cat "/dev/logbuffer_bd"
echo "\n------ TRICKLE-DEFEND Config ------"
cd /sys/devices/platform/google,battery/power_supply/battery/
for f in `ls bd_*`
do
echo $f: `cat $f`
done
echo "\n------ DWELL-DEFEND Config ------"
cd /sys/devices/platform/google,charger/
for f in `ls charge_s*`
do
echo "$f: `cat $f`"
done
echo "\n------ TEMP-DEFEND Config ------"
cd /sys/devices/platform/google,charger/
for f in `ls bd_*`
do
echo "$f: `cat $f`"
done
echo "\n------ DC_registers dump ------"
cat "/sys/class/power_supply/pca94xx-mains/device/registers_dump"
echo "\n------ max77759_chg registers dump ------"
cat "/sys/class/power_supply/main-charger/device/registers_dump"
echo "\n------ max77729_pmic registers dump ------"
cat /sys/devices/platform/*.hsi2c/i2c-*/*-0066/registers_dump
if [ $build_type = "eng" ]
then
echo "\n------ Charging table dump ------"
cat "/d/google_battery/chg_raw_profile"
echo "\n------ fg_model ------"
for f in /d/maxfg*
do
regs=`cat $f/fg_model`
echo $f:
echo "$regs"
done
echo "\n------ fg_alo_ver ------"
for f in /d/maxfg*
do
regs=`cat $f/algo_ver`
echo $f:
echo "$regs"
done
echo "\n------ fg_model_ok ------"
for f in /d/maxfg*
do
regs=`cat $f/model_ok`
echo $f:
echo "$regs"
done
echo "\n------ fg registers ------"
for f in /d/maxfg*
do
regs=`cat $f/registers`
echo $f:
echo "$regs"
done
echo "\n------ Maxim FG NV RAM ------"
for f in /d/maxfg*
do
regs=`cat $f/nv_registers`
echo $f:
echo "$regs"
done
fi
echo "\n------ Battery EEPROM ------"
if [ -e "/sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom" ]
then
xxd /sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom
fi
echo "\n------ Charger Stats ------"
cat "/sys/class/power_supply/battery/charge_details"
if [ $build_type = "eng" ]
then
echo "\n------ Google Charger ------"
cd /sys/kernel/debug/google_charger/
for f in `ls pps_*`
do
echo "$f: `cat $f`"
done
echo "\n------ Google Battery ------"
cd /sys/kernel/debug/google_battery/
for f in `ls ssoc_*`
do
echo "$f: `cat $f`"
done
fi
echo "\n------ WLC logs ------"
cat "/dev/logbuffer_wireless"
echo "\n------ WLC VER ------"
cat "/sys/class/power_supply/wireless/device/version"
echo "\n------ WLC STATUS ------"
cat "/sys/class/power_supply/wireless/device/status"
echo "\n------ WLC FW Version ------"
cat "/sys/class/power_supply/wireless/device/fw_rev"
echo "\n------ RTX ------"
cat "/dev/logbuffer_rtx"
if [ $build_type = "eng" ]
then
echo "\n------ gvotables ------"
cat /sys/kernel/debug/gvotables/*/status
fi
echo "\n------ Lastmeal ------"
cat "/data/vendor/mitigation/lastmeal.txt"
echo "\n------ Thismeal ------"
cat "/data/vendor/mitigation/thismeal.txt"
echo "\n------ Mitigation Stats ------"
echo "Source\t\tCount\tSOC\tTime\tVoltage"
for f in `ls /sys/devices/virtual/pmic/mitigation/last_triggered_count/*`
do
count=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/last_triggered_count\//}
b=${f/last_triggered_count/last_triggered_capacity}
c=${f/last_triggered_count/last_triggered_timestamp/}
d=${f/last_triggered_count/last_triggered_voltage/}
cnt=`cat $f`
cap=`cat ${b/count/cap}`
ti=`cat ${c/count/time}`
volt=`cat ${d/count/volt}`
echo "${a/_count/} \t$cnt\t$cap\t$ti\t$volt"
done
echo "\n------ Clock Divider Ratio ------"
echo \"Source\t\tRatio\"
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_ratio/*`
do ratio=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_ratio\//}
echo "${a/_ratio/} \t$ratio"
done
echo "\n------ Clock Stats ------"
echo "Source\t\tStats"
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_stats/*`
do
stats=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_stats\//};
echo "${a/_stats/} \t$stats"
done
echo "\n------ Triggered Level ------"
echo "Source\t\tLevel"
for f in `ls /sys/devices/virtual/pmic/mitigation/triggered_lvl/*`
do
lvl=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/triggered_lvl\//}
echo "${a/_lvl/} \t$lvl"
done
echo "\n------ Instruction ------"
for f in `ls /sys/devices/virtual/pmic/mitigation/instruction/*`
do
val=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/instruction\//}
echo "$a=$val"
done

View File

@@ -1,7 +1,6 @@
[
{
"remote": "github",
"repository": "android_device_google_gs-common",
"target_path": "device/google/gs-common"
"repository": "device_google_gs101",
"target_path": "device/google/gs101"
}
]

8
evolution_common.mk Normal file
View File

@@ -0,0 +1,8 @@
#
# Copyright (C) 2024 The Evolution X Project
#
# SPDX-License-Identifier: Apache-2.0
#
# PixelParts
include packages/apps/PixelParts/device.mk

View File

@@ -0,0 +1,25 @@
//
// Copyright (C) 2022 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.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "factory_post_boot",
src: "factory_post_boot.sh",
vendor: true,
sub_dir: "factory",
}

View File

@@ -0,0 +1,4 @@
#!/vendor/bin/sh
# Add adbd to nnapi vendor cgroup. (b/222226268)
echo `pidof adbd` > /proc/vendor_sched/set_task_group_nnapi

View File

@@ -0,0 +1,15 @@
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: [
"//device/google/gs201:device_google_gs201_license",
],
}
runtime_resource_overlay {
name: "FactoryOverlayFrameworkRes",
product_specific: true,
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 The Android Open Source Project
<!-- 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.
@@ -13,15 +13,12 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Pixel specific tethering overlays -->
<!-- Pixel specific factory overlays -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.networkstack.tethering.overlay"
android:versionCode="1"
android:versionName="1.0">
package="com.android.frameworkres.overlay.factory">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.android.networkstack.tethering"
android:targetName="TetheringConfig"
android:isStatic="true"
android:priority="0" />
android:targetPackage="android"
android:isStatic="true"
android:priority="2"/>
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,15 @@
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: [
"//device/google/gs201:device_google_gs201_license",
],
}
runtime_resource_overlay {
name: "FactoryOverlayLauncher3",
product_specific: true,
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- Pixel specific factory overlays -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.launcher3.overlay.factory">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.android.launcher3"
android:targetName="favorites"
android:isStatic="true"
android:priority="2"/>
</manifest>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
<!-- Dialer, Capacity, ELabel, Language, Barcode -->
<resolve
launcher:container="-101"
launcher:screen="0"
launcher:x="0"
launcher:y="0" >
<favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" />
<favorite launcher:uri="tel:123" />
<favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="4"
launcher:x="4"
launcher:y="0" >
<favorite
launcher:packageName="com.google_cte.barcodescanner"
launcher:className="com.google_cte.barcodescanner.MainActivity" />
</resolve>
</favorites>

View File

@@ -0,0 +1,15 @@
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: [
"//device/google/gs201:device_google_gs201_license",
],
}
runtime_resource_overlay {
name: "FactoryOverlaySettings",
product_specific: true,
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<!-- Pixel specific factory overlays -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.providers.settings.overlay.factory">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.android.providers.settings"
android:targetName="resources"
android:isStatic="true"
android:priority="2"/>
</manifest>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 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.
*/
-->
<resources>
<integer name="def_lockscreen_sounds_enabled">0</integer>
<bool name="def_lockscreen_disabled">true</bool>
<bool name="def_dtmf_tones_enabled">false</bool>
<bool name="def_sound_effects_enabled">false</bool>
<bool name="def_charging_sounds_enabled">false</bool>
<string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
</resources>

85
factory_common.mk Normal file
View File

@@ -0,0 +1,85 @@
#
# Copyright 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.
#
$(call inherit-product, device/google/gs201/aosp_common.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/factory/pixel/device-factory.mk)
PRODUCT_PROPERTY_OVERRIDES += service.adb.root=1 \
ro.vendor.factory=1
# Factory Libraries of Audio
PRODUCT_PACKAGES += audioroute libaudioroutelite
# Enable fatp by default for factory builds
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
persist.vendor.camera.fatp.enable=1
# Disable camera related features for factory builds
PRODUCT_PROPERTY_OVERRIDES += \
vendor.camera.debug.bypass_face_ssd_processor=1 \
vendor.camera.debug.csi_ebuf_enable=0 \
vendor.camera.debug.enable_face_detection=0 \
vendor.camera.debug.force_dpm_on=0 \
vendor.camera.debug.force_eis_on=0 \
vendor.camera.debug.force_eaf_on=0 \
vendor.camera.debug.force_mesh_warp_on=0 \
vendor.camera.debug.force_rectiface_node_on=0 \
vendor.camera.debug.force_steadiface_on=0 \
vendor.camera.debug.force_tnr_on=0 \
vendor.camera.debug.force_segmentation_node_on=0 \
vendor.camera.debug.enable_saliency=0 \
vendor.camera.debug.force_local_tone_mapping_on=0 \
vendor.camera.debug.local_tone_mapping_controller_v1.mode=0
# Disable ScreenDecorations for factory builds
PRODUCT_PROPERTY_OVERRIDES += \
debug.disable_screen_decorations=true
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_touch_timer_ms=200
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_display_power_timer_ms=1000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_content_detection_for_refresh_rate=true
# factory should always has SELinux permissive
BOARD_BOOTCONFIG += androidboot.selinux=permissive
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
# Disable DebugFS restrictions in factory builds
PRODUCT_SET_DEBUGFS_RESTRICTIONS := false
# Disable Bluetooth as default in factory build
DEVICE_PACKAGE_OVERLAYS += device/google/gs201/overlay-factory
PRODUCT_COPY_FILES += \
device/google/gs201/conf/init.factory.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.factory.rc
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/factory_boost
# Add factory-friendly changes
PRODUCT_PACKAGES += \
FactoryOverlaySettings \
FactoryOverlayLauncher3 \
FactoryOverlayFrameworkRes \
factory_post_boot
# To prevent rebooting due to crashing services
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
init.svc_debug.no_fatal.zygote=true \
persist.device_config.configuration.disable_rescue_party=true
# PixelLogger for RF testing
PRODUCT_PACKAGES_DEBUG += \
PixelLogger \

View File

@@ -0,0 +1,18 @@
# ----------------------------
# Add feature flags below
# ----------------------------
FPC_CONFIG_BUILD_VERSION=33
FPC_CONFIG_CAPACITIVE=1
FPC_CONFIG_MAX_NR_TEMPLATES=5
FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
FPC_CONFIG_TA_FS=1
FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
FPC_SENSOR_SDK_LOG_LEVEL=3
FPC_TEE_RUNTIME=TRUSTY
LIBFPC_NAME=libfpc1541_S_nav_debug.a
FPC_CONFIG_DEBUG=1
FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
#
# File included from device/<manufacture>/<>/<device>.mk
# Packages to include into the build

View File

@@ -0,0 +1,21 @@
# ----------------------------
# Add feature flags below
# ----------------------------
FPC_CONFIG_BUILD_VERSION=33
FPC_CONFIG_CAPACITIVE=1
FPC_CONFIG_MAX_NR_TEMPLATES=5
FPC_CONFIG_NAVIGATION=0
FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
FPC_CONFIG_SENSORTEST=1
FPC_CONFIG_TA_FS=1
FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
FPC_SENSOR_SDK_LOG_LEVEL=3
FPC_TEE_RUNTIME=TRUSTY
LIBFPC_NAME=libfpc1541_S_nav_debug.a
FPC_CONFIG_DEBUG=1
FPC_CONFIG_ENGINEERING=1
FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
#
# File included from device/<manufacture>/<>/<device>.mk
# Packages to include into the build

View File

@@ -0,0 +1,27 @@
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "device_google_gs101_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["device_google_gs201_license"],
}
cc_binary {
srcs: [
"fp_test.cpp"
],
local_include_dirs: ["."],
name: "fp_test",
shared_libs: [
"liblog",
"libdl",
"libutils",
"libcutils",
"libhidlbase",
"android.hardware.biometrics.fingerprint@2.1"
],
proprietary:true,
}

View File

@@ -0,0 +1,200 @@
#include <stdint.h>
#include <stdio.h>
#include <log/log.h>
#include "fp_test.h"
#include <cutils/properties.h>
#define TAG "[FP_TEST] "
#define LOGI(format,...) ALOGI(TAG format,##__VA_ARGS__)
#define LOGD(format,...) ALOGD(TAG format,##__VA_ARGS__)
#define LOGE(format,...) ALOGE(TAG format,##__VA_ARGS__)
#define CLOGI(format,...) printf(TAG format,##__VA_ARGS__)
#define CLOGD(format,...) printf(TAG format,##__VA_ARGS__)
#define CLOGE(format,...) printf(TAG format,##__VA_ARGS__)
#define LOGI_BOTH(format,...) { \
ALOGI(TAG format,##__VA_ARGS__) \
prinft(TAG format, ##__VA_ARGS__) \
} \
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
#define STRING_SIZE 32
#define FPS_SRV_PROP "fps_hal"
#define FPS_SRV_FULL_PROP "init.svc.fps_hal"
#define FPS_SRV_STATUS_PROP "vendor.fp.status"
enum ErrorType {
OK,
ERROR
};
static const char* const cmdUsage[] = {
"-------fp_test tool usage--------",
"fp_test -e: Enable FPS service",
"fp_test -d: Disable FPS service",
"fp_test -i: Idle Mode",
"fp_test -n: Navigation Mode",
"fp_test -a: Authentication Mode",
"---------------------------------",
};
void toolUsage(void) {
int numCmdUsage = ARRAY_SIZE(cmdUsage);
for(int i = 0; i< numCmdUsage; i++)
CLOGI("%s\n",cmdUsage[i]);
}
int checkParameter(int num, char **strArray)
{
int ret = 0;
char parameter[STRING_SIZE] = {0,};
if (num != 2 || (strlen(strArray[1]) > STRING_SIZE)) {
return -ERROR;
}
strcpy(parameter, strArray[1]);
if (!strncmp(parameter, "-a", sizeof("-a"))) {
CLOGI("Start Authentication Mode!\n");
LOGI("Start Authentication Mode!\n");
ret = 'a';
} else if (!strncmp(parameter, "-n", sizeof("-n"))) {
CLOGI("Start Navigation Mode!\n");
LOGI("Start Navigation Mode!\n");
ret = 'n';
} else if (!strncmp(parameter, "-i", sizeof("-i"))) {
CLOGI("Start Idle Mode!\n");
LOGI("Start Idle Mode!\n");
ret = 'n';
} else if (!strncmp(parameter, "-e", sizeof("-e"))) {
CLOGI("Start enabling FPS service!\n");
LOGI("Start enabling FPS service!\n");
ret = 'e';
} else if (!strncmp(parameter, "-d", sizeof("-d"))) {
CLOGI("Start disabling FPS service!\n");
LOGI("Start disabling FPS service!\n");
ret = 'd';
} else {
ret = -ERROR;
}
return ret;
}
int enable_disable_fps(bool set)
{
int ret = 0;
// Set property to enable/disable fingerprint service
if (set == true) {
ret = property_set("ctl.start", FPS_SRV_PROP);
} else {
ret = property_set("ctl.stop", FPS_SRV_PROP);
}
if (ret != 0) {
CLOGE("Failed to %s FPS service\n", set? "enable" : "disable");
LOGE("Failed to %s FPS service\n", set? "enable" : "disable");
return -ERROR;
}
return ret;
}
int run_auth_cmd() {
RequestStatus hidlRet;
uint64_t operationId = 0;
uint32_t gid = 0;
char tempbuf[PROPERTY_VALUE_MAX];
property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
return -ERROR;
}
sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
if (service == nullptr) {
CLOGE("%s : Fail to get FingerprintService!\n",__func__);
LOGE("%s : Fail to get FingerprintService!\n",__func__);
return -ERROR;
}
hidlRet = service->authenticate(operationId, gid);
if (hidlRet == RequestStatus::SYS_OK) {
return OK;
} else {
return -ERROR;
}
}
int run_cancel_cmd() {
RequestStatus hidlRet;
char tempbuf[PROPERTY_VALUE_MAX];
property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
return -ERROR;
}
sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
if (service == nullptr) {
CLOGE("%s : Fail to get FingerprintService!\n",__func__);
LOGE("%s : Fail to get FingerprintService!\n",__func__);
return -ERROR;
}
hidlRet = service->cancel();
if (hidlRet == RequestStatus::SYS_OK) {
return OK;
} else {
return -ERROR;
}
}
int main(int argc, char *argv[])
{
int input=0;
int32_t ret = 0;
LOGI("%s",__func__);
input = checkParameter(argc, argv);
if (input == -ERROR){
LOGE("Invalid Parameter\n");
CLOGE("Invalid Parameter\n");
toolUsage();
return -ERROR;
}
switch (input) {
case 'e':
CLOGI("%s: Enable fingerprint service\n",__func__);
LOGI("%s: Enable fingerprint service\n",__func__);
ret = enable_disable_fps(true);
break;
case 'd':
CLOGI("%s: Disable fingerprint service\n",__func__);
LOGI("%s: Disable fingerprint service\n",__func__);
ret = enable_disable_fps(false);
break;
case 'a':
ret = run_auth_cmd();
break;
// For the rear fingerprint module, calling cancel() will go to the
// navigation mode by default.
// For other device not enabling naivgation feature, default mode will
// be "Idle" by invoking cancel().
case 'n':
case 'i':
default:
ret = run_cancel_cmd();
break;
}
if (ret != OK)
CLOGE("FP HIDL fail to excute cmd '%c'\n", input);
else
CLOGI("FP HIDL excute cmd '%c' successfully\n", input);
return ret;
}

View File

@@ -0,0 +1,16 @@
#ifndef FP_TEST
#define FP_TEST
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
using android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
using android::sp;
int main(int argc, char *argv[]);
void toolUsage(void);
#endif //FP_TEST

View File

@@ -0,0 +1,8 @@
# Fingerprint
include device/google/gs201/fingerprint/fpc1540/fingerprint_config.mk
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.fpc \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml

View File

@@ -0,0 +1,10 @@
# Fingerprint
include device/google/gs201/fingerprint/fpc1540/fingerprint_config_factory.mk
PRODUCT_PACKAGES += \
fpc_tee_test\
SensorTestTool \
PRODUCT_PACKAGES += \
com.fingerprints.extension.xml \
com.fingerprints.extension \

1
firmware/BCM.btaddr Normal file
View File

@@ -0,0 +1 @@
22:22:3b:ff:0d:50

Binary file not shown.

View File

@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.health</name>
<version>4</version>
<version>3</version>
<fqname>IHealth/default</fqname>
</hal>
</manifest>

22
init.display.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/vendor/bin/sh
modules_dir=
for f in /vendor/lib/modules/*/modules.dep /vendor/lib/modules/modules.dep; do
if [[ -f "$f" ]]; then
modules_dir="$(dirname "$f")"
break
fi
done
if [[ -z "${modules_dir}" ]]; then
echo "Unable to locate kernel modules directory" 2>&1
exit 1
fi
panel_drv=`getprop ro.boot.primary_panel_drv`
if [[ -z "$panel_drv" ]]; then
panel_drv="panel-samsung-emul"
fi
modprobe -d "${modules_dir}" exynos-drm.ko
modprobe -d "${modules_dir}" $panel_drv.ko

View File

@@ -0,0 +1,24 @@
#
# Copyright (C) 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.
#
on property:sys.boot_completed=1 && property:persist.vendor.limit.wlc.current=1
write /sys/class/power_supply/dc/current_max 75000
on property:sys.boot_completed=1 && property:persist.vendor.limit.wlc.current=0
write /sys/class/power_supply/dc/current_max 1100000
on property:vendor.disable.wlc=1
write /sys/class/power_supply/wireless/online 0

View File

@@ -1,7 +1,17 @@
//
// SPDX-FileCopyrightText: 2018 The Android Open Source Project
// SPDX-License-Identifier: Apache-2.0
// Copyright (C) 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.
package {
// See: http://go/android-license-faq

34
lineage_common.mk Normal file
View File

@@ -0,0 +1,34 @@
#
# Copyright (C) 2022 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Overlays
DEVICE_PACKAGE_OVERLAYS += device/google/gs201/overlay-lineage
# AiAi Config
PRODUCT_COPY_FILES += \
device/google/gs201/allowlist_com.google.android.as.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/allowlist_com.google.android.as.xml
# Camera
PRODUCT_PRODUCT_PROPERTIES += \
ro.vendor.camera.extensions.package=com.google.android.apps.camera.services \
ro.vendor.camera.extensions.service=com.google.android.apps.camera.services.extensions.service.PixelExtensions
# Google Assistant
PRODUCT_PRODUCT_PROPERTIES += ro.opa.eligible_device=true
# Lineage Health
include hardware/google/pixel/lineage_health/device.mk
# Linker config
PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS += \
device/google/gs201/linker.config.json
# Parts
PRODUCT_PACKAGES += \
GoogleParts
# Touch
include hardware/google/pixel/touch/device.mk

View File

@@ -1,10 +1,5 @@
{
"provideLibs": [
"liboemcrypto.so",
"lib_aion_buffer.so",
"libedgetpu_client.google.so",
"libedgetpu_tachyon.google.so",
"libedgetpu_util.so",
"libgxp.so"
"liboemcrypto.so"
]
}

175
location/gps.cer Normal file
View File

@@ -0,0 +1,175 @@
-----BEGIN CERTIFICATE-----
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1
nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex
t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz
SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG
BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+
rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/
NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv
MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE
p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y
5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK
WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ
4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N
hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
MrY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1
nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex
t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz
SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG
BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+
rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/
NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv
MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE
p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y
5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK
WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ
4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N
hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFZTCCA02gAwIBAgIPAWv6o5fPZQ5hxva1vuNrMA0GCSqGSIb3DQEBCwUAMDgx
CzAJBgNVBAYTAkpQMRcwFQYDVQQKDA5SYWt1dGVuIE1vYmlsZTEQMA4GA1UEAwwH
Um9vdCBDQTAeFw0xOTA3MTYxMTU1NDJaFw0yOTA3MTMxMTU1NDJaMD4xCzAJBgNV
BAYTAkpQMRcwFQYDVQQKEw5SYWt1dGVuIE1vYmlsZTEWMBQGA1UEAxMNREMgSXNz
dWluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAObjAbQ8TkzF
A+/WvSE6fzDf+rlvBKY1dJJbiJ2/j0lc+tj56dE7+BhZ2JVmAYIYfEoUw69dwxTR
44EdZln3ZVFmMuOdfxvF9A46pMKzH1skr8ErDgjNyJ9f/JOuQ29p/7BvLC55aRzk
yj99BYdzJWKs+5W7jQlv7/HyJ/PQ+rUEBOx4o/YiTucDFduWdV6/x5mcEbKD3ufL
66vUEf3MHGegDkOWAMTchl1RmaYDlf3IMsXC7M2bFPFa/9y/vzaaY6EhnJ861co6
rkOhTZe/kJZwqQYFmWczBPZK/9zRy3C1zA09tCBk+CDNBrNXe+3dMLFmnW4npxUQ
oceTPhaaDo5lA6HkkARwVWLrporFZ2B/th2Bqtu6uObLSB6JMA2jxmKwKukM8/jp
C9tKV9X03rHQIQultc63rivPdgQvqYgW1PVdzV1a3pZEMk5zv257+fxgfUGzfUh7
tx0OY+BkykSP6ZK/BsbI/BY+rsS0L/0lmC22NU1p+qVeN3ZRHoqntB+FymaBfQ3/
yfKkDNfnMua5GzLyyYGYUDDx71rtfrs3hGDiwjvE4B0IvsU0E7Oerk5gLqx8t0q/
MmhI+CJJS1bH2sRBMcqfRAv+eyByFsvLY7Er/ztveaabX9xEwyPNFOcU+SZMhipv
EUKmUcOAHxzx4HbYEFyM0Z7WgUdlTd1xAgMBAAGjZjBkMB8GA1UdIwQYMBaAFPUI
BlLFno+y5xdHlCX349iVyS75MB0GA1UdDgQWBBQzVhTSCf8F31Zf0Bu661qymMko
JzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkqhkiG9w0B
AQsFAAOCAgEADQEufjma/6fT/Do4Fh13lZhsowHSsGv5sFYly6224GsciE80ZwYg
R4EK/TAR0jorBXsu6sQc51pZ5SSHhIxfo2frfprTPaaWN6cZwfrb6UcnD/FaZ1jP
HzWrI3kRxG9JCDffzE8uMf8Rnc69n1j+TBerk4Ix3Zui2TaaF6LVceJ4RgeNkZl0
OFkGGFruHz/d83q7A6YjgN0iwMEabdtKH7Sq27LqGPeCS8NuGlrziNAxktdwaYlN
D5t6ntM/1nHYPmVqdioEU9vAnyB3BiXOlITPHEEMOSlItcUsJ6rN5DZJaJgkBxvN
Qdi6wmaDlxy8XFyy4KGFKWAl17FlfpqW5VtYQJ4aDpibGlGqamg0vm+IJDIGPlOs
KQcxG17cOw4MCflAtnzHKHBn52DegQKwxev2ZpqdwVw/NqPq0yTNEbCRqEyiq7+H
ljKEFiEjEjeXTcqR4DoCseA5UgcriuriV0OCvr8KTlviV4FEUu+IA9ut8YIvf2of
Zz0z8rO4H+Rb4tMi/yBRM09x3rEW4hXwO0qpCBNBa0wEJBxufF3f6l9efEle+YTR
XS92gutaoVluqMfRSJckjwWokToi32/FvF79guZymD0qHkOSi5dewsIW7zsdobvv
t2CWLfTAb9cx222ELBpVPkfcgUKfF4RCGWPzuAlK6OueuDrInOiz8ag=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFUjCCAzqgAwIBAgICBpAwDQYJKoZIhvcNAQELBQAwODELMAkGA1UEBhMCSlAx
FzAVBgNVBAoMDlJha3V0ZW4gTW9iaWxlMRAwDgYDVQQDDAdSb290IENBMB4XDTE5
MDcxNjEwNTkwMVoXDTM5MDcxNTEwNTkwMVowODELMAkGA1UEBhMCSlAxFzAVBgNV
BAoMDlJha3V0ZW4gTW9iaWxlMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAqiPMbNudotG8afkk5Fwo2QdDcFFmC+qGpGjw
yQs57QtGPRk1HsIhZFfr6zn8t1tZw6Zo+A0biFA7d2N93nYsseHBy/bZlhhOL+Js
Jb907UM09L5xaJIgnbFYVT1QjtB7ksLAy3rHpdSKiggfT1ynwM/u6wIdWRSx24QU
Vxpq5iFpVj041+/RnpCPASL5pSnbYZKQyOb/XsOaR+hz7aSjwiUzk2cRjAmRqYxY
qYVe135IAy377inJRtUPvi3IhtmUHJToiMLBH5tChkjkIpdRG1lVIj4vGdzrIb+Q
Kvg/k7BDVZ3sstsLvJ8evNonBzrqcr80ek/X+HFrgY/3M1VEru4ohLAiA877CuuG
UAfrxFh9qjP1yue+dlrQWk+WHMbGMzKI1zCKEMphJatyNHfpRtD8LUWtLV96DD78
qLwQwrSYrEMd2u/akeBFKINYWqpqkVBhSsV3eukXVIdSbtSAxZNv+4m6QddEcUvG
2ZLf+yCf2tl+LPGXNL08vwMVbQqcDw8m+nDP4vu0VUixddyoqnnDlWOoQESuQFQ1
IqYFQhRPs2dFRf5TJzkmbqRUXbaPxsrKGjTtVpPgENbv40nyRGyBbl1CzqpBFEp5
7w4MPYDIzWKYbRyCnUE5WScRBFmym7242KA3SOfkylzGMb8KGJxohVME+7oMbNf5
EjLWVgECAwEAAaNmMGQwHwYDVR0jBBgwFoAU9QgGUsWej7LnF0eUJffj2JXJLvkw
HQYDVR0OBBYEFPUIBlLFno+y5xdHlCX349iVyS75MA4GA1UdDwEB/wQEAwIBBjAS
BgNVHRMBAf8ECDAGAQH/AgEBMA0GCSqGSIb3DQEBCwUAA4ICAQCDGIeYrtivFt3p
8k5vXKFUT072C7wMvfrAGYCYgIdUthWCqJoMwnG3Fsg7Ngu70La7ESBzEKpnpPWz
eIdnREJkNP9iqiKHXnaUV2P/21AS1q6enVKBFOl7dYiVjqOZ+vac3a1UjLWkvm0g
x4sg/f3PpiEzZM7ecnQYk2wfMSq8Jw0w1Lf0SEeoYZTkf12cqSJVSa/G7gEdL/Cn
LO3yyBq0KPNdd87eIfvCLJj55UJ5dCr0JXRTUteBvJwflbPXmOqfI8fA05fwlJZS
o1SBpMI9cEBwaPXQM9CPNKaWLvyOR1KpviRzbCnaKf44Fs2OuZboo3avZrC9eUoU
HU2HKXRj8UMRlFeCdNugbOdGyK+CpXwMHVtIrtpf0iOUqo0rOekgnUSNi9qyjD1g
IV3Y/NLVl9fqe8q66IWUn8NYndxigMKWcMCBFUjfP0yMZeqSHFiIv7zk9PuV/62k
Yele7cK9iHnEUwWBj6VCEs6pZBS1QSmhRw3GWlSDc/gHXd38PG20zH7xg4z2H9Rc
Op9P1ZW2kjqv5D2+q/qtaePAyHn3B05UZrQYUmx7LaHNO7op6dZgCdoR0sVsR+Fc
Zyr0AhgiuTWrjtUEOGx2qJVwAsHkpqtlN+DaGT08dT64LvIf0bfGvmtm++/WEDWJ
HInwg85pGm+sEkYbYFRBD0woPBsL3g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
DXZDjC5Ty3zfDBeWUA==
-----END CERTIFICATE-----

97
manifest-gralloc3.xml Normal file
View File

@@ -0,0 +1,97 @@
<manifest version="1.0" type="device" target-level="7">
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>2.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMemtrack</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.drm</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ICryptoFactory</name>
<instance>default</instance>
</interface>
<interface>
<name>IDrmFactory</name>
<instance>default</instance>
</interface>
<fqname>@1.3::ICryptoFactory/clearkey</fqname>
<fqname>@1.3::IDrmFactory/clearkey</fqname>
<fqname>@1.3::ICryptoFactory/widevine</fqname>
<fqname>@1.3::IDrmFactory/widevine</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.dumpstate</name>
<interface>
<name>IDumpstateDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth.audio</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBluetoothAudioProvidersFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>android.hardware.boot</name>
<fqname>IBootControl/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISensors</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
<fqname>@1.3::IDevice/google-edgetpu</fqname>
</hal>
<hal format="aidl">
<name>vendor.google.google_battery</name>
<version>2-3</version>
<interface>
<name>IGoogleBattery</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

15
manifest.xml Normal file
View File

@@ -0,0 +1,15 @@
<manifest version="1.0" type="device" target-level="7">
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>4.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>android.hardware.boot</name>
<fqname>IBootControl/default</fqname>
</hal>
</manifest>

20
manifest_media.xml Normal file
View File

@@ -0,0 +1,20 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IComponentStore</name>
<instance>default1</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

11
manifest_media_aosp.xml Normal file
View File

@@ -0,0 +1,11 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

53
manifest_radio_ds.xml Normal file
View File

@@ -0,0 +1,53 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@1.2::ISap/slot1</fqname>
<fqname>@1.2::ISap/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.config</name>
<fqname>IRadioConfig/default</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.data</name>
<fqname>IRadioData/slot1</fqname>
<fqname>IRadioData/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.messaging</name>
<fqname>IRadioMessaging/slot1</fqname>
<fqname>IRadioMessaging/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.modem</name>
<fqname>IRadioModem/slot1</fqname>
<fqname>IRadioModem/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.network</name>
<fqname>IRadioNetwork/slot1</fqname>
<fqname>IRadioNetwork/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.sim</name>
<fqname>IRadioSim/slot1</fqname>
<fqname>IRadioSim/slot2</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.radio.voice</name>
<fqname>IRadioVoice/slot1</fqname>
<fqname>IRadioVoice/slot2</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.secure_element</name>
<transport>hwbinder</transport>
<fqname>@1.2::ISecureElement/SIM1</fqname>
<fqname>@1.2::ISecureElement/SIM2</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
<transport>hwbinder</transport>
<fqname>@1.1::IOemSlsiRadioExternal/rilExternal</fqname>
</hal>
</manifest>

82
media_codecs.xml Normal file
View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2012 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.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<MediaCodecs>
<Include href="media_codecs_google_telephony.xml" />
</MediaCodecs>

251
media_codecs_aosp_c2.xml Normal file
View File

@@ -0,0 +1,251 @@
<?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.
-->
<MediaCodecs>
<Settings>
<Setting name="supports-multiple-secure-codecs" value="true" />
<Setting name="supports-secure-with-non-secure-codec" value="true" />
</Settings>
<Decoders>
<MediaCodec name="c2.exynos.h264.decoder" type="video/avc">
<Limit name="size" min="32x32" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.h264.decoder.secure" type="video/avc">
<Limit name="size" min="32x32" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="2" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.decoder" type="video/hevc" >
<Limit name="size" min="64x64" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32640" />
<Limit name="blocks-per-second" min="1" max="3916800" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.decoder.secure" type="video/hevc" >
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="2" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.decoder" type="video/mp4v-es">
<Limit name="size" min="32x32" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-16384" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1280x720" range="240" />
<Limit name="performance-point-1920x1080" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.h263.decoder" type="video/3gpp">
<Limit name="size" min="32x32" max="2048x1152" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-9216" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1280x720" range="240" />
<Limit name="performance-point-1920x1080" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="32x32" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="64x64" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="64x64" />
<Limit name="block-count" range="1-2040" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="64x64" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="64x64" />
<Limit name="block-count" range="1-2040" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="2" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="low-latency" />
</MediaCodec>
</Decoders>
<Encoders>
<MediaCodec name="c2.exynos.h264.encoder" type="video/avc">
<Limit name="size" min="32x32" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" >
<Limit name="size" min="64x64" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="32x32" />
<Limit name="block-count" range="1-8160" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="57" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="hdr-editing" />
<Feature name="bitrate-modes" value="VBR,CBR,CQ,CBR-FD" />
</MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
<Limit name="size" min="32x32" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-16384" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1280x720" range="240" />
<Limit name="performance-point-1920x1080" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp">
<Limit name="size" min="32x32" max="2048x1152" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-9216" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1280x720" range="240" />
<Limit name="performance-point-1920x1080" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="32x32" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32400" />
<Limit name="blocks-per-second" min="1" max="3888000" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="64x64" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="64x64" />
<Limit name="block-count" range="1-2040" />
<Limit name="blocks-per-second" min="1" max="243000" />
<Limit name="bitrate" range="1-80000000" />
<Limit name="performance-point-1920x1080" range="240" />
<Limit name="performance-point-3840x2160" range="120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
</Encoders>
</MediaCodecs>

52
media_codecs_bo_c2.xml Normal file
View File

@@ -0,0 +1,52 @@
<?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.
-->
<MediaCodecs>
<Include href="media_codecs_aosp_c2.xml" />
<Include href="media_codecs_dolby_c2.xml" />
<Decoders>
<MediaCodec name="c2.google.av1.decoder" type="video/av01">
<Limit name="size" min="96x96" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-32400" />
<Limit name="blocks-per-second" min="24" max="1944000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="180" />
<Limit name="performance-point-1920x1079" value="120" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
<Limit name="size" min="96x96" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-32400" />
<Limit name="blocks-per-second" min="24" max="1944000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="180" />
<Limit name="performance-point-1920x1079" value="120" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 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.
-->
<MediaCodecs>
</MediaCodecs>

View File

@@ -0,0 +1,264 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 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.
-->
<MediaCodecs>
<Decoders>
<MediaCodec name="c2.exynos.h264.decoder" type="video/avc" update="true">
<!-- measured 90%:528-534 med:528 N=2 -->
<Limit name="measured-frame-rate-320x240" range="528-531" /> <!-- v90%=1.0 -->
<!-- measured 90%:550-560 med:551 N=2 -->
<Limit name="measured-frame-rate-720x480" range="550-555" /> <!-- v90%=1.0 -->
<!-- measured 90%:540-561 med:541 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="540-551" /> <!-- v90%=1.0 -->
<!-- measured 90%:409-413 med:410 N=2 -->
<Limit name="measured-frame-rate-1920x1088" range="409-411" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.h264.decoder.secure" type="video/avc" update="true">
<!-- measured 90%:528-534 med:528 N=2 -->
<Limit name="measured-frame-rate-320x240" range="528-531" /> <!-- v90%=1.0 -->
<!-- measured 90%:550-560 med:551 N=2 -->
<Limit name="measured-frame-rate-720x480" range="550-555" /> <!-- v90%=1.0 -->
<!-- measured 90%:540-561 med:541 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="540-551" /> <!-- v90%=1.0 -->
<!-- measured 90%:409-413 med:410 N=2 -->
<Limit name="measured-frame-rate-1920x1088" range="409-411" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.decoder" type="video/hevc" update="true">
<!-- measured 90%:529-530 med:529 N=2 -->
<Limit name="measured-frame-rate-352x288" range="1150-1250" /> <!-- v90%=1.0 -->
<!-- measured 90%:528-530 med:529 N=2 -->
<Limit name="measured-frame-rate-640x360" range="528-529" /> <!-- v90%=1.0 -->
<!-- measured 90%:546-549 med:546 N=2 -->
<Limit name="measured-frame-rate-720x480" range="546-548" /> <!-- v90%=1.0 -->
<!-- measured 90%:547-560 med:547 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="547-553" /> <!-- v90%=1.0 -->
<!-- measured 90%:569-574 med:570 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="569-572" /> <!-- v90%=1.0 -->
<!-- measured 90%:159-160 med:159 N=2 -->
<Limit name="measured-frame-rate-3840x2160" range="159-159" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.decoder.secure" type="video/hevc" update="true">
<!-- measured 90%:529-530 med:529 N=2 -->
<Limit name="measured-frame-rate-352x288" range="1150-1250" /> <!-- v90%=1.0 -->
<!-- measured 90%:528-530 med:529 N=2 -->
<Limit name="measured-frame-rate-640x360" range="528-529" /> <!-- v90%=1.0 -->
<!-- measured 90%:546-549 med:546 N=2 -->
<Limit name="measured-frame-rate-720x480" range="546-548" /> <!-- v90%=1.0 -->
<!-- measured 90%:547-560 med:547 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="547-553" /> <!-- v90%=1.0 -->
<!-- measured 90%:569-574 med:570 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="569-572" /> <!-- v90%=1.0 -->
<!-- measured 90%:159-160 med:159 N=2 -->
<Limit name="measured-frame-rate-3840x2160" range="159-159" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:527-537 med:528 N=2 -->
<Limit name="measured-frame-rate-176x144" range="527-532" /> <!-- v90%=1.0 -->
<!-- measured 90%:387-391 med:387 N=2 -->
<Limit name="measured-frame-rate-480x360" range="387-389" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.h263.decoder" type="video/3gpp" update="true">
<!-- measured 90%:521-541 med:521 N=2 -->
<Limit name="measured-frame-rate-176x144" range="1300-1400" /> <!-- v90%=1.0 -->
<!-- measured 90%:528-540 med:528 N=2 -->
<Limit name="measured-frame-rate-352x288" range="528-534" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:451-555 med:452 SLOW N=2 -->
<Limit name="measured-frame-rate-320x180" range="451-500" /> <!-- v90%=1.1 -->
<!-- measured 90%:486-504 med:486 N=2 -->
<Limit name="measured-frame-rate-640x360" range="486-495" /> <!-- v90%=1.0 -->
<!-- measured 90%:518-566 med:518 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="518-542" /> <!-- v90%=1.0 -->
<!-- measured 90%:386-387 med:386 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="386-386" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 90%:523-536 med:524 N=2 -->
<Limit name="measured-frame-rate-320x180" range="523-529" /> <!-- v90%=1.0 -->
<!-- measured 90%:503-506 med:504 N=2 -->
<Limit name="measured-frame-rate-640x360" range="503-505" /> <!-- v90%=1.0 -->
<!-- measured 90%:510-518 med:511 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="510-514" /> <!-- v90%=1.0 -->
<!-- measured 90%:349-351 med:350 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="349-350" /> <!-- v90%=1.0 -->
<!-- measured 90%:100-101 med:100 N=2 -->
<Limit name="measured-frame-rate-3840x2160" range="100-100" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 90%:523-536 med:524 N=2 -->
<Limit name="measured-frame-rate-320x180" range="523-529" /> <!-- v90%=1.0 -->
<!-- measured 90%:503-506 med:504 N=2 -->
<Limit name="measured-frame-rate-640x360" range="503-505" /> <!-- v90%=1.0 -->
<!-- measured 90%:510-518 med:511 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="510-514" /> <!-- v90%=1.0 -->
<!-- measured 90%:349-351 med:350 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="349-350" /> <!-- v90%=1.0 -->
<!-- measured 90%:100-101 med:100 N=2 -->
<Limit name="measured-frame-rate-3840x2160" range="100-100" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="1504-2256" />
<Limit name="measured-frame-rate-352x288" range="893-1339" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 90%:342-360 med:343 N=2 -->
<Limit name="measured-frame-rate-320x240" range="342-351" /> <!-- v90%=1.0 -->
<!-- measured 90%:142-147 med:143 N=2 -->
<Limit name="measured-frame-rate-720x480" range="142-145" /> <!-- v90%=1.0 -->
<!-- measured 90%:54-56 med:55 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="54-55" /> <!-- v90%=1.0 -->
<!-- measured 90%:25-26 med:26 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="25-26" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="583-674" />
<!-- measured 90%:196-207 med:196 N=2 -->
<Limit name="measured-frame-rate-640x360" range="196-201" /> <!-- v90%=1.0 -->
<!-- measured 90%:177-180 med:178 N=2 -->
<Limit name="measured-frame-rate-720x480" range="177-178" /> <!-- v90%=1.0 -->
<!-- measured 90%:81-82 med:82 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="81-82" /> <!-- v90%=1.0 -->
<!-- measured 90%:45-47 med:46 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="45-46" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="1215-1823" />
<Limit name="measured-frame-rate-480x360" range="830-1246" />
<Limit name="measured-frame-rate-1280x720" range="265-397" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="847-1271" />
<Limit name="measured-frame-rate-640x360" range="412-618" />
<Limit name="measured-frame-rate-1280x720" range="119-178" />
<Limit name="measured-frame-rate-1920x1080" range="47-70" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="622-934" />
<Limit name="measured-frame-rate-640x360" range="418-627" />
<Limit name="measured-frame-rate-1280x720" range="123-185" />
<Limit name="measured-frame-rate-1920x1080" range="75-112" />
</MediaCodec>
<MediaCodec name="c2.google.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="630-748" />
<Limit name="measured-frame-rate-640x360" range="586-700" />
<Limit name="measured-frame-rate-720x480" range="575-690" />
<Limit name="measured-frame-rate-1280x720" range="247-460" />
<Limit name="measured-frame-rate-1920x1080" range="219-252" />
</MediaCodec>
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="630-748" />
<Limit name="measured-frame-rate-640x360" range="586-700" />
<Limit name="measured-frame-rate-720x480" range="575-690" />
<Limit name="measured-frame-rate-1280x720" range="247-460" />
<Limit name="measured-frame-rate-1920x1080" range="219-252" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="358-383" />
<Limit name="measured-frame-rate-640x360" range="207-221" />
<Limit name="measured-frame-rate-720x480" range="106-148" />
<Limit name="measured-frame-rate-1280x720" range="65-71" />
</MediaCodec>
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="848-1033" />
<Limit name="measured-frame-rate-640x360" range="450-685" />
<Limit name="measured-frame-rate-720x480" range="406-484" />
<Limit name="measured-frame-rate-1280x720" range="148-187" />
</MediaCodec>
</Decoders>
<Encoders>
<MediaCodec name="c2.exynos.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="372-551" />
<Limit name="measured-frame-rate-720x480" range="221-308" />
<Limit name="measured-frame-rate-1280x720" range="151-190" />
<Limit name="measured-frame-rate-1920x1080" range="58-99" />
</MediaCodec>
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="371-553" />
<Limit name="measured-frame-rate-720x480" range="214-305" />
<Limit name="measured-frame-rate-1280x720" range="154-198" />
<Limit name="measured-frame-rate-1920x1080" range="46-97" />
</MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="380-566" />
<Limit name="measured-frame-rate-352x288" range="222-250" />
<Limit name="measured-frame-rate-640x480" range="103-124" />
</MediaCodec>
<MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="500-751" />
<Limit name="measured-frame-rate-352x288" range="236-355" />
<Limit name="measured-frame-rate-704x576" range="76-114" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="378-488" />
<Limit name="measured-frame-rate-640x360" range="267-351" />
<Limit name="measured-frame-rate-1280x720" range="113-170" />
<Limit name="measured-frame-rate-1920x1080" range="55-82" />
</MediaCodec>
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="302-453" />
<Limit name="measured-frame-rate-640x360" range="188-283" />
<Limit name="measured-frame-rate-1280x720" range="160-240" />
<Limit name="measured-frame-rate-1920x1080" range="100-151" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="1452-2178" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:345-350 med:345 N=2 -->
<Limit name="measured-frame-rate-320x240" range="345-347" /> <!-- v90%=1.0 -->
<!-- measured 90%:101-103 med:101 N=2 -->
<Limit name="measured-frame-rate-720x480" range="101-102" /> <!-- v90%=1.0 -->
<!-- measured 90%:54-55 med:54 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="54-54" /> <!-- v90%=1.0 -->
<!-- measured 90%:28-30 med:29 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="28-29" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<!-- measured 90%:61-65 med:62 N=8 -->
<Limit name="measured-frame-rate-320x240" range="50-80" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="1201-1801" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:49-87 med:50 SLOW N=2 -->
<Limit name="measured-frame-rate-320x180" range="394-395" /> <!-- v90%=1.3 -->
<!-- measured 90%:55-57 med:56 N=2 -->
<Limit name="measured-frame-rate-640x360" range="196-197" /> <!-- v90%=1.0 -->
<!-- measured 90%:34-35 med:34 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="34-34" /> <!-- v90%=1.0 -->
<!-- measured 90%:29-31 med:30 N=2 -->
<Limit name="measured-frame-rate-1920x1080" range="29-30" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="345-518" />
<Limit name="measured-frame-rate-640x360" range="91-136" />
<Limit name="measured-frame-rate-1280x720" range="24-36" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<!-- measured 90%:354-361 med:355 N=2 -->
<Limit name="measured-frame-rate-320x240" range="354-358" /> <!-- v90%=1.0 -->
<!-- measured 90%:81-85 med:81 N=2 -->
<Limit name="measured-frame-rate-720x480" range="81-83" /> <!-- v90%=1.0 -->
<!-- measured 90%:32-33 med:33 N=2 -->
<Limit name="measured-frame-rate-1280x720" range="32-33" /> <!-- v90%=1.0 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

895
media_profiles.xml Normal file
View File

@@ -0,0 +1,895 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 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.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<CamcorderProfiles cameraId="0">
<EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="3840"
height="2160"
frameRate="60" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="60" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="3840"
height="2160"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="42000000"
width="1920"
height="1080"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="1">
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="2">
<EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="3840"
height="2160"
frameRate="60" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="42000000"
width="1920"
height="1080"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="3">
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="4">
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="5">
<EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="3840"
height="2160"
frameRate="60" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="3840"
height="2160"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="42000000"
width="1920"
height="1080"
frameRate="240" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="6">
<EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="12000000"
width="1920"
height="1080"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="3000000"
width="720"
height="480"
frameRate="30" />
<!-- Audio settings are not used for timealpse video recording -->
<Audio codec="aac"
bitRate="96000"
sampleRate="16000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="3gp" />
<EncoderOutputFileFormat name="mp4" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<!--
FIXME : we only check Mpeg4 encorder cap and other codec doesn't check
codec cap
-->
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="12000000"
minFrameWidth="128" maxFrameWidth="3840"
minFrameHeight="96" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="1000000"
minFrameWidth="128" maxFrameWidth="1920"
minFrameHeight="96" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="128" maxFrameWidth="1920"
minFrameHeight="96" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="758" maxBitRate="288000"
minSampleRate="8000" maxSampleRate="48000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="aaceld" enabled="true"
minBitRate="16000" maxBitRate="192000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="5525" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<!--
FIXME:
We do not check decoder capabilities at present
At present, we only check whether windows media is visible
for TEST applications. For other applications, we do
not perform any checks at all.
-->
<VideoDecoderCap name="wmv" enabled="false"/>
<AudioDecoderCap name="wma" enabled="false"/>
</MediaSettings>

3
modem/userdebug.mk Normal file
View File

@@ -0,0 +1,3 @@
ifneq ($(BOARD_WITHOUT_RADIO),true)
PRODUCT_PACKAGES += vcd
endif

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 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.
*/
-->
<resources>
<!-- Don't enable BT until user wants it -->
<bool name="def_bluetooth_on">false</bool>
</resources>

View File

@@ -0,0 +1,7 @@
<resources>
<string-array name="logger_entries">
<item>shannondm</item>
<item>cnss_diag</item>
<item>brcm_gps</item>
</string-array>
</resources>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="config_logger_default_value" translatable="false">shannondm</string>
<string name="config_cfg_default_value" translatable="false">Built-in Mask #1</string>
<!-- default config file for cnss_diag logger -->
<string name="config_cfg_default_value_cnss_diag" translatable="false">cnss_diag.conf</string>
<!-- config file to enable brcm gps logger -->
<bool name="config_brcm_gps_enabled" translatable="false">true</bool>
</resources>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="config_message_no_message">
<item></item>
</string-array>
<string-array name="config_message_audio_warning">
<item>This will collect audio from your voice calls. Would you like to proceed?</item>
</string-array>
<string-array name="config_message_possible_audio_warning">
<item>This may collect audio from your voice calls. Would you like to proceed?</item>
<item>Pixel_Default.nprf</item>
<item>Built-in Mask #0</item>
<item>Built-in Mask #1</item>
<item>Built-in Mask #2</item>
<item>Built-in Mask #3</item>
</string-array>
<string name="config_privacy_warning_title">Privacy Warning</string>
<string name="default_config_selection_message">You are loading a user defined logging config. This may collect audio from your voice calls. Would you like to proceed?</string>
</resources>

View File

@@ -31,16 +31,6 @@
<!-- B y-intercept --> <item>-0.349361641294833436</item>
</string-array>
<!-- The fixed keyboard vibration strength in [0,1], or -1 to indicate the strength not fixed
and should depend on the touch feedback intensity user setting -->
<item name="config_keyboardHapticFeedbackFixedAmplitude" type="dimen">0.62</item>
<!-- Indicating if keyboard vibration settings supported or not. -->
<bool name="config_keyboardVibrationSettingsSupported">true</bool>
<!-- Indicating if ringtone vibration settings supported or not. -->
<bool name="config_ringtoneVibrationSettingsSupported">true</bool>
<!-- List of comma separated package names for which we the system will not show crash, ANR,
etc. dialogs. -->
<string translatable="false" name="config_appsNotReportingCrashes">com.google.android.euicc</string>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2021 The LineageOS 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="call_recording_enabled">true</bool>
<integer name="call_recording_audio_source">4</integer>
</resources>

View File

@@ -20,33 +20,28 @@
<item>connectivity_thermal_power_manager/apply_action_time_seconds=10</item>
<item>connectivity_thermal_power_manager/atm_power_threshold_mw=800</item>
<item>connectivity_thermal_power_manager/cellular_thermal_adaptive_thermal_status_adaptive_action_list=</item>
<item>connectivity_thermal_power_manager/criteria_1_enabled=true</item>
<item>connectivity_thermal_power_manager/criteria_4_enabled=true</item>
<item>connectivity_thermal_power_manager/criteria_4_lte_pref_mode=3</item>
<item>connectivity_thermal_power_manager/wifi_disconnected_time_seconds=180</item>
<item>connectivity_thermal_power_manager/wifi_internet_driven_endc_product_carrier_id_set=shiba,husky,akita,komodo,tokay,caiman,comet@1,1989,2023,2576,2067,2071,2073,2577,2522,2075,2578,2083,2433,1949</item>
<!-- Live Caption (Pixel 2017 + OEM) -->
<item>device_personalization_services/Captions__allow_box_x_axis_movement=true</item>
<item>device_personalization_services/Captions__allow_use_public_speech_recognition=true</item>
<item>device_personalization_services/Captions__allow_voip_call_without_audio_recording=true</item>
<item>device_personalization_services/Captions__available_for_download=en-US;en-GB;en-CA;en-IE;en-AU;en-SG;en-IN;fr-FR;fr-CA;fr-BE;fr-CH;it-IT;it-CH;de-DE;de-AT;de-BE;de-CH;ja-JP;es-ES;es-US;cmn-Hant-TW;hi-IN;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
<item>device_personalization_services/Captions__allow_voip_call_without_audio_recording=false</item>
<item>device_personalization_services/Captions__available_for_download=en-US;en-GB;en-CA;en-IE;en-AU;en-SG;en-IN;fr-FR;fr-CA;fr-BE;fr-CH;it-IT;it-CH;de-DE;de-AT;de-BE;de-CH;ja-JP;es-ES;es-US;cmn-Hant-TW;hi-IN</item>
<item>device_personalization_services/Captions__disable_prod=false</item>
<!-- <item>device_personalization_services/Captions__enable=false</item> -->
<item>device_personalization_services/Captions__enable_activation_boost=true</item>
<item>device_personalization_services/Captions__enable_adaptive_box_width=true</item>
<item>device_personalization_services/Captions__enable_augmented_modality=true</item>
<item>device_personalization_services/Captions__enable_augmented_modality_input=true</item>
<item>device_personalization_services/Captions__enable_augmented_modality_language_detection=true</item>
<item>device_personalization_services/Captions__enable_augmented_music=true</item>
<!-- <item>device_personalization_services/Captions__enable_clearcut_logging=true</item> -->
<item>device_personalization_services/Captions__enable_drag_and_double_tap_to_resize=true</item>
<item>device_personalization_services/Captions__enable_ec_integration=false</item>
<item>device_personalization_services/Captions__enable_drag_and_double_tap_to_resize=false</item>
<item>device_personalization_services/Captions__enable_language_detection=true</item>
<item>device_personalization_services/Captions__enable_one_caption_experiment=false</item>
<item>device_personalization_services/Captions__enable_punctuations=true</item>
<item>device_personalization_services/Captions__enable_setting_page=false</item>
<item>device_personalization_services/Captions__enable_survey=false</item>
<item>device_personalization_services/Captions__enable_text_transform=true</item>
<item>device_personalization_services/Captions__enable_westworld_logging=false</item>
<item>device_personalization_services/Captions__enable_zero_day=false</item>
@@ -56,9 +51,7 @@
<item>device_personalization_services/Captions__new_model_version=20210623</item>
<item>device_personalization_services/Captions__new_model_version_advanced_2022=20230807</item>
<item>device_personalization_services/Captions__speech_threshold=0.2</item>
<item>device_personalization_services/Captions__support_lang_id_disabled_after_dismissals=true</item>
<item>device_personalization_services/Captions__supported_languages=en-US;fr-FR;it-IT;de-DE;ja-JP;es-ES;cmn-Hant-TW;hi-IN;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
<item>device_personalization_services/Captions__supported_languages_beta_quality=ja-JP;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
<item>device_personalization_services/Captions__supported_languages=en-US;fr-FR;it-IT;de-DE;ja-JP;es-ES;cmn-Hant-TW;hi-IN</item>
<item>device_personalization_services/Captions__surface_sound_events=true</item>
<item>device_personalization_services/Captions__text_transform_augmented_input=true</item>
<item>device_personalization_services/Captions__visibility_playing_duration_millis=5000</item>
@@ -66,23 +59,12 @@
<!-- Now Playing (Pixel 2017) -->
<item>device_personalization_services/NowPlaying__ambient_music_apk_music_detector_min_score=0.45</item>
<item>device_personalization_services/NowPlaying__ambient_music_download_album_art_via_astrea=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_enable_resource_download_logging=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_enhanced_metadata_shards_manifest=4003:https://storage.googleapis.com/music-iq-db/updatable_db_v4/20241015-000033/manifest.json</item>
<item>device_personalization_services/NowPlaying__ambient_music_get_model_state_cooldown_seconds_cloud_search=9</item>
<item>device_personalization_services/NowPlaying__ambient_music_index_manifest_17_09_02=3105:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20241013-030037/manifest.json</item>
<item>device_personalization_services/NowPlaying__ambient_music_index_manifest_17_09_02=3082:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20240421-030101/manifest.json</item>
<item>device_personalization_services/NowPlaying__ambient_music_matcher_match_threshold_17_09_02=1.0E-6</item>
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_enabled=true</item>
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_music_confidence=0.48</item>
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_search_use_new_opt_in_flow=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_show_album_art=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_support_dsp_model_tflite_p6=true</item>
<item>device_personalization_services/NowPlaying__ambient_music_use_enhanced_matches_database=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_use_metadata_shards_database=false</item>
<item>device_personalization_services/NowPlaying__ambient_music_use_yt_domain_fife_urls=false</item>
<item>device_personalization_services/NowPlaying__cloud_api_allowed=true</item>
<item>device_personalization_services/NowPlaying__create_shortcut_on_np_enabled=false</item>
<item>device_personalization_services/NowPlaying__default_music_player_setting=false</item>
<item>device_personalization_services/NowPlaying__dsp_model_checksum_enabled=true</item>
<!-- <item>device_personalization_services/NowPlaying__enable_usage_fa=true</item> -->
<item>device_personalization_services/NowPlaying__favorites_enabled=true</item>
@@ -91,12 +73,11 @@
<item>device_personalization_services/NowPlaying__handle_ambient_music_results_with_history=true</item>
<item>device_personalization_services/NowPlaying__min_training_interval_millis=86400000</item>
<item>device_personalization_services/NowPlaying__nnfp_v3_model_enabled=true</item>
<item>device_personalization_services/NowPlaying__on_demand_enable_eager_prompt=false</item>
<item>device_personalization_services/NowPlaying__on_demand_enable_eager_prompt=true</item>
<item>device_personalization_services/NowPlaying__on_demand_fingerprinter_being_setup_warning=true</item>
<item>device_personalization_services/NowPlaying__on_demand_hide_if_fingerprinter_install_not_confirmed=true</item>
<item>device_personalization_services/NowPlaying__on_demand_min_supported_aga_version=12.35.17</item>
<item>device_personalization_services/NowPlaying__on_demand_retry_fingerprinter_install=true</item>
<item>device_personalization_services/NowPlaying__shortcut_direct_create_enabled=false</item>
<item>device_personalization_services/NowPlaying__youtube_export_enabled=true</item>
<!-- Adaptive Sound (Pixel 2020) -->
@@ -121,13 +102,11 @@
<item>device_personalization_services/Translate__differentiate_simplified_and_traditional_chinese=true</item>
<item>device_personalization_services/Translate__disable_translate_without_system_animation=false</item>
<item>device_personalization_services/Translate__enable_chronicle_migration=true</item>
<item>device_personalization_services/Translate__enable_default_langid_model=true</item>
<item>device_personalization_services/Translate__enable_default_langid_model=false</item>
<item>device_personalization_services/Translate__enable_dictionary_langid_detection=true</item>
<item>device_personalization_services/Translate__enable_opmv4_service=true</item>
<item>device_personalization_services/Translate__enable_settings_backup_restore=false</item>
<item>device_personalization_services/Translate__enable_setup_wizard_dialog_v2=false</item>
<item>device_personalization_services/Translate__enable_spa_setting=false</item>
<item>device_personalization_services/Translate__enable_translate_kit_api_migration=false</item>
<item>device_personalization_services/Translate__interpreter_source_languages=de,en,ja,es,fr,it</item>
<item>device_personalization_services/Translate__interpreter_target_languages=de,en,ja,es,fr,it</item>
<item>device_personalization_services/Translate__replace_auto_translate_copied_text_enabled=true</item>

View File

@@ -241,6 +241,12 @@
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
</string-array>
<!-- Should the pinner service pin the Home application? -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Bytes that the PinnerService will pin for WebView -->
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
<!-- The default intensity level for alarm vibrations. See
Settings.System.ALARM_VIBRATION_INTENSITY more details on the constant values and
meanings. -->
@@ -270,9 +276,6 @@
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
<bool name="config_zramWriteback">true</bool>
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">1024</integer>
<!-- List of system components which are allowed to receive ServiceState entries in an
un-sanitized form, even if the location toggle is off. This is intended ONLY for system
components, such as the telephony stack, which require access to the full ServiceState for
@@ -309,12 +312,4 @@
<!-- Pre-scale volume at volume step 3 for Absolute Volume -->
<fraction name="config_prescaleAbsoluteVolume_index3">100%</fraction>
<!-- Whether to enable usb state update via udc sysfs. -->
<bool name="config_enableUdcSysfsUsbStateUpdate">true</bool>
<!-- Whether to enable APDU sender optimization i.e. a logical channel is opened and
kept open for multiple APDU commands within one session.-->
<bool name="euicc_optimize_apdu_sender">true</bool>
</resources>
</resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* 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.
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
</resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* 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.
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
</resources>

View File

@@ -1,7 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2021 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2021 The LineageOS 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lineageos.settings"

View File

@@ -1,6 +1,17 @@
/*
* SPDX-FileCopyrightText: 2021 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
* Copyright (C) 2021 The LineageOS 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.
*/
package org.lineageos.settings;

View File

@@ -1,6 +1,17 @@
/*
* SPDX-FileCopyrightText: 2021 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
* Copyright (C) 2021 The LineageOS 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.
*/
package org.lineageos.settings;

42
pixelstats/Android.bp Normal file
View File

@@ -0,0 +1,42 @@
//
// Copyright (C) 2017 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.
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: [
"//device/google/gs201:device_google_gs201_license",
],
}
cc_binary {
name: "pixelstats-vendor",
init_rc: ["pixelstats-vendor.gs201.rc"],
srcs: [
"service.cpp",
],
shared_libs: [
"libbase",
"liblog",
"libutils",
"libpixelstats",
],
proprietary: true,
static_libs: ["chre_client"],
header_libs: ["chre_api"],
}

View File

@@ -0,0 +1,11 @@
on property:sys.boot_completed=1
chown system system /sys/class/power_supply/maxfg_base/fg_learning_events
chown system system /sys/class/power_supply/maxfg/fg_learning_events
start vendor.pixelstats_vendor
on post-fs-data
chown system system /sys/kernel/metrics/irq/stats_reset
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
group system context_hub readproc
disabled

123
pixelstats/service.cpp Normal file
View File

@@ -0,0 +1,123 @@
/*
* Copyright (C) 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.
*/
#define LOG_TAG "pixelstats"
#include <android-base/logging.h>
#include <pixelstats/SysfsCollector.h>
#include <pixelstats/UeventListener.h>
#include <thread>
#include <pixelstats/SysfsCollector.h>
#include <pixelstats/UeventListener.h>
using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener;
#define BLOCK_STATS_LENGTH 17
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
#define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type
const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
.SlowioUnmapCntPath = UFSHC_PATH(slowio_unmap_cnt),
.SlowioSyncCntPath = UFSHC_PATH(slowio_sync_cnt),
.CycleCountBinsPath = "/sys/class/power_supply/battery/cycle_counts",
.UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a),
.UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b),
.UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c),
.F2fsStatsPath = "/sys/fs/f2fs/",
.ImpedancePath = "/sys/devices/platform/audiometrics/speaker_impedance",
.CodecPath = "/sys/devices/platform/audiometrics/codec_state",
.EEPROMPath = "/dev/battery_history",
.MitigationPath = "/sys/devices/virtual/pmic/mitigation",
.MitigationDurationPath = "/sys/devices/virtual/pmic/mitigation/irq_dur_cnt",
.BrownoutReasonProp = "vendor.brownout_reason",
.BrownoutLogPath = "/data/vendor/mitigation/lastmeal.txt",
.SpeakerTemperaturePath = "/sys/devices/platform/audiometrics/speaker_temp",
.SpeakerExcursionPath = "/sys/devices/platform/audiometrics/speaker_excursion",
.SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat",
.UFSErrStatsPath = {
UFS_ERR_PATH(pa_err_count),
UFS_ERR_PATH(dl_err_count),
UFS_ERR_PATH(nl_err_count),
UFS_ERR_PATH(tl_err_count),
UFS_ERR_PATH(dme_err_count),
UFS_ERR_PATH(fatal_err_count),
UFS_ERR_PATH(auto_hibern8_err_count)
},
.BlockStatsLength = BLOCK_STATS_LENGTH,
.AmsRatePath = "/sys/devices/platform/audiometrics/ams_rate_read_once",
.MitigationPath = "/sys/devices/virtual/pmic/mitigation",
.ThermalStatsPaths = {
"/sys/devices/platform/100a0000.BIG/trip_counter",
"/sys/devices/platform/100a0000.MID/trip_counter",
"/sys/devices/platform/100a0000.LITTLE/trip_counter",
"/sys/devices/platform/100b0000.G3D/trip_counter",
"/sys/devices/platform/100b0000.TPU/trip_counter",
"/sys/devices/platform/100b0000.AUR/trip_counter",
},
.CCARatePath = "/sys/devices/platform/audiometrics/cca_count_read_once",
.TempResidencyAndResetPaths = {
{
"/sys/kernel/metrics/thermal/tr_by_group/tmu/stats",
"/sys/kernel/metrics/thermal/tr_by_group/tmu/stats_reset"
},
{
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats",
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset"
}
},
.ResumeLatencyMetricsPath = "/sys/kernel/metrics/resume_latency/resume_latency_metrics",
.LongIRQMetricsPath = "/sys/kernel/metrics/irq/long_irq_metrics",
.StormIRQMetricsPath = "/sys/kernel/metrics/irq/storm_irq_metrics",
.IRQStatsResetPath = "/sys/kernel/metrics/irq/stats_reset",
.ModemPcieLinkStatsPath = "/sys/devices/platform/11920000.pcie/link_stats",
.WifiPcieLinkStatsPath = "/sys/devices/platform/14520000.pcie/link_stats",
.GMSRPath = {
"/sys/class/power_supply/maxfg/gmsr",
"/sys/class/power_supply/maxfg_base/gmsr",
},
.TotalCallCountPath = "/sys/devices/platform/audiometrics/call_count"
};
const struct UeventListener::UeventPaths ueventPaths = {
.AudioUevent = "/devices/virtual/amcs/amcs",
.TypeCPartnerUevent = "PRODUCT_TYPE=",
.FGLearningPath = {
"/sys/class/power_supply/maxfg/fg_learning_events",
"/sys/class/power_supply/maxfg_base/fg_learning_events"
},
.FwUpdatePath = "",
.FGModelLoadingPath = {
"/sys/class/power_supply/maxfg/m5_model_state",
"/sys/class/power_supply/maxfg_base/m5_model_state"
}
};
int main() {
LOG(INFO) << "starting PixelStats";
UeventListener ueventListener(ueventPaths);
std::thread listenThread(&UeventListener::ListenForever, &ueventListener);
listenThread.detach();
SysfsCollector collector(sysfs_paths);
collector.collect(); // This blocks forever.
return 0;
}

47
powerstats/Android.bp Normal file
View File

@@ -0,0 +1,47 @@
// 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.
soong_namespace {
imports: [
"hardware/google/pixel",
"device/google/gs-common/powerstats",
],
}
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: [
"//device/google/gs201:device_google_gs201_license",
],
}
cc_library {
name: "android.hardware.power.stats-impl.gs201",
vendor_available: true,
export_include_dirs: ["include"],
defaults: ["powerstats_pixel_defaults"],
srcs: [
"*.cpp",
],
shared_libs: [
"android.hardware.power.stats-impl.gs-common",
"android.hardware.power.stats-impl.pixel",
],
}

View File

@@ -0,0 +1,663 @@
/*
* 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.
*/
#include <PowerStatsAidl.h>
#include <Gs201CommonDataProviders.h>
#include <AdaptiveDvfsStateResidencyDataProvider.h>
#include <AocTimedStateResidencyDataProvider.h>
#include <DevfreqStateResidencyDataProvider.h>
#include <DisplayMrrStateResidencyDataProvider.h>
#include <DvfsStateResidencyDataProvider.h>
#include <UfsStateResidencyDataProvider.h>
#include <dataproviders/GenericStateResidencyDataProvider.h>
#include <dataproviders/IioEnergyMeterDataProvider.h>
#include <dataproviders/PowerStatsEnergyConsumer.h>
#include <dataproviders/PowerStatsEnergyAttribution.h>
#include <dataproviders/PixelStateResidencyDataProvider.h>
#include <dataproviders/WlanStateResidencyDataProvider.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include <log/log.h>
using aidl::android::hardware::power::stats::AdaptiveDvfsStateResidencyDataProvider;
using aidl::android::hardware::power::stats::AocTimedStateResidencyDataProvider;
using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider;
using aidl::android::hardware::power::stats::DisplayMrrStateResidencyDataProvider;
using aidl::android::hardware::power::stats::DvfsStateResidencyDataProvider;
using aidl::android::hardware::power::stats::UfsStateResidencyDataProvider;
using aidl::android::hardware::power::stats::EnergyConsumerType;
using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider;
using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider;
using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider;
using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer;
using aidl::android::hardware::power::stats::WlanStateResidencyDataProvider;
// TODO (b/181070764) (b/182941084):
// Remove this when Wifi/BT energy consumption models are available or revert before ship
using aidl::android::hardware::power::stats::EnergyConsumerResult;
using aidl::android::hardware::power::stats::Channel;
using aidl::android::hardware::power::stats::EnergyMeasurement;
class PlaceholderEnergyConsumer : public PowerStats::IEnergyConsumer {
public:
PlaceholderEnergyConsumer(std::shared_ptr<PowerStats> p, EnergyConsumerType type,
std::string name) : kType(type), kName(name), mPowerStats(p), mChannelId(-1) {
std::vector<Channel> channels;
mPowerStats->getEnergyMeterInfo(&channels);
for (const auto &c : channels) {
if (c.name == "VSYS_PWR_WLAN_BT") {
mChannelId = c.id;
break;
}
}
}
std::pair<EnergyConsumerType, std::string> getInfo() override { return {kType, kName}; }
std::optional<EnergyConsumerResult> getEnergyConsumed() override {
int64_t totalEnergyUWs = 0;
int64_t timestampMs = 0;
if (mChannelId != -1) {
std::vector<EnergyMeasurement> measurements;
if (mPowerStats->readEnergyMeter({mChannelId}, &measurements).isOk()) {
for (const auto &m : measurements) {
totalEnergyUWs += m.energyUWs;
timestampMs = m.timestampMs;
}
} else {
LOG(ERROR) << "Failed to read energy meter";
return {};
}
}
return EnergyConsumerResult{.timestampMs = timestampMs,
.energyUWs = totalEnergyUWs>>1};
}
std::string getConsumerName() override {
return kName;
};
private:
const EnergyConsumerType kType;
const std::string kName;
std::shared_ptr<PowerStats> mPowerStats;
int32_t mChannelId;
};
void addPlaceholderEnergyConsumers(std::shared_ptr<PowerStats> p) {
p->addEnergyConsumer(
std::make_unique<PlaceholderEnergyConsumer>(p, EnergyConsumerType::WIFI, "Wifi"));
p->addEnergyConsumer(
std::make_unique<PlaceholderEnergyConsumer>(p, EnergyConsumerType::BLUETOOTH, "BT"));
}
void addAoC(std::shared_ptr<PowerStats> p) {
// When the given timeout is 0, the timeout will be replaced with "120ms * statesCount".
static const uint64_t TIMEOUT_MILLIS = 0;
// AoC clock is synced from "libaoc.c"
static const uint64_t AOC_CLOCK = 24576;
std::string prefix = "/sys/devices/platform/19000000.aoc/control/";
// Add AoC cores (a32, ff1, hf0, and hf1)
std::vector<std::pair<std::string, std::string>> coreIds = {
{"AoC-A32", prefix + "a32_"},
{"AoC-FF1", prefix + "ff1_"},
{"AoC-HF1", prefix + "hf1_"},
{"AoC-HF0", prefix + "hf0_"},
};
std::vector<std::pair<std::string, std::string>> coreStates = {
{"DWN", "off"}, {"RET", "retention"}, {"WFI", "wfi"}};
p->addStateResidencyDataProvider(std::make_unique<AocTimedStateResidencyDataProvider>(coreIds,
coreStates, TIMEOUT_MILLIS, AOC_CLOCK));
// Add AoC voltage stats
std::vector<std::pair<std::string, std::string>> voltageIds = {
{"AoC-Voltage", prefix + "voltage_"},
};
std::vector<std::pair<std::string, std::string>> voltageStates = {{"NOM", "nominal"},
{"SUD", "super_underdrive"},
{"UUD", "ultra_underdrive"},
{"UD", "underdrive"}};
p->addStateResidencyDataProvider(
std::make_unique<AocTimedStateResidencyDataProvider>(voltageIds, voltageStates,
TIMEOUT_MILLIS, AOC_CLOCK));
// Add AoC monitor mode
std::vector<std::pair<std::string, std::string>> monitorIds = {
{"AoC", prefix + "monitor_"},
};
std::vector<std::pair<std::string, std::string>> monitorStates = {
{"MON", "mode"},
};
p->addStateResidencyDataProvider(
std::make_unique<AocTimedStateResidencyDataProvider>(monitorIds, monitorStates,
TIMEOUT_MILLIS, AOC_CLOCK));
// Add AoC restart count
const GenericStateResidencyDataProvider::StateResidencyConfig restartCountConfig = {
.entryCountSupported = true,
.entryCountPrefix = "",
.totalTimeSupported = false,
.lastEntrySupported = false,
};
const std::vector<std::pair<std::string, std::string>> restartCountHeaders = {
std::make_pair("RESTART", ""),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
cfgs.emplace_back(
generateGenericStateResidencyConfigs(restartCountConfig, restartCountHeaders),
"AoC-Count", "");
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/19000000.aoc/restart_count", cfgs));
}
void addDvfsStats(std::shared_ptr<PowerStats> p) {
// A constant to represent the number of nanoseconds in one millisecond
const int NS_TO_MS = 1000000;
std::string path = "/sys/devices/platform/acpm_stats/fvp_stats";
std::vector<std::pair<std::string, std::string>> adpCfgs = {
std::make_pair("CL0", "/sys/devices/system/cpu/cpufreq/policy0/stats"),
std::make_pair("CL1", "/sys/devices/system/cpu/cpufreq/policy4/stats"),
std::make_pair("CL2", "/sys/devices/system/cpu/cpufreq/policy6/stats")
};
p->addStateResidencyDataProvider(std::make_unique<AdaptiveDvfsStateResidencyDataProvider>(
path, NS_TO_MS, adpCfgs));
std::vector<DvfsStateResidencyDataProvider::Config> cfgs;
cfgs.push_back({"TPU", {
std::make_pair("1066MHz", "1066000"),
std::make_pair("845MHz", "845000"),
std::make_pair("627MHz", "627000"),
std::make_pair("401MHz", "401000"),
std::make_pair("226MHz", "226000"),
std::make_pair("0MHz", "0"),
}});
cfgs.push_back({"AUR", {
std::make_pair("1160MHz", "1160000"),
std::make_pair("750MHz", "750000"),
std::make_pair("373MHz", "373000"),
std::make_pair("178MHz", "178000"),
std::make_pair("0MHz", "0"),
}});
p->addStateResidencyDataProvider(std::make_unique<DvfsStateResidencyDataProvider>(
path, NS_TO_MS, cfgs));
}
void addSoC(std::shared_ptr<PowerStats> p) {
// A constant to represent the number of nanoseconds in one millisecond.
const int NS_TO_MS = 1000000;
// ACPM stats are reported in nanoseconds. The transform function
// converts nanoseconds to milliseconds.
std::function<uint64_t(uint64_t)> acpmNsToMs = [](uint64_t a) { return a / NS_TO_MS; };
const GenericStateResidencyDataProvider::StateResidencyConfig lpmStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "success_count:",
.totalTimeSupported = true,
.totalTimePrefix = "total_time_ns:",
.totalTimeTransform = acpmNsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_entry_time_ns:",
.lastEntryTransform = acpmNsToMs,
};
const GenericStateResidencyDataProvider::StateResidencyConfig downStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "down_count:",
.totalTimeSupported = true,
.totalTimePrefix = "total_down_time_ns:",
.totalTimeTransform = acpmNsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_down_time_ns:",
.lastEntryTransform = acpmNsToMs,
};
const GenericStateResidencyDataProvider::StateResidencyConfig reqStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "req_up_count:",
.totalTimeSupported = true,
.totalTimePrefix = "total_req_up_time_ns:",
.totalTimeTransform = acpmNsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_req_up_time_ns:",
.lastEntryTransform = acpmNsToMs,
};
const std::vector<std::pair<std::string, std::string>> powerStateHeaders = {
std::make_pair("SICD", "SICD"),
std::make_pair("SLEEP", "SLEEP"),
std::make_pair("SLEEP_SLCMON", "SLEEP_SLCMON"),
std::make_pair("SLEEP_HSI1ON", "SLEEP_HSI1ON"),
std::make_pair("STOP", "STOP"),
};
const std::vector<std::pair<std::string, std::string>> mifReqStateHeaders = {
std::make_pair("AOC", "AOC"),
std::make_pair("GSA", "GSA"),
std::make_pair("TPU", "TPU"),
};
const std::vector<std::pair<std::string, std::string>> slcReqStateHeaders = {
std::make_pair("AOC", "AOC"),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
cfgs.emplace_back(generateGenericStateResidencyConfigs(lpmStateConfig, powerStateHeaders),
"LPM", "LPM:");
cfgs.emplace_back(generateGenericStateResidencyConfigs(downStateConfig, powerStateHeaders),
"MIF", "MIF:");
cfgs.emplace_back(generateGenericStateResidencyConfigs(reqStateConfig, mifReqStateHeaders),
"MIF-REQ", "MIF_REQ:");
cfgs.emplace_back(generateGenericStateResidencyConfigs(downStateConfig, powerStateHeaders),
"SLC", "SLC:");
cfgs.emplace_back(generateGenericStateResidencyConfigs(reqStateConfig, slcReqStateHeaders),
"SLC-REQ", "SLC_REQ:");
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/soc_stats", cfgs));
}
void setEnergyMeter(std::shared_ptr<PowerStats> p) {
std::vector<const std::string> deviceNames { "s2mpg12-odpm", "s2mpg13-odpm" };
p->setEnergyMeterDataProvider(std::make_unique<IioEnergyMeterDataProvider>(deviceNames, true));
}
void addCPUclusters(std::shared_ptr<PowerStats> p) {
// A constant to represent the number of nanoseconds in one millisecond.
const int NS_TO_MS = 1000000;
std::function<uint64_t(uint64_t)> acpmNsToMs = [](uint64_t a) { return a / NS_TO_MS; };
const GenericStateResidencyDataProvider::StateResidencyConfig cpuStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "down_count:",
.totalTimeSupported = true,
.totalTimePrefix = "total_down_time_ns:",
.totalTimeTransform = acpmNsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_down_time_ns:",
.lastEntryTransform = acpmNsToMs,
};
const std::vector<std::pair<std::string, std::string>> cpuStateHeaders = {
std::make_pair("DOWN", ""),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
for (std::string name : {"CORE00", "CORE01", "CORE02", "CORE03", "CORE10", "CORE11",
"CORE20", "CORE21", "CLUSTER0", "CLUSTER1", "CLUSTER2"}) {
cfgs.emplace_back(generateGenericStateResidencyConfigs(cpuStateConfig, cpuStateHeaders),
name, name);
}
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/core_stats", cfgs));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"}));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::CPU_CLUSTER, "CPUCL1", {"S3M_VDD_CPUCL1"}));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::CPU_CLUSTER, "CPUCL2", {"S2M_VDD_CPUCL2"}));
}
void addGPU(std::shared_ptr<PowerStats> p) {
// Add gpu energy consumer
std::map<std::string, int32_t> stateCoeffs;
// TODO (b/197721618): Measuring the GPU power numbers
stateCoeffs = {
{"202000", 890},
{"251000", 1102},
{"302000", 1308},
{"351000", 1522},
{"400000", 1772},
{"471000", 2105},
{"510000", 2292},
{"572000", 2528},
{"701000", 3127},
{"762000", 3452},
{"848000", 4044}};
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer(p,
EnergyConsumerType::OTHER, "GPU", {"S8S_VDD_G3D_L2", "S2S_VDD_G3D"},
{{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}},
stateCoeffs));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>("GPU",
"/sys/devices/platform/28000000.mali"));
}
void addMobileRadio(std::shared_ptr<PowerStats> p)
{
// A constant to represent the number of microseconds in one millisecond.
const int US_TO_MS = 1000;
// modem power_stats are reported in microseconds. The transform function
// converts microseconds to milliseconds.
std::function<uint64_t(uint64_t)> modemUsToMs = [](uint64_t a) { return a / US_TO_MS; };
const GenericStateResidencyDataProvider::StateResidencyConfig powerStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "count:",
.totalTimeSupported = true,
.totalTimePrefix = "duration_usec:",
.totalTimeTransform = modemUsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_entry_timestamp_usec:",
.lastEntryTransform = modemUsToMs,
};
const std::vector<std::pair<std::string, std::string>> powerStateHeaders = {
std::make_pair("SLEEP", "SLEEP:"),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
cfgs.emplace_back(generateGenericStateResidencyConfigs(powerStateConfig, powerStateHeaders),
"MODEM", "");
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/cpif/modem/power_stats", cfgs));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::MOBILE_RADIO, "MODEM",
{"VSYS_PWR_MODEM", "VSYS_PWR_RFFE", "VSYS_PWR_MMWAVE"}));
}
void addGNSS(std::shared_ptr<PowerStats> p)
{
// A constant to represent the number of microseconds in one millisecond.
const int US_TO_MS = 1000;
// gnss power_stats are reported in microseconds. The transform function
// converts microseconds to milliseconds.
std::function<uint64_t(uint64_t)> gnssUsToMs = [](uint64_t a) { return a / US_TO_MS; };
const GenericStateResidencyDataProvider::StateResidencyConfig gnssStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "count:",
.totalTimeSupported = true,
.totalTimePrefix = "duration_usec:",
.totalTimeTransform = gnssUsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_entry_timestamp_usec:",
.lastEntryTransform = gnssUsToMs,
};
const std::vector<std::pair<std::string, std::string>> gnssStateHeaders = {
std::make_pair("ON", "GPS_ON:"),
std::make_pair("OFF", "GPS_OFF:"),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
cfgs.emplace_back(generateGenericStateResidencyConfigs(gnssStateConfig, gnssStateHeaders),
"GPS", "");
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/dev/bbd_pwrstat", cfgs));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::GNSS, "GPS", {"L9S_GNSS_CORE"}));
}
void addPCIe(std::shared_ptr<PowerStats> p) {
// Add PCIe power entities for Modem and WiFi
const GenericStateResidencyDataProvider::StateResidencyConfig pcieStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "Cumulative count:",
.totalTimeSupported = true,
.totalTimePrefix = "Cumulative duration msec:",
.lastEntrySupported = true,
.lastEntryPrefix = "Last entry timestamp msec:",
};
const std::vector<std::pair<std::string, std::string>> pcieStateHeaders = {
std::make_pair("UP", "Link up:"),
std::make_pair("DOWN", "Link down:"),
};
// Add PCIe - Modem
const std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> pcieModemCfgs = {
{generateGenericStateResidencyConfigs(pcieStateConfig, pcieStateHeaders), "PCIe-Modem",
"Version: 1"}
};
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/11920000.pcie/power_stats", pcieModemCfgs));
// Add PCIe - WiFi
const std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> pcieWifiCfgs = {
{generateGenericStateResidencyConfigs(pcieStateConfig, pcieStateHeaders),
"PCIe-WiFi", "Version: 1"}
};
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/14520000.pcie/power_stats", pcieWifiCfgs));
}
void addWifi(std::shared_ptr<PowerStats> p) {
// The transform function converts microseconds to milliseconds.
std::function<uint64_t(uint64_t)> usecToMs = [](uint64_t a) { return a / 1000; };
const GenericStateResidencyDataProvider::StateResidencyConfig stateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "count:",
.totalTimeSupported = true,
.totalTimePrefix = "duration_usec:",
.totalTimeTransform = usecToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_entry_timestamp_usec:",
.lastEntryTransform = usecToMs,
};
const GenericStateResidencyDataProvider::StateResidencyConfig pcieStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "count:",
.totalTimeSupported = true,
.totalTimePrefix = "duration_usec:",
.totalTimeTransform = usecToMs,
.lastEntrySupported = false,
};
const std::vector<std::pair<std::string, std::string>> stateHeaders = {
std::make_pair("AWAKE", "AWAKE:"),
std::make_pair("ASLEEP", "ASLEEP:"),
};
const std::vector<std::pair<std::string, std::string>> pcieStateHeaders = {
std::make_pair("L0", "L0:"),
std::make_pair("L1", "L1:"),
std::make_pair("L1_1", "L1_1:"),
std::make_pair("L1_2", "L1_2:"),
std::make_pair("L2", "L2:"),
};
const std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs = {
{generateGenericStateResidencyConfigs(stateConfig, stateHeaders), "WIFI", "WIFI"},
{generateGenericStateResidencyConfigs(pcieStateConfig, pcieStateHeaders), "WIFI-PCIE",
"WIFI-PCIE"}
};
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>("/sys/wifi/power_stats",
cfgs));
}
void addWlan(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<WlanStateResidencyDataProvider>(
"WLAN",
"/sys/kernel/wifi/power_stats"));
}
void addUfs(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<UfsStateResidencyDataProvider>("/sys/bus/platform/devices/14700000.ufs/ufs_stats/"));
}
void addPowerDomains(std::shared_ptr<PowerStats> p) {
// A constant to represent the number of nanoseconds in one millisecond.
const int NS_TO_MS = 1000000;
std::function<uint64_t(uint64_t)> acpmNsToMs = [](uint64_t a) { return a / NS_TO_MS; };
const GenericStateResidencyDataProvider::StateResidencyConfig cpuStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "on_count:",
.totalTimeSupported = true,
.totalTimePrefix = "total_on_time_ns:",
.totalTimeTransform = acpmNsToMs,
.lastEntrySupported = true,
.lastEntryPrefix = "last_on_time_ns:",
.lastEntryTransform = acpmNsToMs,
};
const std::vector<std::pair<std::string, std::string>> cpuStateHeaders = {
std::make_pair("ON", ""),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
for (std::string name : {"pd-aur", "pd-tpu", "pd-bo", "pd-tnr", "pd-gdc", "pd-mcsc", "pd-itp",
"pd-ipp", "pd-g3aa", "pd-dns", "pd-pdp", "pd-csis",
"pd-mfc", "pd-g2d", "pd-disp", "pd-dpu", "pd-hsi0",
"pd-g3d", "pd-embedded_g3d", "pd-eh"}) {
cfgs.emplace_back(generateGenericStateResidencyConfigs(cpuStateConfig, cpuStateHeaders),
name, name + ":");
}
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/pd_stats", cfgs));
}
void addDevfreq(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"MIF",
"/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"INT",
"/sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"INTCAM",
"/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"DISP",
"/sys/devices/platform/17000040.devfreq_disp/devfreq/17000040.devfreq_disp"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CAM",
"/sys/devices/platform/17000050.devfreq_cam/devfreq/17000050.devfreq_cam"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"TNR",
"/sys/devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"MFC",
"/sys/devices/platform/17000070.devfreq_mfc/devfreq/17000070.devfreq_mfc"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"BO",
"/sys/devices/platform/17000080.devfreq_bo/devfreq/17000080.devfreq_bo"));
}
void addTPU(std::shared_ptr<PowerStats> p) {
std::map<std::string, int32_t> stateCoeffs;
stateCoeffs = {
// TODO (b/197721618): Measuring the TPU power numbers
{"226000", 10},
{"627000", 20},
{"845000", 30},
{"1066000", 40}};
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer(p,
EnergyConsumerType::OTHER, "TPU", {"S10M_VDD_TPU"},
{{UID_TIME_IN_STATE, "/sys/class/edgetpu/edgetpu-soc/device/tpu_usage"}},
stateCoeffs));
}
/**
* Unlike other data providers, which source power entity state residency data from the kernel,
* this data provider acts as a general-purpose channel for state residency data providers
* that live in user space. Entities are defined here and user space clients of this provider's
* vendor service register callbacks to provide state residency data for their given pwoer entity.
*/
void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p) {
auto pixelSdp = std::make_unique<PixelStateResidencyDataProvider>();
pixelSdp->addEntity("Bluetooth", {{0, "Idle"}, {1, "Active"}, {2, "Tx"}, {3, "Rx"}});
pixelSdp->start();
p->addStateResidencyDataProvider(std::move(pixelSdp));
}
void addCamera(std::shared_ptr<PowerStats> p) {
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(
p,
EnergyConsumerType::CAMERA,
"CAMERA",
{"VSYS_PWR_CAM"}));
}
void addDisplayMrrByEntity(std::shared_ptr<PowerStats> p, std::string name, std::string path) {
p->addStateResidencyDataProvider(std::make_unique<DisplayMrrStateResidencyDataProvider>(
name, path));
}
void addDisplayMrr(std::shared_ptr<PowerStats> p) {
addDisplayMrrByEntity(p, "Display", "/sys/class/drm/card0/device/primary-panel/");
}
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
setEnergyMeter(p);
addPixelStateResidencyDataProvider(p);
addAoC(p);
addDvfsStats(p);
addSoC(p);
addCPUclusters(p);
addGPU(p);
addMobileRadio(p);
addGNSS(p);
addPCIe(p);
addWifi(p);
addUfs(p);
addPowerDomains(p);
addDevfreq(p);
addTPU(p);
addCamera(p);
}
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path) {
const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = {
.entryCountSupported = true,
.entryCountPrefix = "Cumulative count:",
.totalTimeSupported = true,
.totalTimePrefix = "Cumulative duration msec:",
.lastEntrySupported = true,
.lastEntryPrefix = "Last entry timestamp msec:",
};
const std::vector<std::pair<std::string, std::string>> nfcStateHeaders = {
std::make_pair("IDLE", "Idle mode:"),
std::make_pair("ACTIVE", "Active mode:"),
std::make_pair("ACTIVE-RW", "Active Reader/Writer mode:"),
};
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
cfgs.emplace_back(generateGenericStateResidencyConfigs(nfcStateConfig, nfcStateHeaders),
"NFC", "NFC subsystem");
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
path, cfgs));
}

View File

@@ -0,0 +1,42 @@
/*
* 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.
*/
#pragma once
#include <PowerStatsAidl.h>
using aidl::android::hardware::power::stats::PowerStats;
void addAoC(std::shared_ptr<PowerStats> p);
void addCPUclusters(std::shared_ptr<PowerStats> p);
void addCamera(std::shared_ptr<PowerStats> p);
void addDevfreq(std::shared_ptr<PowerStats> p);
void addDisplayMrr(std::shared_ptr<PowerStats> p);
void addDisplayMrrByEntity(std::shared_ptr<PowerStats> p, std::string name, std::string path);
void addDvfsStats(std::shared_ptr<PowerStats> p);
void addGNSS(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p);
void addMobileRadio(std::shared_ptr<PowerStats> p);
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path);
void addPCIe(std::shared_ptr<PowerStats> p);
void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p);
void addPowerDomains(std::shared_ptr<PowerStats> p);
void addSoC(std::shared_ptr<PowerStats> p);
void addTPU(std::shared_ptr<PowerStats> p);
void addUfs(std::shared_ptr<PowerStats> p);
void addWifi(std::shared_ptr<PowerStats> p);
void addWlan(std::shared_ptr<PowerStats> p);
void setEnergyMeter(std::shared_ptr<PowerStats> p);

Some files were not shown because too many files have changed in this diff Show More