151 Commits

Author SHA1 Message Date
290b1191d5 Add my custom boot animation
Signed-off-by: MOVZX <movzx@yahoo.com>
2025-12-06 20:43:43 +07:00
e05397466a Add my signature
Signed-off-by: MOVZX <movzx@yahoo.com>
2025-12-06 20:43:38 +07:00
Joey
468d63fe4b release: Clean up Settings flags 2025-12-06 12:15:54 +09:00
Joey
c974706cc1 [TMP] config: Disable packages 2025-12-05 23:36:13 +09:00
Joey
7bb5e1e3ff Revert "kernel: Prevent creating any files in kernel platform source tree"
This reverts commit d31ef2798e.
2025-12-05 15:59:53 +09:00
ExtremeXT
f7112ea765 config: Enable background blur by default
Most devices will use this on Lineage 23.1.

Change-Id: I6d4c7aab0e2dbdeb9bba5a96cca2058e4f27e1b8
Signed-off-by: ExtremeXT <extremextdev@gmail.com>
2025-12-05 01:38:11 +09:00
aswin7469
4e83becd58 overlay: enable battery percentage settings 2025-12-05 01:38:11 +09:00
Joey
f4ebfb3595 aconfig: Disable flashlight strength 2025-12-05 01:38:11 +09:00
ralph950412
8f9a4aef96 aconfig: Update SystemUI flags 2025-12-05 01:38:11 +09:00
Joey
98b54570b1 Update default wallpaper from Pixel 10 Pro XL 2025-12-05 01:38:10 +09:00
aswin7469
0cfa2358f5 vendor: Enable double tap to sleep
* Note: Settings page has not been pushed to AOSP yet we are currently using
  reverse engineered one from Pixel stock rom
2025-12-05 01:38:10 +09:00
HELLBOY017
58aee5ff97 release: Disable enroll_layout_truncate_improvement
- This fixes the UDFPS overlay for devices with very low UDFPS positioning.
2025-12-05 01:38:10 +09:00
Joey
5836f5b336 aconfig: Add more configs and move all to bp3a
Co-authored-by: aswin7469 <aswinas@pixysos.com>
Co-authored-by: ralph950412 <ralph950412@gmail.com>
2025-12-05 01:38:10 +09:00
aswin7469
a3286043ad [TEST] Enable desktop mode in dev options
Signed-off-by: aswin7469 <aswinas@pixysos.com>
2025-12-05 01:38:10 +09:00
aswin7469
e0aa365242 overlay: Enable AOD wallpaper
Signed-off-by: aswin7469 <aswinas@pixysos.com>
2025-12-05 01:38:10 +09:00
aswin7469
852795d7cd device_config: enable new now playing QS tile and updated lockscreen UI
preview: https://t.me/aswinaskurup/729

Signed-off-by: aswin7469 <aswinas@pixysos.com>
2025-12-05 01:38:10 +09:00
aswin7469
7154928371 device_config: cleanup and update from 16 QPR2
* set only whatever we need gms will handle rest

Signed-off-by: aswin7469 <aswinas@pixysos.com>
2025-12-05 01:38:10 +09:00
minaripenguin
617abf6f79 config: Dexpreopt pixel launcher 2025-12-05 01:38:10 +09:00
rmp22
a506252889 config: add target_ims_override flag
Change-Id: Ib386515e21c6cabeb8c3bacd5b82f63e7796ef94
2025-12-05 01:38:10 +09:00
minaripenguin
d86bfcedb2 config: properties: Add pihooks default values
* A16 QPR2 Beta 3.3

Spoof BuildFingerprint as Pixel Beta

* It is necessary to pass integrity with the built-in Keybox Importer, as our stock fingerprint is not "Valid"

Co-authored-by: Joel Lucas <joelcba57@gmail.com>
Co-authored-by: Joey <joey@evolution-x.org>
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
Dhina17
0104cfec00 config: Build LMO systemui clock plugin
Change-Id: If4f6431bdbab5c9f4f75b8116d445a0f83c39ee9
2025-12-05 01:38:10 +09:00
rmp22
795f087501 config: disabling hwc composition strategy on perf anim targets
perfetto shows a lot of wasted time done on hwc composition strategy on mtk targets

Change-Id: I88c810c954ae689f5ecd5c8f03e5130c356ae631
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
Joey
45a21f0bc6 component-overrides: Add more google components 2025-12-05 01:38:10 +09:00
Pranav Vashi
31b7b1067c component-overrides: Force disable various google components [SQUASHED]
includes component-overrides: Force disable google settings intelligence injects

* Disables Charging Optimization which doesn't work without pixel framework support.

Fixes: https://github.com/crdroidandroid/issue_tracker/issues/791
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
e56843af91 config/common: preopt extracted apk always 2025-12-05 01:38:10 +09:00
Mathieu Chartier
776bd82df0 config/common: Reduce system server verbosity
Enable it only with user builds

Test: lunch statix_cannon-user && m
Change-Id: I58d2e993ae9a7213e94661d22b47c28b0a2243e8
Signed-off-by: Vaisakh Murali <mvaisakh@statixos.com>
Reviewed-on: https://review.statixos.com/c/android_vendor_statix/+/13531
2025-12-05 01:38:10 +09:00
Mathieu Chartier
16b35e6e3a config/common: Disable dexpreopt debug info on user builds
Test: lunch statix_cannon-user && m
Change-Id: I9e4b4c9907b92fea764cf07e218541bb33937b3c
Signed-off-by: Vaisakh Murali <mvaisakh@statixos.com>
Reviewed-on: https://review.statixos.com/c/android_vendor_statix/+/13530
2025-12-05 01:38:10 +09:00
minaripenguin
b3e62520de config: Load boot image profile from frameworks/base
[YAAP:] art boot image profile is only intended for thin art builds
without frameworks/base.

Change-Id: I60f3117c6ba948311af9f3fe048d0cf304fc283a
2025-12-05 01:38:10 +09:00
Pranav Vashi
2ac0769b34 vendor: Do not clone default AudioFX app
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
a808a8a010 config: adding flashlight strength flag
Change-Id: I69f051676d6e3048307c48aead46a1b04d7b872d
2025-12-05 01:38:10 +09:00
Ghosuto
2c3af1e115 release: Enable move_transition_animation_layer
- Enables moving the launching window on top of the origin window in the Animation library

Change-Id: I9b383064253cd44026932182161bfc96b36daeaf
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
2025-12-05 01:38:10 +09:00
minaripenguin
534d5801c8 aconfig: Disable FRP enforcement
Change-Id: I77f990d2187b4afa3d106a79361a8dc340d09065
2025-12-05 01:38:10 +09:00
rmp22
5cd0d3623d overlay: disable dreams feature
Change-Id: Iac6460e742aa11e175008db4b891d1b4768d5aec
2025-12-05 01:38:10 +09:00
Pranav Vashi
1e4f7d3e72 Revert "overlay: Default to Seedvault backup transport"
* If we never set up SeedVault, we get error notification every boot.

This reverts commit a88d06f120.
2025-12-05 01:38:10 +09:00
Pranav Vashi
5f81c82479 overlay: Drop now playing customization
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
46b9fd4783 vendor: overlay: enable ambient burn in protection
Change-Id: I479491bae09e089aba646ade34d7bff5d460e12f
2025-12-05 01:38:10 +09:00
Oliver Scott
fb8f289abf Disable nfc by default
Issue: calyxos#3038
Change-Id: Ifd8a9e4826b0c48c58d923086cf0aaea3e945722
2025-12-05 01:38:10 +09:00
minaripenguin
f811610942 overlay: frameworks: Suppress ASI system crash dialogs
* this issue started from u beta and some users on t also reported ASI crash upon reboot or so.  this is probably google side since the crash happens when ASI tries to update its text classifier flags but ended up triggering bad base-64 due to a bad/malformed string.

Change-Id: Id33679c48585ced550ba005ef99f19694bb27bf4
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
Henrique Silva
44bf8347de overlay: Don't warn user about FC in Google TTS
This happens on almost all FDE devices, I don't see any workaround other than hiding these dialogs
2025-12-05 01:38:10 +09:00
Danny Lin
7f203dc2d5 overlay: core: Suppress System UI ANRs
It looks like Android 12 qpr1 still has the bug where "System UI not
responding" dialogs appear sporadically after taking a screenshot. Just
suppress the ANRs for now.
2025-12-05 01:38:10 +09:00
Danny Lin
35c298e43d HACK: overlay: core: Suppress Intent Filter Verification Service crashes
Intent Filter Verification Service, the AOSP service that verifies
app link domains, is crashing for some users depending on their
installed apps. Temporarily suppress the crashes until we have a better
solution.
2025-12-05 01:38:10 +09:00
Joey Huab
a877ac06c0 config: Set new audio from mustang BD3A.250721.001.B7 as default 2025-12-05 01:38:10 +09:00
rmp22
b25a23be68 config: add PERF_ANIM_OVERRIDE flag
Change-Id: I7d264207abef968739b57c9fce19e8f65466ee8c
2025-12-05 01:38:10 +09:00
Adithya R
075cbb0cb9 overlay: SystemUI: Tune new biometric dialog UI
Change-Id: Idcc5995f657b61647facd8d147a346e4898d677a
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Saikrishna1504
3332d1eec0 build: Skip ABI Checks
Signed-off-by: Saikrishna1504 <saikrishna26918@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
2e6466b667 overlay: Enable split shade for notifications in landscape
default landscape is so ugly

Change-Id: Ida1fdc8199070ede063c394942cabdff1d7f4fb8
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
10bde2f98f release: Disable apply_picture_profiles
We do not have a media quality service set up yet.

Change-Id: If32e802eddac7464d98685f15aa86eb8f8228b6a
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
5716b2976e release: Generate themed/monochrome icons for all apps
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
fdf408879d release: Remove glanceable hub
Broken atm.

Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
29cf9b8f86 release: Remove some useless notification flags
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
801eba4fe6 release: Remove flag for using emphasized font family for shade header
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
c91e5c99b6 release: Remove glitchy depth push scaling effect
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
9ae27922de release: Disable lpp squeeze effect
Causes crash on power button hold when using assistant.

Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2025-12-05 01:38:10 +09:00
Sourajit Karmakar
b20e86e134 overlay: Make Google Sans the default headline font
Change-Id: I60fd95e4fa73335a01f187f74b7ded6bb16067ce
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
c6fcccfa76 component-overrides: Force disable various google components
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Abhay Singh Gill
3858954704 release: Disable codec_availability flags
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2025-12-05 01:38:10 +09:00
Joey Huab
5aee852fe3 vendor: Drop notification themed icons
* Users cannot distinguish each app from one another, apparently.
2025-12-05 01:38:10 +09:00
Dmitrii
f1c5b331e1 vendor: drop more launcher flags
expressive dimiss is bugged, and launcher icon shapes is unused
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
7b2ef349a3 vendor: drop more flags
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
c87a6a11cc build: Ship adb_root only WITH_SU
* TBH - hardly any user uses adb root.
* adb root poses root detection risks.
* Most devices are user or userbuild type.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
ahnet-69
7a32438b79 vendor: Disable thumbnail_block_model flag
Change-Id: Iebd8a44c2591031c02096402bcec8a513c1da1ac
Signed-off-by: Frost <frost.github@proton.me>
2025-12-05 01:38:10 +09:00
Vaisakh Murali
72fe2bbe21 release: Enable android.app flags
Change-Id: I9f3e4416ead6f65d138002775a29ad7b5498a651
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
77ca01550c release: more flag changes
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
dd9c62de14 release: enable more flags
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
4100b28494 release: drop low_light_clock_dream
06-24 16:53:23.418  2021  2021 E AndroidRuntime: java.lang.RuntimeException: Unable to create service com.google.android.systemui.lowlightclock.LowLightClockDreamService: java.lang.RuntimeException: Couldn't call constructor
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:5317)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2606)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:110)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:248)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:338)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:9102)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:598)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: Caused by: java.lang.RuntimeException: Couldn't call constructor
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at com.android.systemui.SystemUIAppComponentFactoryBase.instantiateService(go/retraceme 4d9244815cb2a8db26361f6e20f13b475cc86e8d80733cfefb09c7ddee4d5759:66)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:5274)
06-24 16:53:23.418  2021  2021 E AndroidRuntime: 	... 9 more
06-24 16:53:23.418  2021  2021 E AndroidRuntime: Caused by: java.lang.NoSuchMethodException: com.google.android.systemui.lowlightclock.LowLightClockDreamService.<init> []

Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
aeae0ff938 release: drop some flags
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
Dmitrii
252aceca30 release: drop new sb icons
buggy and dont work well with customizations atm
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-05 01:38:10 +09:00
ralph950412
4624998ca5 release: Enable WallpaperPicker2 flags
Change-Id: I7f389e8bdb6e9998681cf7abb561d5aaf6b8d909
2025-12-05 01:38:10 +09:00
ralph950412
c7ec8d9f43 release: Enable SystemUI flags (com.android.systemui.shared)
Change-Id: I7a4b4fa22e3f3c6f5b2eceea9e3fde573a937e9c
2025-12-05 01:38:10 +09:00
ralph950412
40c047dd71 release: Enable SystemUI flags
Change-Id: Id7b6b7ec61363c9a90a4354ec78215c7ce697652
2025-12-05 01:38:10 +09:00
ralph950412
f93d4358fb release: Enable SettingsLib flags
Change-Id: Ide729f28d84e05063b961c504e52dc2249febe98
2025-12-05 01:38:10 +09:00
ralph950412
85bd34fd5f release: Enable Settings flags
Change-Id: I4aacdc60d799a139941783dc69fd03cb591ec84a
2025-12-05 01:38:10 +09:00
ralph950412
39f86dd46b release: Enable Launcher3 flags
Change-Id: I06cb64470805c579619fe2512ae79d60a746d65c
2025-12-05 01:38:10 +09:00
techyminati
45b0046f10 config: Enable Material Design 3 Expressive
Change-Id: Ib6d3ac2e0f3d76768c508e1b00efc51e141c1b09
Signed-off-by: techyminati <sinha.aryan03@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
c5a68503f5 config: Add bypass charging prop
Change-Id: Iee2e99e9ec929221336fea361ab516b00f47bb7e
2025-12-05 01:38:10 +09:00
rmp22
45233f9a96 overlay: add applock whitelist
Change-Id: I491f05eb300285adf453d35954c35080ec1207cf
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
rmp22
37a1edce1e common: Disable art debug builds
Change-Id: I44e16c12c70e30dea8e85a9751cc94e4ff329898
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
Dyneteve
4472b9bb17 overlay: Allow ShannonIMS to access ServiceState
Change-Id: Ic43f212f81e6a53daf6879a7110effafbc000ec4
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
2025-12-05 01:38:10 +09:00
rmp22
82d8233997 overlay: Update circle to search overlays for vanilla builds
Change-Id: Id72c2e81494f793d773cfc5de24cb15eeaaaf5e9
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Ido Ben-Hur
01831af7c5 overlay: Enable circle to search 2025-12-05 01:38:10 +09:00
rmp22
8da4c728a3 Enable ThinLTO cache
Change-Id: I8438591a418fc4f9ce3ceead84cda9b6870758ff
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
rmp22
4526af71d3 build: Override host metadata
reference taken from
https://grapheneos.social/@GrapheneOS/113870255397154703

instead of fixed host number, use a random generated host number that follows google's host number format to bypass revolut's host checks

Change-Id: I72feafd663a551eb0c6c4146d52137ed0dc7456d
Co-authored-by: Terminator-J <terminator_j@hotbutteredmonkey.com>
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Terminator-J
ce2fb744bd kernel: Set "safe" default values for kernel build host & user
Take all the fun out of the game and set sanitized values by default.
2025-12-05 01:38:10 +09:00
Dyneteve
8c18a112eb overlay: Enable keyboard vibration
Change-Id: Ibb162e8ce74ce566f326b8d21951a3eaec0113d8
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
2025-12-05 01:38:10 +09:00
Dyneteve
1aa9e1b735 overlay: SystemUI: Add plugin whitelist
Change-Id: I38e6a5c5eb9ceaee13e0cd8ab1c3d858d72aa19c
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
2025-12-05 01:38:10 +09:00
John Galt
b6efc5314c DeviceConfig: drop smartspace flashlight action chip (again)
Accidentally made it back recently
2025-12-05 01:38:10 +09:00
John Galt
4d01d271b2 DeviceConfig: update nearby flags
Fixes gms find my device drain on some devices such as waffle, found
on new pixel configs
2025-12-05 01:38:10 +09:00
Pranav Vashi
ba368b5ffc config: Conditionally build ColumbusService
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
rmp22
50d522f2c0 Add option to ship viperfx
Change-Id: I35cea2206d098a53e03c54f462b59db991c891bb
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-05 01:38:10 +09:00
Asriadi Rahim
e436bc7cc1 vendor: Make BCR optional 2025-12-05 01:38:10 +09:00
tejas101k
0f348e887b config: Build Updater for all
* Local update could still be helpful
2025-12-05 01:38:10 +09:00
Danny Lin
275ad94659 config: Disable RescueParty
RescueParty's aggressive approach to error recovery almost never helps
with the problems we're likely to face, and its risk of data loss is far
too high. Force-disable it entirely and remove all other conditions,
especially those that depend on data integrity in the first place, to
reduce the risk of RescueParty triggering falsely and causing data loss.

Note that it is still possible to force-enable RescueParty for testing
purposes using the persist.sys.enable_rescue property.
2025-12-05 01:38:10 +09:00
Adithya R
7fb33c7705 config: Build LMO Freeform app and sidebar
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: GXC 2356 <gxcdev2356@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
a7b856f160 config: Build OmniJaws service
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
Pranav Vashi
8e6fd3b6ce config: Build OmniStyle
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
someone5678
e9feea68e2 config: Build BtHelper 2025-12-05 01:38:10 +09:00
Pranav Vashi
c8127f18b4 config: Build GameSpace
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:10 +09:00
minaripenguin
de16578c93 config: Build tensorflow lite jni
Signed-off-by: clarencelol <clarencekuiek@proton.me>
2025-12-05 01:38:10 +09:00
HeCheng Yu
fd6b758c7f config: Disable default frame rate limit for games
Android 15 limits refresh rate to 60hz for games unless we enable the developer option 'Disable default frame rate for games' manually.
Adding this prop enables it by default.
2025-12-05 01:38:10 +09:00
minaripenguin
acd412212e vendor: Introduce bootanimation styles [2/3]
vendor: Add more bootanimation styles [2/3]

vendor: Add ctOS bootanimation [2/3]

by benmeroff - https://xdaforums.com/t/boot-animation-ctos-boot-animation.2843830/

vendor: Add Evolution X Reveal boot animation [2/3]

vendor: Add more classic boot animation styles [2/3]

* Remove anniv bootanimation as it takes a lot of space.

Co-authored-by: 0xsharkboy <achille@0xsharkboy.dev>
Co-authored-by: AnierinB <anierin@evolution-x.org>
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: 0xsharkboy <achille@0xsharkboy.dev>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:09 +09:00
Andrzej Perczak
0c94a20103 common: Optimize Launcher3 and Settings for speed
Signed-off-by: Andrzej Perczak <linux@andrzejperczak.com>
2025-12-05 01:38:08 +09:00
someone5678
662ea9a755 config: props: Set default wifi country code
* To 00
* Make it overridable

Change-Id: I2025fc927363baf547b36ecd6ebe9c7fbc4d7611
2025-12-05 01:38:08 +09:00
Le Hong Duc
d3fd98698c config: Don't dexpreopt prebuilt apps
Pre-optimizing prebuilt Gapps is not needed because they are mostly
updated via Play Store and device will optimize them on install.

Save some space on /product partition and reduce build time.

Signed-off-by: Le Hong Duc <hongducthbk123@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
62720f5e8f common: Inherit pixel-fw when available
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
minaripenguin
21a84a750a config: Disable memtag for different processes
* it defaults to async if not specified

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
ShevT
1899bff18b config: Adding an option to build DeviceAsWebcam 2025-12-05 01:38:08 +09:00
Pranav Vashi
26ace7a660 overlay: Set AOSP webview as fallback
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
DarkJoker360
baa91d987e Drop custom adb drawable
Signed-off-by: DarkJoker360 <simoespo159@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Jyotiraditya Panda
369b1e1858 overlay: Update default keyguard affordance setup
- Left affordance: flashlight
 - Right affordance: camera

Change-Id: I3295007e351d6e17b6efb13cacd9665475f4f34a
Signed-off-by: Jyotiraditya Panda <jyotiraditya@aospa.co>
2025-12-05 01:38:08 +09:00
Adithya R
dee542ca66 overlay: Remove bouncer delay when face unlock is enabled
No idea why was this annoying thing made a "feature" in the first place.

Suggested-by: Omkar Chandorkar <gotenksIN@aospa.co>
Change-Id: Iefd47099c48586dd97644e90fadf93707617a74e
(cherry picked from commit ec3160865ccb36fb8c02a5f447f670b3176c0601)
Signed-off-by: clarencelol <clarencekuiek@proton.me>
2025-12-05 01:38:08 +09:00
someone5678
10d4d25906 overlay: device_config: Updates
From gms device config:
- textclassifier: set manifests + needed options
- window manager: set splash screen exemption list

Co-authored-by: John Galt <johngaltfirstrun@gmail.com>
Co-authored-by: Joey Huab <joey@evolution-x.org>
2025-12-05 01:38:08 +09:00
cyberknight777
226e98f24c overlay: device_config: Add values required for Speech Recognition
Dumped from whatever gms sets as a configurator
2025-12-05 01:38:08 +09:00
Ido Ben-Hur
5f61bbda29 overlay: device_config: Escape special characters 2025-12-05 01:38:08 +09:00
aswin7469
7a635e18dd overlay: device_config: animate navbar on long press
Signed-off-by: aswin7469 <aswinas@pixysos.com>
2025-12-05 01:38:08 +09:00
Ionut Gherman
51ee75ac8b overlay: update configs for AiAi
* taken from LineageOS/android_device_google_zumapro@9d1b0cf
Signed-off-by: Ionut Gherman <ghermanionut96@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
a62af4e9c5 overlay: Use google-sans for font config overlays
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
6482670328 overlay: Add gms location history to extra location packages
* From pixel dump. Suggested by @nikhilmenghani.
* Nikgapps will remove this overlay as it conflicts here.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
9213b1fc97 overlay: Add tethering to location exemption
Ref: 404b4778ec

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
a8297f94d2 overlay: Add SystemUI to location extra packages
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
d1426b7b86 overlay: Add OmniJaws to location extra packages
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Danny Lin
541502dcb2 overlay: Offload WM shell to another thread
Android 12 added this config to offload some window management to a
dedicated thread. Enable it to improve performance when the main System
UI thread is busy.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
623bf52db7 overlay: Update SettingsProvider defaults
* Reduce default screen off timeout to 30 sec.
* Turn on automation brightness mode by default.
* Turn on vibrate when ringing by default.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Pranav Vashi
155268d1d5 common: Allow OTA downgrade regardless build type
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-05 01:38:08 +09:00
Dhina17
5ff4b359e0 soong: Add libcameraservice extension config
Change-Id: Id20f782c1008fed1f15250129618326091f61bf8
2025-12-05 01:38:08 +09:00
Adithya R
0dad068ca4 soong: Add support for miui camera mode [2/2]
Change-Id: I0c912a1c7056bb204a24bd5f0a08308cae71f3f3
2025-12-05 01:38:08 +09:00
AnierinB
5b14df1236 soong: Conditionally spoof ro.product.first_api_level to 32 [1/2]
Devices that shipped on API 33 or higher need to set
ro.product.first_api_level to 32 in order to pass integrity.

Set SPOOF_FIRST_API_LEVEL_32 := true in BoardConfig*.mk to enable.

Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Jake Weinstein
497d0a9a0a soong: Add support to set vendor tag with client package name
* OEMs like OnePlus and Nothing detect camera package name to unlock features like 48mp.
* Use TARGET_CAMERA_PACKAGE_NAME to specify the package name.

Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
ponces
a55147194e evolution: Switch to AOSPA's face unlock implementation
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Dyneteve
0b46704bc0 overlay: Update device configs global overrides
Co-authored-by: Joey <joey@evolution-x.org>
Co-authored-by: AnierinB <anierin@evolution-x.org>
Co-authored-by: aswin7469 <aswinas@pixysos.com>
Co-authored-by: someone5678 <someone5678@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Dyneteve
e187f34e74 overlay: Allow new SystemUI clocks
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I51ab1eb06b1e77bd8048d5064f811e8e69884b24
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Danny Lin
18a2f3be24 overlay: Settings: Show memory usage in app info
The system tracks memory usage for each app, so we might as well show it
to the user so that users can track down which apps are hogging their
memory. This shouldn't be a developer-only feature that was previously
only exposed in Developer Options.

Change-Id: Ib900438f856369286b7621208020c5c8da73765f
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
aswin7469
e37930275b evolution: Enable Cloned App
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: John Galt <johngaltfirstrun@gmail.com>
Co-authored-by: minaripenguin <minaripenguin@users.noreply.github.com>

Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Pranav Vashi
857e22c812 overlay: Use google-sans for remaining font configs
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
AnierinB
2fb2ee0fae evolution: Configure support for Evolution X Vanilla
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
Dyneteve
9ec8ab7097 evolution: Inherit Pixel additions via WITH_GMS
* GMS
* Audio
* Charger
* RRO overlays

Co-authored-by: Joey <joey@evolution-x.org>
Co-authored-by: AnierinB <anierin@evolution-x.org>
Co-authored-by: someone5678 <nemui3353@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:38:08 +09:00
AnierinB
e1a53160e0 lineage: Initial Evolution X rebrand
Co-authored-by: Joey Huab <joey@evolution-x.org>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: Lup Gabriel <gwolf2u.website@gmail.com>
Co-authored-by: Hemant Sachdeva <hemant.evolver@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-05 01:37:40 +09:00
Joey Huab
c4f7580013 Revert "config: Use add_soong_config_namespace/add_soong_config_var macros"
This reverts commit c2dd68f84a.
2025-12-05 01:37:40 +09:00
Joey Huab
d9a39a25f4 Revert "Revert "Add product_launched_with_j{,_mr1,mr2}.mk""
This reverts commit e1e121bea4.
2025-12-05 01:37:40 +09:00
Joey Huab
163c0f77be Revert "bootanimation: Convert to Android.bp"
This reverts commit 3b29ed3826.
2025-12-05 01:37:40 +09:00
Joey Huab
af993abe8e Revert "charger: Convert to Android.bp"
This reverts commit b3e6f3ad7e.
2025-12-05 01:37:35 +09:00
Michael Bestas
d3ff888605 Disable yet another gms update component
Change-Id: If8104a9e75a6fdd46a7fb4da164c81fbdd5f748b
2025-12-04 16:20:38 +00:00
Thomas Makin
d31ef2798e kernel: Prevent creating any files in kernel platform source tree
Original command redirected output to the android build out. However, a
handful of configs were still generated in the source tree. Set the
bazel flag output_root to redirect these configs to the android build
out as well.

Change-Id: I5181270b773a49d74eab00b89eaaf1187471a144
2025-12-03 05:25:57 +00:00
Michael Bestas
d7666177e8 config: Add libzstd.so to artifact path requirement allowlist
Change-Id: Iddfde0fa355562c4d7f9596d4fc55eeeb0523888
2025-11-29 19:09:37 +02:00
Thomas Turner
2fad9fba44 soong: generator: Update for BP3A
Co-authored-by: ExtremeXT <extremextdev@gmail.com>
Change-Id: I9eea06a508d46d698e73cb27ef30b463acafacd6
Signed-off-by: ExtremeXT <extremextdev@gmail.com>
2025-11-29 19:09:37 +02:00
Michael Bestas
5052a73964 release: Drop remaining Pixel flags
These will just be moved to device trees.

Change-Id: I6892c3a6c79dc009e22a45a8917a0bfd5ca6bfb0
2025-11-29 19:09:37 +02:00
Michael Bestas
de0a1a1e67 vars: November 2025 Pixel Update
Change-Id: Icd39c36593a9b8be6cf69b982cdbbaa0b34938f2
2025-11-29 17:08:46 +00:00
Michael Bestas
137876a2aa vars: October 2025 Pixel Update
Change-Id: I335dd28820dacb90b005411524e16722864bb2d8
2025-11-29 17:08:46 +00:00
Michael Bestas
8d47278bd3 LineageOS 23.1
Change-Id: I8c50811d9e0871a5608e7296ee40ce71ed63b469
2025-11-29 17:08:46 +00:00
Michael Bestas
1bea6247d5 release: Bump aconfig flags extension to BP3A
Change-Id: I02ec4e8fec2946c6991b897337e59de01c01224f
2025-11-29 17:08:46 +00:00
Michael Bestas
412f513e14 vars: September 2025 Pixel Update
Change-Id: Id530a09f7ebcc9a255ec093f542943189e1163d3
2025-11-29 17:08:46 +00:00
Michael Bestas
026d9994ff vars: Update to BP3A
Change-Id: Ie845de380baccf4a580d51601f0c083caacb58c8
2025-11-29 17:08:46 +00:00
276 changed files with 2450 additions and 1029 deletions

View File

@@ -1,26 +1,2 @@
LineageOS Evolution X
=========== ===========
Getting started
---------------
Please see the [LineageOS Wiki](https://wiki.lineageos.org/) for building instructions, by device.
Submitting patches
------------------
Patches are always welcome! Please submit your patches via LineageOS Gerrit!
Simply follow our guide on [how to submit patches](https://wiki.lineageos.org/submitting-patch-howto.html).
To view the status of your and others' patches, visit [LineageOS Gerrit Code Review](https://review.lineageos.org/).
Buildbot
--------
All supported devices are built weekly and periodically as changes are committed to ensure the source trees remain buildable.
You can view the current build statuses at [LineageOS Buildkite](https://buildkite.com/lineageos).
Builds produced weekly by the buildbot can be downloaded from [LineageOS downloads](https://download.lineageos.org/).

View File

@@ -1,61 +0,0 @@
//
// SPDX-FileCopyrightText: The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
genrule {
name: "gen-bootanimation.zip",
tools: [
"mogrify",
"soong_zip",
],
tool_files: [
"bootanimation.tar",
"desc.txt",
"gen-bootanimation.sh",
],
out: ["bootanimation.zip"],
cmd: select((soong_config_variable("lineage_bootanimation", "height"),
soong_config_variable("lineage_bootanimation", "width"),
soong_config_variable("lineage_bootanimation", "half_res"),
soong_config_variable("lineage_bootanimation", "prebuilt_file")), {
(any @ height, any @ width, any @ half_res, any @ prebuilt_file):
"cp ../../../../../" + prebuilt_file + " $(out)",
(any @ height, any @ width, any @ half_res, default):
"$(location gen-bootanimation.sh)" +
" $(out)" +
" $(genDir)" +
" $(location bootanimation.tar)" +
" $(location desc.txt)" +
" $(location mogrify)" +
" $(location soong_zip)" +
" " + height +
" " + width +
" " + half_res,
(default, default, default, default):
"$(location gen-bootanimation.sh)" +
" $(out)" +
" $(genDir)" +
" $(location bootanimation.tar)" +
" $(location desc.txt)" +
" $(location mogrify)" +
" $(location soong_zip)" +
" 600" +
" 600" +
" false",
}),
}
prebuilt_media {
name: "bootanimation.zip",
src: ":gen-bootanimation.zip",
product_specific: true,
}
install_symlink {
name: "bootanimation-dark.zip",
product_specific: true,
installed_location: "media/bootanimation-dark.zip",
symlink_target: "bootanimation.zip",
}

72
bootanimation/Android.mk Normal file
View File

@@ -0,0 +1,72 @@
#
# Copyright (C) 2016 The CyanogenMod Project
# 2017-2024 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.
#
TARGET_GENERATED_BOOTANIMATION := $(TARGET_OUT_INTERMEDIATES)/BOOTANIMATION/bootanimation.zip
$(TARGET_GENERATED_BOOTANIMATION): INTERMEDIATES := $(call intermediates-dir-for,BOOTANIMATION,bootanimation)
$(TARGET_GENERATED_BOOTANIMATION): $(SOONG_ZIP)
@echo "Building bootanimation.zip"
@rm -rf $(dir $@)
@mkdir -p $(INTERMEDIATES)
$(hide) tar xfp vendor/lineage/bootanimation/bootanimation.tar -C $(INTERMEDIATES)
$(hide) if [ $(TARGET_SCREEN_HEIGHT) -lt $(TARGET_SCREEN_WIDTH) ]; then \
IMAGEWIDTH=$(TARGET_SCREEN_HEIGHT); \
else \
IMAGEWIDTH=$(TARGET_SCREEN_WIDTH); \
fi; \
IMAGESCALEWIDTH=$$IMAGEWIDTH; \
IMAGESCALEHEIGHT=$$(expr $$IMAGESCALEWIDTH / 3); \
if [ "$(TARGET_BOOTANIMATION_HALF_RES)" = "true" ]; then \
IMAGEWIDTH="$$(expr "$$IMAGEWIDTH" / 2)"; \
fi; \
IMAGEHEIGHT=$$(expr $$IMAGEWIDTH / 3); \
RESOLUTION="$$IMAGEWIDTH"x"$$IMAGEHEIGHT"; \
prebuilts/tools-lineage/${HOST_OS}-x86/bin/mogrify -resize $$RESOLUTION -colors 256 $(INTERMEDIATES)/*/*.png; \
echo "$$IMAGESCALEWIDTH $$IMAGESCALEHEIGHT 60" > $(INTERMEDIATES)/desc.txt; \
cat vendor/lineage/bootanimation/desc.txt >> $(INTERMEDIATES)/desc.txt
$(hide) $(SOONG_ZIP) -L 0 -o $@ -C $(INTERMEDIATES) -D $(INTERMEDIATES)
# Custom Boot Animation
CUSTOM_BOOTANIMATION := BootAnimations/bootanimation.zip
ifeq ($(TARGET_BOOTANIMATION),)
ifneq ($(wildcard $(CUSTOM_BOOTANIMATION)),)
TARGET_BOOTANIMATION := $(CUSTOM_BOOTANIMATION)
$(warning [BootAnimation] Custom global animation found at $(CUSTOM_BOOTANIMATION))
else
TARGET_BOOTANIMATION := $(TARGET_GENERATED_BOOTANIMATION)
$(warning [BootAnimation] Custom file not found. Falling back to default generation.)
endif
endif
include $(CLEAR_VARS)
LOCAL_MODULE := bootanimation.zip
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/media
include $(BUILD_SYSTEM)/base_rules.mk
$(LOCAL_BUILT_MODULE): $(TARGET_BOOTANIMATION)
@cp $(TARGET_BOOTANIMATION) $@
include $(CLEAR_VARS)
BOOTANIMATION_SYMLINK := $(TARGET_OUT_PRODUCT)/media/bootanimation-dark.zip
$(BOOTANIMATION_SYMLINK): $(LOCAL_INSTALLED_MODULE)
@mkdir -p $(dir $@)
$(hide) ln -sf bootanimation.zip $@
ALL_DEFAULT_INSTALLED_MODULES += $(BOOTANIMATION_SYMLINK)

Binary file not shown.

View File

@@ -1,56 +0,0 @@
#!/bin/bash -e
#
# Copyright (C) 2016 The CyanogenMod Project
# 2017-2024 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.
#
PARAM_OUT=$1
PARAM_GENDIR=$2
PARAM_BOOTANIMATION_TAR=$3
PARAM_DESC_TXT=$4
PARAM_MOGRIFY=$5
PARAM_SOONG_ZIP=$6
PARAM_TARGET_SCREEN_HEIGHT=$7
PARAM_TARGET_SCREEN_WIDTH=$8
PARAM_TARGET_BOOTANIMATION_HALF_RES=$9
INTERMEDIATES=$PARAM_GENDIR/intermediates
mkdir -p $INTERMEDIATES
tar xfp $PARAM_BOOTANIMATION_TAR -C $INTERMEDIATES
if [ $PARAM_TARGET_SCREEN_HEIGHT -lt $PARAM_TARGET_SCREEN_WIDTH ]; then
IMAGEWIDTH=$PARAM_TARGET_SCREEN_HEIGHT
else
IMAGEWIDTH=$PARAM_TARGET_SCREEN_WIDTH
fi
IMAGESCALEWIDTH=$IMAGEWIDTH
IMAGESCALEHEIGHT=$(expr $IMAGESCALEWIDTH / 3);
if [ "$PARAM_TARGET_BOOTANIMATION_HALF_RES" = "true" ]; then
IMAGEWIDTH="$(expr "$IMAGEWIDTH" / 2)"
fi
IMAGEHEIGHT=$(expr $IMAGEWIDTH / 3);
RESOLUTION="$IMAGEWIDTH"x"$IMAGEHEIGHT";
$PARAM_MOGRIFY -resize $RESOLUTION -colors 256 $INTERMEDIATES/*/*.png;
echo "$IMAGESCALEWIDTH $IMAGESCALEHEIGHT 60" > $INTERMEDIATES/desc.txt;
cat $PARAM_DESC_TXT >> $INTERMEDIATES/desc.txt
$PARAM_SOONG_ZIP -L 0 -o $PARAM_OUT -C $INTERMEDIATES -D $INTERMEDIATES

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,32 @@
#
# Copyright (C) 2023 The risingOS Android 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.
#
PRODUCT_SOONG_NAMESPACES += \
vendor/lineage/prebuilts
PRODUCT_COPY_FILES += \
vendor/lineage/bootanimation/prebuilts/bootanimation_aokp.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_aokp.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_cm.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_cm.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_ctos.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_ctos.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_cyberpunk.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_cyberpunk.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_du.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_du.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_evo_reveal.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_evo_reveal.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_google.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_google.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_google_monet.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_google_monet.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_pac.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_pac.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_rr.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_rr.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_slim.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_slim.zip \
vendor/lineage/bootanimation/prebuilts/bootanimation_valorant.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation_valorant.zip

View File

@@ -32,7 +32,7 @@ function brunch()
{ {
breakfast $* breakfast $*
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
mka bacon mka evolution
else else
echo "No such item in brunch menu. Try 'breakfast'" echo "No such item in brunch menu. Try 'breakfast'"
return 1 return 1
@@ -707,7 +707,7 @@ function cmka() {
if [ ! -z "$1" ]; then if [ ! -z "$1" ]; then
for i in "$@"; do for i in "$@"; do
case $i in case $i in
bacon|otapackage|systemimage) evolution|otapackage|systemimage)
mka installclean mka installclean
mka $i mka $i
;; ;;
@@ -1012,3 +1012,17 @@ function build_kernel() {
chmod -x "${target_kernel_dir}/"* chmod -x "${target_kernel_dir}/"*
echo "Kernel build output copied to ${target_kernel_dir}/" echo "Kernel build output copied to ${target_kernel_dir}/"
} }
function generate_host_overrides() {
export BUILD_USERNAME=android-build
HEX=$(openssl rand -hex 8)
ALPHA=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 4 | head -n 1)
export BUILD_HOSTNAME="r-${HEX}-${ALPHA}"
echo "BUILD_USERNAME=$BUILD_USERNAME"
echo "BUILD_HOSTNAME=$BUILD_HOSTNAME"
}
generate_host_overrides
export USE_THINLTO_CACHE=true
export SKIP_ABI_CHECKS=true

View File

@@ -108,3 +108,20 @@ cc_library_headers {
name: "prebuilt_kernel_headers", name: "prebuilt_kernel_headers",
defaults: ["prebuilt_kernel_header_defaults"], defaults: ["prebuilt_kernel_header_defaults"],
} }
soong_config_module_type {
name: "spoof_first_api_level_32",
module_type: "cc_defaults",
config_namespace: "lineageGlobalVars",
bool_variables: ["spoof_first_api_level_32"],
properties: ["cppflags"]
}
spoof_first_api_level_32 {
name: "spoof_first_api_level_32_defaults",
soong_config_variables: {
spoof_first_api_level_32: {
cppflags: ["-DSPOOF_FIRST_API_LEVEL_32"],
},
},
}

View File

@@ -151,8 +151,8 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
tool := ctx.OtherModuleName(module) tool := ctx.OtherModuleName(module)
var path android.OptionalPath var path android.OptionalPath
if t, ok := module.(HostToolProvider); ok { if t, ok := android.OtherModuleProvider(ctx, module, android.HostToolProviderInfoProvider); ok {
if !t.(android.Module).Enabled(ctx) { if !android.OtherModulePointerProviderOrDefault(ctx, module, android.CommonModuleInfoProvider).Enabled {
if ctx.Config().AllowMissingDependencies() { if ctx.Config().AllowMissingDependencies() {
ctx.AddMissingDependencies([]string{tool}) ctx.AddMissingDependencies([]string{tool})
} else { } else {
@@ -160,7 +160,7 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
} }
break break
} }
path = t.HostToolPath() path = t.HostToolPath
} else { } else {
ctx.ModuleErrorf("%q is not a host tool provider", tool) ctx.ModuleErrorf("%q is not a host tool provider", tool)
break break
@@ -188,7 +188,7 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
return return
} }
toolFiles := ctx.ExpandSources(g.properties.Tool_files, nil) toolFiles := android.PathsForModuleSrc(ctx, g.properties.Tool_files)
for _, tool := range toolFiles { for _, tool := range toolFiles {
g.implicitDeps = append(g.implicitDeps, tool) g.implicitDeps = append(g.implicitDeps, tool)
if _, exists := tools[tool.Rel()]; !exists { if _, exists := tools[tool.Rel()]; !exists {

View File

@@ -0,0 +1,2 @@
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 16

View File

@@ -0,0 +1,2 @@
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 17

View File

@@ -0,0 +1,2 @@
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 18

15
build/tasks/ascii_output.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
BLUE="\e[34m"
GREEN="\e[32m"
ENDCOLOR="\e[0m"
echo -e "${GREEN}===========================================================${ENDCOLOR}"
echo -e "${BLUE} ______ __ __ _ _ __ ${ENDCOLOR}"
echo -e "${BLUE} / ____/ ______ / /_ __/ /_(_)___ ____ | |/ / ${ENDCOLOR}"
echo -e "${BLUE} / __/ | | / / __ \/ / / / / __/ / __ \/ __ \ | / ${ENDCOLOR}"
echo -e "${BLUE} / /___ | |/ / /_/ / / /_/ / /_/ / /_/ / / / / / | ${ENDCOLOR}"
echo -e "${BLUE} /_____/ |___/\____/_/\__,_/\__/_/\____/_/ /_/ /_/|_| ${ENDCOLOR}"
echo -e "${BLUE} ${ENDCOLOR}"
echo -e "${BLUE}#KeepEvolving ${ENDCOLOR}"
echo -e "${GREEN}===========================================================${ENDCOLOR}"

View File

@@ -14,16 +14,19 @@
# limitations under the License. # limitations under the License.
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Lineage OTA update package # Evolution X OTA update package
LINEAGE_TARGET_PACKAGE := $(PRODUCT_OUT)/lineage-$(LINEAGE_VERSION).zip LINEAGE_TARGET_PACKAGE := $(PRODUCT_OUT)/$(LINEAGE_VERSION).zip
SHA256 := prebuilts/build-tools/path/$(HOST_PREBUILT_TAG)/sha256sum SHA256 := prebuilts/build-tools/path/$(HOST_PREBUILT_TAG)/sha256sum
$(LINEAGE_TARGET_PACKAGE): $(INTERNAL_OTA_PACKAGE_TARGET) $(LINEAGE_TARGET_PACKAGE): $(INTERNAL_OTA_PACKAGE_TARGET)
$(hide) ln -f $(INTERNAL_OTA_PACKAGE_TARGET) $(LINEAGE_TARGET_PACKAGE) $(hide) mv -f $(INTERNAL_OTA_PACKAGE_TARGET) $(LINEAGE_TARGET_PACKAGE)
$(hide) $(SHA256) $(LINEAGE_TARGET_PACKAGE) | sed "s|$(PRODUCT_OUT)/||" > $(LINEAGE_TARGET_PACKAGE).sha256sum $(hide) $(SHA256) $(LINEAGE_TARGET_PACKAGE) | sed "s|$(PRODUCT_OUT)/||" > $(LINEAGE_TARGET_PACKAGE).sha256sum
$(hide) ./vendor/lineage/build/tools/createjson.py $(TARGET_DEVICE) $(PRODUCT_OUT) $(LINEAGE_VERSION).zip $(TARGET_BUILD_VARIANT) $(WITH_GMS)
$(hide) rm -rf $(call intermediates-dir-for,PACKAGING,target_files)
$(hide) ./vendor/lineage/build/tasks/ascii_output.sh
@echo "Package Complete: $(LINEAGE_TARGET_PACKAGE)" >&2 @echo "Package Complete: $(LINEAGE_TARGET_PACKAGE)" >&2
.PHONY: bacon .PHONY: evolution
bacon: $(LINEAGE_TARGET_PACKAGE) $(DEFAULT_GOAL) evolution: $(LINEAGE_TARGET_PACKAGE) $(DEFAULT_GOAL)

View File

@@ -268,6 +268,11 @@ ifneq ($(TARGET_KERNEL_ADDITIONAL_FLAGS),)
KERNEL_MAKE_FLAGS += $(TARGET_KERNEL_ADDITIONAL_FLAGS) KERNEL_MAKE_FLAGS += $(TARGET_KERNEL_ADDITIONAL_FLAGS)
endif endif
# Custom Build User/Host
KERNEL_MAKE_FLAGS += KBUILD_BUILD_USER=MOVZX
KERNEL_MAKE_FLAGS += KBUILD_BUILD_HOST=Telegram.org
KERNEL_MAKE_FLAGS += KBUILD_BUILD_VERSION=666
# Internal implementation of make-kernel-target # Internal implementation of make-kernel-target
# $(1): output path (The value passed to O=) # $(1): output path (The value passed to O=)
# $(2): target to build (eg. defconfig, modules, dtbo.img) # $(2): target to build (eg. defconfig, modules, dtbo.img)

126
build/tools/createjson.py Executable file
View File

@@ -0,0 +1,126 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: 2025 The Evolution X Project
# SPDX-License-Identifier: Apache-2.0
import argparse
import os
import hashlib
import json
def generate_json(target_device, product_out, file_name, build_variant, with_gms):
output = os.path.join(product_out, f"{target_device}.json")
if os.path.exists(output):
os.remove(output)
android_version = file_name.split('-')[1].split('.')[0] + ("_vanilla" if with_gms == "false" else "")
existing_ota_json = os.path.join(f"./evolution/OTA{'-VANILLA' if with_gms == 'false' else ''}/builds", f"{target_device}.json")
maintainer = ""
currently_maintained = False
oem = ""
device = ""
forum = ""
firmware = ""
paypal = ""
github = ""
initial_installation_images = []
extra_images = []
if os.path.exists(existing_ota_json):
with open(existing_ota_json, 'r') as f:
ota_data = json.load(f)
response_data = ota_data["response"][0]
maintainer = response_data.get("maintainer", "")
currently_maintained = response_data.get("currently_maintained", False)
oem = response_data.get("oem", "")
device = response_data.get("device", "")
forum = response_data.get("forum", "")
firmware = response_data.get("firmware", "")
paypal = response_data.get("paypal", "")
github = response_data.get("github", "")
initial_installation_images = response_data.get("initial_installation_images", [])
extra_images = response_data.get("extra_images", [])
filename = file_name
if "Official" in file_name:
download = f"https://cdn.evolution-x.org/{target_device}/{android_version}/{file_name}/download"
else:
download = f"https://sourceforge.net/projects/your_unoffical_sourceforge_project/files/{target_device}/{android_version}/{file_name}/download"
version = file_name.split('-')[4]
buildprop = os.path.join(product_out, "system", "build.prop")
timestamp = get_timestamp_from_buildprop(buildprop)
md5 = get_checksum(os.path.join(product_out, file_name), 'md5')
sha256 = get_checksum(os.path.join(product_out, file_name), 'sha256')
size = os.path.getsize(os.path.join(product_out, file_name))
json_data = {
"response": [
{
"maintainer": maintainer,
"currently_maintained": currently_maintained,
"oem": oem,
"device": device,
"filename": filename,
"download": download,
"timestamp": timestamp,
"md5": md5,
"sha256": sha256,
"size": size,
"version": version,
"buildtype": build_variant,
"forum": f"{forum}" if forum else "",
"firmware": f"{firmware}" if firmware else "",
"paypal": f"{paypal}" if paypal else "",
"github": github,
"initial_installation_images": initial_installation_images,
"extra_images": extra_images
}
]
}
with open(output, 'w') as f:
json.dump(json_data, f, indent=2)
def get_timestamp_from_buildprop(buildprop_path):
with open(buildprop_path, 'r') as f:
for line in f:
if "ro.system.build.date.utc" in line:
return int(line.split('=')[1].strip())
return 0
def get_checksum(file_path, checksum_type='md5'):
if checksum_type == 'md5':
return calculate_md5(file_path)
elif checksum_type == 'sha256':
return calculate_sha256(file_path)
def calculate_md5(file_path):
hash_md5 = hashlib.md5()
with open(file_path, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()
def calculate_sha256(file_path):
hash_sha256 = hashlib.sha256()
with open(file_path, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_sha256.update(chunk)
return hash_sha256.hexdigest()
def main():
parser = argparse.ArgumentParser(description="Generate a JSON file for OTA.")
parser.add_argument("target_device", help="Target device name")
parser.add_argument("product_out", help="Product output directory")
parser.add_argument("file_name", help="File name for OTA")
parser.add_argument("build_variant", help="Build variant")
parser.add_argument("with_gms", help="Whether with GMS (true/false)")
args = parser.parse_args()
generate_json(args.target_device, args.product_out, args.file_name, args.build_variant, args.with_gms)
if __name__ == "__main__":
main()

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# Copyright (C) 2012-2013, The CyanogenMod Project # Copyright (C) 2012-2013, The CyanogenMod Project
# (C) 2017-2018,2020-2021, The LineageOS Project # (C) 2017-2018,2020-2021, The LineageOS Project
# (C) 2024, The Evolution X Project
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -16,11 +17,12 @@
from __future__ import print_function from __future__ import print_function
import base64
import glob import glob
import json import json
import netrc
import os import os
import re import re
import subprocess
import sys import sys
import urllib.error import urllib.error
import urllib.parse import urllib.parse
@@ -45,22 +47,38 @@ except:
device = product device = product
if not depsonly: if not depsonly:
print("Device %s not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS)." % device) print("Device %s not found. Attempting to retrieve device repository from Evolution-X-Devices Github (http://github.com/Evolution-X-Devices)." % device)
repositories = [] repositories = []
try:
authtuple = netrc.netrc().authenticators("api.github.com")
if authtuple:
auth_string = ('%s:%s' % (authtuple[0], authtuple[2])).encode()
githubauth = base64.encodestring(auth_string).decode().replace('\n', '')
else:
githubauth = None
except:
githubauth = None
def add_auth(githubreq):
if githubauth:
githubreq.add_header("Authorization","Basic %s" % githubauth)
if not depsonly: if not depsonly:
githubreq = urllib.request.Request("https://raw.githubusercontent.com/LineageOS/mirror/main/default.xml") githubreq = urllib.request.Request("https://api.github.com/search/repositories?q=%s+user:Evolution-X-Devices+in:name+fork:true" % device)
add_auth(githubreq)
try: try:
result = ElementTree.fromstring(urllib.request.urlopen(githubreq, timeout=10).read().decode()) result = json.loads(urllib.request.urlopen(githubreq, timeout=10).read().decode())
except urllib.error.URLError: except urllib.error.URLError:
print("Failed to fetch data from GitHub") print("Failed to search GitHub")
sys.exit(1) sys.exit(1)
except ValueError: except ValueError:
print("Failed to parse return data from GitHub") print("Failed to parse return data from GitHub")
sys.exit(1) sys.exit(1)
for res in result.findall('.//project'): for res in result.get('items', []):
repositories.append(res.attrib['name'][10:]) repositories.append(res)
local_manifests = r'.repo/local_manifests' local_manifests = r'.repo/local_manifests'
if not os.path.exists(local_manifests): os.makedirs(local_manifests) if not os.path.exists(local_manifests): os.makedirs(local_manifests)
@@ -100,12 +118,6 @@ def get_manifest_path():
except IndexError: except IndexError:
return ".repo/manifests/{}".format(m.find("include").get("name")) return ".repo/manifests/{}".format(m.find("include").get("name"))
def get_default_revision():
m = ElementTree.parse(get_manifest_path())
d = m.findall('default')[0]
r = d.get('revision')
return r.replace('refs/heads/', '').replace('refs/tags/', '')
def get_from_manifest(devicename): def get_from_manifest(devicename):
for path in glob.glob(".repo/local_manifests/*.xml"): for path in glob.glob(".repo/local_manifests/*.xml"):
try: try:
@@ -115,7 +127,7 @@ def get_from_manifest(devicename):
lm = ElementTree.Element("manifest") lm = ElementTree.Element("manifest")
for localpath in lm.findall("project"): for localpath in lm.findall("project"):
if re.search("android_device_.*_%s$" % device, localpath.get("name")): if re.search("device_.*_%s$" % device, localpath.get("name")):
return localpath.get("path") return localpath.get("path")
return None return None
@@ -154,6 +166,17 @@ def is_in_manifest(projectpath):
if localpath.get("path") == projectpath: if localpath.get("path") == projectpath:
return True return True
# ... and don't forget the evolution snippet
try:
lm = ElementTree.parse(".repo/manifests/snippets/evolution.xml")
lm = lm.getroot()
except:
lm = ElementTree.Element("manifest")
for localpath in lm.findall("project"):
if localpath.get("path") == projectpath:
return True
return False return False
def add_to_manifest(repositories): def add_to_manifest(repositories):
@@ -169,41 +192,45 @@ def add_to_manifest(repositories):
for repository in repositories: for repository in repositories:
repo_name = repository['repository'] repo_name = repository['repository']
repo_target = repository['target_path'] repo_target = repository['target_path']
repo_revision = repository['branch'] repo_remote = repository.get("remote", "evo-devices")
repo_revision = repository.get('revision')
if repo_remote != "evo-devices" and not repo_remote.startswith("aosp-"):
repo_revision = repo_revision or repository.get('branch') or get_default_or_fallback_revision(repo_name)
print('Checking if %s is fetched from %s' % (repo_target, repo_name)) print('Checking if %s is fetched from %s' % (repo_target, repo_name))
if is_in_manifest(repo_target): if is_in_manifest(repo_target):
print('LineageOS/%s already fetched to %s' % (repo_name, repo_target)) print('%s already fetched to %s' % (repo_name, repo_target))
continue continue
project = ElementTree.Element("project", attrib = { project_attrib = {
"path": repo_target, "path": repo_target,
"remote": "github", "name": repo_name,
"name": "LineageOS/%s" % repo_name, "remote": repo_remote,
"revision": repo_revision }) }
if repo_remote := repository.get("remote", None):
# aosp- remotes are only used for kernel prebuilts, thus they if repo_revision and not (repo_remote == "evo-devices" and repo_revision == get_default_or_fallback_revision(repo_name)):
# don't let you customize clone-depth/revision. project_attrib["revision"] = repo_revision
project = ElementTree.Element("project", attrib=project_attrib)
if repo_remote.startswith("aosp-"): if repo_remote.startswith("aosp-"):
project.attrib["name"] = repo_name project.set("clone-depth", "1")
project.attrib["remote"] = repo_remote project.attrib.pop('revision', None)
project.attrib["clone-depth"] = "1"
del project.attrib["revision"] print("Adding dependency: %s -> %s" % (repo_name, repo_target))
if project.attrib.get("revision", None) == get_default_revision():
del project.attrib["revision"]
print("Adding dependency: %s -> %s" % (project.attrib["name"], project.attrib["path"]))
lm.append(project) lm.append(project)
indent(lm, 0) indent(lm, 0)
raw_xml = ElementTree.tostring(lm).decode() raw_xml = ElementTree.tostring(lm).decode()
raw_xml = '<?xml version="1.0" encoding="UTF-8"?>\n' + raw_xml raw_xml = '<?xml version="1.0" encoding="UTF-8"?>\n' + raw_xml
f = open('.repo/local_manifests/roomservice.xml', 'w') with open('.repo/local_manifests/roomservice.xml', 'w') as f:
f.write(raw_xml) f.write(raw_xml)
f.close()
def fetch_dependencies(repo_path): def fetch_dependencies(repo_path):
print('Looking for dependencies in %s' % repo_path) print('Looking for dependencies in %s' % repo_path)
dependencies_path = repo_path + '/lineage.dependencies' dependencies_path = repo_path + '/evolution.dependencies'
syncable_repos = [] syncable_repos = []
verify_repos = [] verify_repos = []
@@ -244,38 +271,35 @@ def fetch_dependencies(repo_path):
for deprepo in verify_repos: for deprepo in verify_repos:
fetch_dependencies(deprepo) fetch_dependencies(deprepo)
def get_default_or_fallback_revision(repo_name): def get_remote_revision_from_snippet(snippet_path, remote_name):
default_revision = get_default_revision()
print("Default revision: %s" % default_revision)
print("Checking branch info")
try: try:
stdout = subprocess.run( tree = ElementTree.parse(snippet_path)
["git", "ls-remote", "-h", "https://:@github.com/LineageOS/" + repo_name], root = tree.getroot()
stdout=subprocess.PIPE, remote = root.find(f".//remote[@name='{remote_name}']")
stderr=subprocess.PIPE, if remote is not None:
).stdout.decode() revision = remote.get('revision')
branches = [x.split("refs/heads/")[-1] for x in stdout.splitlines()] return revision.split('/')[-1]
except: except FileNotFoundError:
return "" print(f"Error: {snippet_path} not found.")
raise
except ElementTree.ParseError:
print(f"Error: There was a problem parsing {snippet_path}.")
raise
raise ValueError(f"Remote {remote_name} not found in the snippet.")
def get_default_or_fallback_revision(repo_name):
default_revision = get_remote_revision_from_snippet(".repo/manifests/snippets/evolution.xml", "evo-devices")
print("Using default revision: %s" % default_revision)
fallback_revision = os.getenv('ROOMSERVICE_FALLBACK_REVISION')
if fallback_revision:
print("Using fallback revision from environment: %s" % fallback_revision)
return fallback_revision
if default_revision in branches:
return default_revision return default_revision
if os.getenv('ROOMSERVICE_BRANCHES'):
fallbacks = list(filter(bool, os.getenv('ROOMSERVICE_BRANCHES').split(' ')))
for fallback in fallbacks:
if fallback in branches:
print("Using fallback branch: %s" % fallback)
return fallback
print("Default revision %s not found in %s. Bailing." % (default_revision, repo_name))
print("Branches found:")
for branch in branches:
print(branch)
print("Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.")
return ""
if depsonly: if depsonly:
repo_path = get_from_manifest(device) repo_path = get_from_manifest(device)
if repo_path: if repo_path:
@@ -286,11 +310,12 @@ if depsonly:
sys.exit() sys.exit()
else: else:
for repo_name in repositories: for repository in repositories:
if re.match(r"^android_device_[^_]*_" + device + "$", repo_name): repo_name = repository['name']
print("Found repository: %s" % repo_name) if re.match(r"^device_[^_]*_" + device + "$", repo_name):
print("Found repository: %s" % repository['name'])
manufacturer = repo_name.replace("android_device_", "").replace("_" + device, "") manufacturer = repo_name.replace("device_", "").replace("_" + device, "")
repo_path = "device/%s/%s" % (manufacturer, device) repo_path = "device/%s/%s" % (manufacturer, device)
revision = get_default_or_fallback_revision(repo_name) revision = get_default_or_fallback_revision(repo_name)
if revision == "": if revision == "":
@@ -311,4 +336,4 @@ else:
print("Done") print("Done")
sys.exit() sys.exit()
print("Repository for %s not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml." % device) print("Repository for %s not found in the Evolution-X-Devices Github repository list. If this is an error, you may need to manually add it to your local_manifests/roomservice.xml." % device)

View File

@@ -1,85 +0,0 @@
//
// SPDX-FileCopyrightText: The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
lineage_charger_density = select(soong_config_variable("lineage_charger", "density"), {
any @ flag_val: flag_val,
default: "mdpi",
})
prebuilt_etc {
name: "lineage_charger_battery_scale",
filename: "battery_scale.png",
src: lineage_charger_density + "/battery_scale.png",
relative_install_path: "res/images/charger",
product_specific: true,
}
prebuilt_etc {
name: "lineage_charger_battery_scale_vendor",
filename: "battery_scale.png",
src: lineage_charger_density + "/battery_scale.png",
relative_install_path: "res/images/charger",
proprietary: true,
}
prebuilt_etc {
name: "lineage_charger_battery_fail",
filename: "battery_fail.png",
src: lineage_charger_density + "/battery_fail.png",
relative_install_path: "res/images/charger",
product_specific: true,
}
prebuilt_etc {
name: "lineage_charger_battery_fail_vendor",
filename: "battery_fail.png",
src: lineage_charger_density + "/battery_fail.png",
relative_install_path: "res/images/charger",
proprietary: true,
}
prebuilt_etc {
name: "lineage_charger_font",
filename: "percent_font.png",
src: lineage_charger_density + "/percent_font.png",
relative_install_path: "res/images/charger",
product_specific: true,
}
prebuilt_etc {
name: "lineage_charger_font_vendor",
filename: "percent_font.png",
src: lineage_charger_density + "/percent_font.png",
relative_install_path: "res/images/charger",
proprietary: true,
}
prebuilt_etc {
name: "lineage_charger_animation",
filename: "animation.txt",
required: [
"lineage_charger_battery_fail",
"lineage_charger_battery_scale",
"lineage_charger_font",
],
src: "animation.txt",
relative_install_path: "res/values/charger",
product_specific: true,
}
prebuilt_etc {
name: "lineage_charger_animation_vendor",
filename: "animation.txt",
required: [
"lineage_charger_battery_fail_vendor",
"lineage_charger_battery_scale_vendor",
"lineage_charger_font_vendor",
],
src: "animation.txt",
relative_install_path: "res/values/charger",
proprietary: true,
}

View File

@@ -1,31 +0,0 @@
# animation: num_cycles, first_frame_repeats, animation_file
animation: 7 1 charger/battery_scale
# percent_display: text_percent_pos_x, text_percent_pos_y, color_r, color_g, color_b, color_a, font_file
percent_display: c c 255 255 255 255 charger/percent_font
fail: charger/battery_fail
# frame: disp_time min_level max_level
frame: 500 0 4
frame: 500 0 9
frame: 500 5 14
frame: 500 10 19
frame: 500 15 24
frame: 500 20 29
frame: 500 25 34
frame: 500 30 39
frame: 500 35 44
frame: 500 40 49
frame: 500 45 54
frame: 500 50 59
frame: 500 55 64
frame: 500 60 69
frame: 500 65 74
frame: 500 70 79
frame: 500 75 84
frame: 500 80 89
frame: 500 85 94
frame: 500 90 99
frame: 500 95 99
frame: 1000 100 100

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,28 +0,0 @@
#!/bin/bash
if [ -z "$(which convert)" ] || [ -z "$(which pngcrush)" ]; then
echo "Please install imagemagick and pngcrush"
exit 1
fi
for DENSITY in mdpi:160 hdpi:240 xhdpi:320 xxhdpi:480 xxxhdpi:640; do
DPI=$(echo $DENSITY | cut -f1 -d ':')
WIDTH=$(echo $DENSITY | cut -f2 -d ':')
rm $DPI/battery_fail.png
rm $DPI/battery_scale.png
for SVG in svg/*.svg; do
PNG="$DPI/$(basename $SVG | cut -f1 -d '.').png"
convert -density $WIDTH -resize ${WIDTH}x${WIDTH} $SVG png24:$PNG
done
SCALEFILE="$DPI/battery_scale.png"
SCALEFILES="$(ls $DPI/battery_scale_*.png)"
FRAMES="$(ls -l $SCALEFILES | wc -l)"
SCALEHEIGHT=$(($WIDTH * $FRAMES))
convert -size ${WIDTH}x${SCALEHEIGHT} canvas:black $SCALEFILES -fx "u[j%$FRAMES+1].p{i,int(j/$FRAMES)}" png24:$SCALEFILE.tmp
pngcrush -text b "Frames" "$FRAMES" $SCALEFILE.tmp $SCALEFILE
rm $SCALEFILES $SCALEFILE.tmp
done

View File

@@ -1,5 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 150C0 232.843 67.1573 300 150 300C232.843 300 300 232.843 300 150C300 67.1573 232.843 0 150 0C67.1573 0 0 67.1573 0 150ZM150 0.000214268L169.738 31.6154L169.771 31.6209L198.705 8.12763L207.106 44.433L207.143 44.4527L242.132 31.6291L238.287 68.7251L238.288 68.7264L275.575 67.958L259.91 101.76L259.931 101.809L295.41 113.177L269.596 140.084L269.597 140.096L299.487 162.387L266.362 179.441L266.349 179.49L287.366 210.255L250.478 215.631L250.465 215.652L260.358 251.593L223.712 244.698L223.705 244.704L221.392 281.921L189.001 263.52L188.947 263.538L174.689 297.954L150 270L125.31 297.954L111.052 263.538L110.998 263.52L78.6075 281.921L76.2945 244.704L76.2875 244.698L39.6411 251.593L49.535 215.651L49.5221 215.631L12.6336 210.255L33.6504 179.49L33.6382 179.441L0.511969 162.387L30.4029 140.096L30.4038 140.085L4.58961 113.177L40.0687 101.809L40.09 101.76L24.4247 67.958L61.7121 68.7264L61.7127 68.7257L57.8678 31.6291L92.8571 44.4528L92.8929 44.4334L101.295 8.12763L130.229 31.621L130.262 31.6156L150 0.000214268Z" fill="#167c80"/>
<path d="M138.78 169.072Q138.78 159.656 141.117 154.063Q143.453 148.469 150.356 141.779Q157.259 135.088 159.1 132.256Q161.932 127.937 161.932 122.91Q161.932 116.255 158.64 112.75Q155.348 109.246 148.976 109.246Q142.887 109.246 139.17 112.679Q135.453 116.113 135.453 121.99L118.248 121.99Q118.39 109.458 126.78 102.166Q135.169 94.873 148.976 94.873Q163.207 94.873 171.172 102.095Q179.137 109.316 179.137 122.273Q179.137 133.813 168.375 145L159.667 153.567Q154.994 158.877 154.852 169.072Z M137.577 191.091Q137.577 186.914 140.196 184.33Q142.816 181.746 147.276 181.746Q151.808 181.746 154.427 184.401Q157.047 187.056 157.047 191.091Q157.047 194.985 154.498 197.605Q151.949 200.225 147.276 200.225Q142.604 200.225 140.09 197.605Q137.577 194.985 137.577 191.091Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,6 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 580 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137037 169.941 1.33137C172.294 1.64706 174.64 2.0186 176.976 2.44566C187.842 4.43214 193.586 15.8576 190.172 26.3627L189.021 29.9054C181.983 51.5661 150 46.5005 150 23.725L150 20Z" fill="#c62828"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 817 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137173 169.941 1.33127C187.911 3.74157 205.298 9.391 221.252 18.0033C230.972 23.2501 232.905 35.8917 226.412 44.8278L186.18 100.202C174.792 115.876 150 107.821 150 88.4464L150 20Z" fill="#c62828"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 817 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137072 169.941 1.33136C186.679 3.57645 202.966 8.63872 218.099 16.349C233.231 24.0593 246.9 34.2606 258.554 46.4822C266.177 54.4759 264.108 67.0954 255.172 73.5879L181.756 126.928C168.535 136.533 150 127.089 150 110.748L150 20Z" fill="#c62828"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 865 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137173 169.941 1.33127C194.494 4.62455 217.959 13.9649 238.168 28.6475C258.377 43.33 274.511 62.7604 285.23 85.0935C290.01 95.0516 284.142 106.414 273.637 109.828L176.18 141.493C163.258 145.692 150 136.06 150 122.472L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 862 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137047 169.941 1.33137C182.784 3.05407 195.379 6.4376 207.403 11.4181C225.601 18.9563 242.137 30.0052 256.066 43.934C269.995 57.8628 281.044 74.3987 288.582 92.5975C293.562 104.621 296.946 117.216 298.669 130.059C300.137 141.007 291.046 150 280 150L170 150C158.954 150 150 141.046 150 130L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 934 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137072 169.941 1.33136C186.679 3.57645 202.966 8.63872 218.099 16.349C239.19 27.0957 257.439 42.6815 271.353 61.8322C285.266 80.9829 294.45 103.155 298.153 126.535C300.81 143.309 300.591 160.364 297.554 176.976C295.568 187.842 284.142 193.585 273.637 190.172L163.82 154.49C155.579 151.813 150 144.134 150 135.469L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 958 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137109 169.941 1.33134C190.581 4.09984 210.494 11.1469 228.375 22.104C251.962 36.558 271.092 57.2532 283.651 81.9014C296.21 106.55 301.708 134.191 299.538 161.769C297.892 182.675 291.889 202.927 281.997 221.252C276.75 230.972 264.108 232.905 255.172 226.412L158.244 155.99C153.065 152.227 150 146.212 150 139.809L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 958 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137173 169.941 1.33127C194.494 4.62455 217.959 13.9649 238.168 28.6475C263.795 47.2667 282.87 73.5209 292.658 103.647C302.447 133.774 302.447 166.226 292.658 196.353C284.939 220.109 271.446 241.458 253.518 258.554C245.524 266.177 232.905 264.108 226.412 255.172L153.82 155.257C151.337 151.84 150 147.725 150 143.502L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 961 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137283 169.941 1.33108C198.42 5.15078 225.355 17.0964 247.417 35.9391C274.575 59.1345 292.566 91.2591 298.153 126.535C303.74 161.811 296.557 197.922 277.896 228.375C262.737 253.113 240.811 272.797 214.906 285.23C204.948 290.01 193.585 284.142 190.172 273.637L150.979 153.013C150.33 151.017 150 148.931 150 146.832L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 959 B

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137047 169.941 1.33137C182.784 3.05407 195.379 6.4376 207.403 11.4181C225.601 18.9563 242.137 30.0052 256.066 43.934C269.995 57.8628 281.044 74.3987 288.582 92.5975C296.12 110.796 300 130.302 300 150C300 169.698 296.12 189.204 288.582 207.403C281.044 225.601 269.995 242.137 256.066 256.066C242.137 269.995 225.601 281.044 207.402 288.582C195.379 293.562 182.784 296.946 169.941 298.669C158.993 300.137 150 291.046 150 280L150 150L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137056 169.941 1.33137C184.731 3.31516 199.18 7.49993 212.799 13.7785C232.49 22.8562 249.979 36.095 264.061 52.5828C278.143 69.0705 288.483 88.4152 294.368 109.284C300.254 130.153 301.545 152.049 298.153 173.465C294.761 194.881 286.767 215.307 274.72 233.335C262.674 251.364 246.862 266.567 228.375 277.896C209.887 289.225 189.163 296.412 167.631 298.96C152.738 300.723 137.703 300.238 123.024 297.554C112.158 295.568 106.415 284.142 109.828 273.637L149.021 153.013C149.67 151.017 150 148.931 150 146.832L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137072 169.941 1.33136C186.679 3.57645 202.966 8.63872 218.099 16.349C239.19 27.0957 257.439 42.6815 271.353 61.8322C285.266 80.9829 294.45 103.155 298.153 126.535C301.856 149.915 299.973 173.84 292.658 196.353C285.344 218.866 272.804 239.328 256.066 256.066C239.328 272.804 218.866 285.344 196.353 292.658C173.84 299.973 149.915 301.856 126.535 298.153C109.761 295.496 93.6083 290.018 78.7474 281.997C69.0275 276.75 67.0955 264.108 73.588 255.172L146.18 155.257C148.663 151.84 150 147.725 150 143.502L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.993 -0.137085 169.941 1.33136C188.629 3.83801 206.738 9.85427 223.293 19.1256C245.686 31.666 264.486 49.7423 277.896 71.6252C291.306 93.5082 298.877 118.466 299.884 144.111C300.892 169.756 295.303 195.231 283.651 218.099C271.999 240.966 254.675 260.462 233.336 274.72C211.996 288.979 187.355 297.524 161.769 299.538C136.183 301.551 110.509 296.966 87.2011 286.221C69.9695 278.278 54.458 267.163 41.4457 253.518C33.8228 245.524 35.8917 232.905 44.8278 226.412L141.756 155.99C146.935 152.227 150 146.212 150 139.809L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137109 169.941 1.33134C190.581 4.09984 210.494 11.1469 228.375 22.104C251.962 36.558 271.092 57.2532 283.651 81.9014C296.21 106.55 301.708 134.191 299.538 161.769C297.367 189.347 287.613 215.788 271.353 238.168C255.092 260.548 232.96 277.996 207.403 288.582C181.845 299.168 153.858 302.481 126.535 298.153C99.2121 293.826 73.6182 282.027 52.5828 264.061C36.6366 250.442 23.781 233.681 14.7699 214.906C9.99029 204.948 15.8576 193.586 26.3627 190.172L136.18 154.49C144.421 151.813 150 144.134 150 135.469L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137139 169.941 1.33131C192.536 4.36201 214.235 12.5169 233.336 25.2796C258.003 41.7618 277.229 65.1886 288.582 92.5975C299.935 120.006 302.906 150.166 297.118 179.264C291.33 208.361 277.044 235.088 256.066 256.066C235.088 277.044 208.361 291.33 179.264 297.118C150.166 302.906 120.006 299.935 92.5975 288.582C65.1886 277.229 41.7618 258.003 25.2796 233.336C12.5169 214.235 4.36201 192.536 1.33131 169.941C-0.137139 158.994 8.95431 150 20 150L130 150C141.046 150 150 141.046 150 130L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137173 169.941 1.33127C194.494 4.62455 217.959 13.9649 238.168 28.6475C263.795 47.2667 282.87 73.5209 292.658 103.647C302.447 133.774 302.447 166.226 292.658 196.353C282.87 226.479 263.795 252.733 238.168 271.353C212.541 289.972 181.677 300 150 300C118.323 300 87.4593 289.972 61.8322 271.353C36.2051 252.733 17.1302 226.479 7.34152 196.353C-0.377567 172.596 -2.0096 147.393 2.44542 123.024C4.43186 112.159 15.8576 106.414 26.3627 109.828L123.82 141.493C136.742 145.692 150 136.06 150 122.472L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.13721 169.942 1.33122C196.455 4.88752 221.666 15.4912 242.864 32.2025C269.324 53.0615 287.99 82.2213 295.855 114.983C303.721 147.745 300.327 182.201 286.221 212.799C272.116 243.397 248.119 268.355 218.099 283.651C188.078 298.947 153.782 303.691 120.736 297.118C87.691 290.545 57.8208 273.037 35.9391 247.417C14.0573 221.797 1.43841 189.556 0.115643 155.889C-0.944093 128.917 5.29598 102.288 18.0031 78.7477C23.25 69.0277 35.8917 67.0954 44.8278 73.5879L118.244 126.928C131.465 136.533 150 127.089 150 110.748L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137283 169.941 1.33108C198.42 5.15078 225.355 17.0964 247.417 35.9391C274.575 59.1345 292.566 91.2591 298.153 126.535C303.74 161.811 296.557 197.922 277.896 228.375C259.235 258.827 230.32 281.622 196.353 292.658C162.385 303.695 125.594 302.25 92.5974 288.582C59.6007 274.914 32.5635 249.921 16.349 218.099C0.134526 186.276 -4.1931 149.712 4.14452 114.983C10.9176 86.7713 25.6875 61.2748 46.4819 41.4454C54.4756 33.8226 67.0955 35.8916 73.588 44.8278L113.82 100.202C125.208 115.876 150 107.821 150 88.4463L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#181818"/>
<path d="M150 20C150 8.9543 158.994 -0.137312 169.942 1.33104C200.389 5.41475 229.026 18.7812 251.82 39.8516C279.537 65.4731 296.576 100.602 299.538 138.231C302.499 175.86 291.165 213.222 267.798 242.864C244.43 272.506 210.746 292.249 173.465 298.153C136.185 304.058 98.0484 295.691 66.6644 274.72C35.2804 253.75 12.9559 221.719 4.1445 185.017C-4.66693 148.314 0.682508 109.639 19.1256 76.7068C34.2927 49.6239 57.3981 28.0622 85.0931 14.7697C95.0512 9.99024 106.415 15.8576 109.828 26.3626L110.979 29.9051C118.017 51.5659 150 46.5002 150 23.7248L150 20Z" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,6 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
<path d="M162.73 230.297L149.298 254.672C149.006 255.202 148.199 254.959 148.247 254.357L149.72 236.199L137.762 236.199C137.336 236.199 137.064 235.742 137.27 235.367L150.703 210.992C150.995 210.462 151.802 210.705 151.753 211.307L150.281 229.465L162.238 229.465C162.665 229.465 162.935 229.922 162.73 230.297Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 580 B

View File

@@ -1,5 +0,0 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="300" fill="black"/>
<circle cx="150" cy="150" r="150" fill="#167c80"/>
<circle cx="150" cy="150" r="128" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -116,6 +116,11 @@ endif
# Clear this first to prevent accidental poisoning from env # Clear this first to prevent accidental poisoning from env
KERNEL_MAKE_FLAGS := KERNEL_MAKE_FLAGS :=
# Use "safe" default values for kernel build user & host - matches Pixels, helps avoid detection
KERNEL_MAKE_FLAGS += \
KBUILD_BUILD_USER="build-user" \
KBUILD_BUILD_HOST="build-host"
# Add back threads, ninja cuts this to $(getconf _NPROCESSORS_ONLN)/2 # Add back threads, ninja cuts this to $(getconf _NPROCESSORS_ONLN)/2
KERNEL_MAKE_FLAGS += -j$(shell getconf _NPROCESSORS_ONLN) KERNEL_MAKE_FLAGS += -j$(shell getconf _NPROCESSORS_ONLN)

View File

@@ -18,37 +18,37 @@ EXPORT_TO_SOONG := \
# Documentation here: # Documentation here:
# https://github.com/LineageOS/android_build_soong/commit/8328367c44085b948c003116c0ed74a047237a69 # https://github.com/LineageOS/android_build_soong/commit/8328367c44085b948c003116c0ed74a047237a69
$(call add_soong_config_namespace,lineageVarsPlugin) SOONG_CONFIG_NAMESPACES += lineageVarsPlugin
$(foreach v,$(EXPORT_TO_SOONG),$(eval $(call add_soong_config_var,lineageVarsPlugin,$(v))))
# Bootanimation SOONG_CONFIG_lineageVarsPlugin :=
TARGET_BOOTANIMATION_HALF_RES ?= false
$(call soong_config_set,lineage_bootanimation,height,$(TARGET_SCREEN_HEIGHT))
$(call soong_config_set,lineage_bootanimation,width,$(TARGET_SCREEN_WIDTH))
$(call soong_config_set,lineage_bootanimation,half_res,$(TARGET_BOOTANIMATION_HALF_RES))
ifneq ($(TARGET_BOOTANIMATION),) define addVar
$(call soong_config_set,lineage_bootanimation,prebuilt_file,$(TARGET_BOOTANIMATION)) SOONG_CONFIG_lineageVarsPlugin += $(1)
endif SOONG_CONFIG_lineageVarsPlugin_$(1) := $($1)
endef
$(foreach v,$(EXPORT_TO_SOONG),$(eval $(call addVar,$(v))))
SOONG_CONFIG_NAMESPACES += lineageGlobalVars
SOONG_CONFIG_lineageGlobalVars += \
spoof_first_api_level_32
# Soong bool variables
SOONG_CONFIG_lineageGlobalVars_spoof_first_api_level_32 := $(SPOOF_FIRST_API_LEVEL_32)
# Camera # Camera
ifneq ($(TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED),) ifneq ($(TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED),)
$(error TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED is deprecated, please migrate to soong_config_set,camera,override_format_from_reserved) $(error TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED is deprecated, please migrate to soong_config_set,camera,override_format_from_reserved)
endif endif
ifneq ($(TARGET_CAMERA_PACKAGE_NAME),)
# Charger $(call soong_config_set,camera,package_name,$(TARGET_CAMERA_PACKAGE_NAME))
lineage_charger_density := mdpi endif
ifneq (,$(TARGET_SCREEN_DENSITY)) ifneq ($(TARGET_CAMERA_SERVICE_EXT_LIB),)
lineage_charger_density := $(strip \ $(call soong_config_set,libcameraservice,ext_lib,$(TARGET_CAMERA_SERVICE_EXT_LIB))
$(or $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 560))),1),xxxhdpi),\ endif
$(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 400))),1),xxhdpi),\ ifneq ($(TARGET_USES_MIUI_CAMERA),)
$(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 280))),1),xhdpi),\ $(call soong_config_set,camera,uses_miui_camera,$(TARGET_USES_MIUI_CAMERA))
$(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 200))),1),hdpi,mdpi)))
else ifneq (,$(filter mdpi hdpi xhdpi xxhdpi xxxhdpi,$(PRODUCT_AAPT_PREF_CONFIG)))
# If PRODUCT_AAPT_PREF_CONFIG includes a dpi bucket, then use that value.
lineage_charger_density := $(PRODUCT_AAPT_PREF_CONFIG)
endif endif
$(call soong_config_set,lineage_charger,density,$(lineage_charger_density))
# Libui # Libui
ifneq ($(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS),) ifneq ($(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS),)

View File

@@ -1,10 +1,25 @@
# Allow vendor/extra to override any property by setting it first # Allow vendor/extra to override any property by setting it first
$(call inherit-product-if-exists, vendor/extra/product.mk) $(call inherit-product-if-exists, vendor/extra/product.mk)
$(call inherit-product, vendor/lineage/config/evolution.mk)
$(call inherit-product, vendor/extras/evolution.mk)
ifeq ($(TARGET_INCLUDE_VIPERFX),true)
$(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk)
endif
# Allow vendor prebuilt repos to exclude themselves from bp scanning # Allow vendor prebuilt repos to exclude themselves from bp scanning
-include $(sort $(wildcard vendor/*/*/exclude-bp.mk)) -include $(sort $(wildcard vendor/*/*/exclude-bp.mk))
PRODUCT_BRAND ?= LineageOS # Pixel additions
ifeq ($(WITH_GMS),true)
$(call inherit-product, vendor/google/overlays/ThemeIcons/config.mk)
#$(call inherit-product, vendor/pixel-framework/config.mk)
$(call inherit-product, vendor/pixel-style/config/common.mk)
# Don't dexpreopt prebuilts. (For GMS).
DONT_DEXPREOPT_PREBUILTS := true
endif
PRODUCT_BRAND ?= EvolutionX
ifeq ($(PRODUCT_GMS_CLIENTID_BASE),) ifeq ($(PRODUCT_GMS_CLIENTID_BASE),)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
@@ -43,6 +58,10 @@ endif
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable=true PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable=true
endif endif
# Enable Material Design 3 Expressive
PRODUCT_PRODUCT_PROPERTIES += \
is_expressive_design_enabled=true
# Backup Tool # Backup Tool
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \ vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
@@ -63,11 +82,9 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/backuptool_ab.functions \ system/bin/backuptool_ab.functions \
system/bin/backuptool_postinstall.sh system/bin/backuptool_postinstall.sh
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.ota.allow_downgrade=true ro.ota.allow_downgrade=true
endif endif
endif
# Lineage-specific broadcast actions whitelist # Lineage-specific broadcast actions whitelist
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
@@ -97,28 +114,45 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/org.lineageos.android.xml vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/org.lineageos.android.xml
# Enforce privapp-permissions whitelist # Enable transitional log for Privileged permissions
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
ro.control_privapp_permissions=enforce ro.control_privapp_permissions=log
ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true) ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
# Lineage SDK # Lineage SDK
include vendor/lineage/config/lineage_sdk_common.mk include vendor/lineage/config/lineage_sdk_common.mk
endif endif
# Do not include art debug targets ART_BUILD_TARGET_NDEBUG := false
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false ART_BUILD_TARGET_DEBUG := false
ART_BUILD_HOST_NDEBUG := false
ART_BUILD_HOST_DEBUG := false
# Strip the local variable table and the local variable type table to reduce # Flags
# the size of the system image. This has no bearing on stack traces, but will ifeq ($(TARGET_BUILD_VARIANT), user)
# leave less information available via JDWP. # Strip the local variable table and the local variable type table to reduce
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true # the size of the system image. This has no bearing on stack traces, but will
# leave less information available via JDWP.
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
# Disable dexpreopt debug info
WITH_DEXPREOPT_DEBUG_INFO := false
# Reduce system server verbosity
PRODUCT_SYSTEM_SERVER_DEBUG_INFO := false
# Don't include art debug targets
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
# Always preopt extracted APKs to prevent extracting out of the APK for gms
# modules.
PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := true
endif
# Enable whole-program R8 Java optimizations for SystemUI and system_server, # Enable whole-program R8 Java optimizations for SystemUI and system_server,
# but also allow explicit overriding for testing and development. # but also allow explicit overriding for testing and development.
SYSTEM_OPTIMIZE_JAVA ?= true SYSTEM_OPTIMIZE_JAVA ?= true
SYSTEMUI_OPTIMIZE_JAVA ?= true SYSTEMUI_OPTIMIZE_JAVA ?= true
# Disable dex2oat debug
USE_DEX2OAT_DEBUG := false
# Disable vendor restrictions # Disable vendor restrictions
PRODUCT_RESTRICT_VENDOR_FILES := false PRODUCT_RESTRICT_VENDOR_FILES := false
@@ -128,11 +162,14 @@ $(call enforce-product-packages-exist-internal,$(lastword $(_include_stack)),pro
endif endif
# Bootanimation # Bootanimation
TARGET_INCLUDE_BOOT_ANIMATIONS ?= true
ifeq ($(TARGET_INCLUDE_BOOT_ANIMATIONS),true)
include vendor/lineage/bootanimation/prebuilts/prebuilts.mk
endif
TARGET_SCREEN_WIDTH ?= 1080 TARGET_SCREEN_WIDTH ?= 1080
TARGET_SCREEN_HEIGHT ?= 1920 TARGET_SCREEN_HEIGHT ?= 1920
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
bootanimation.zip \ bootanimation.zip
bootanimation-dark.zip
# Lineage interfaces # Lineage interfaces
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
@@ -152,17 +189,23 @@ PRODUCT_PACKAGES += \
endif endif
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
LineageSettingsProvider \ LineageSettingsProvider
Updater
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-updater.rc vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-updater.rc
# Config # Config
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
SimpleDeviceConfig \
SimpleSettingsConfig SimpleSettingsConfig
# Disable default frame rate limit for games
PRODUCT_PRODUCT_PROPERTIES += \
debug.graphics.game_default_frame_rate.disabled=true
# Disable RescueParty due to high risk of data loss
PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.disable_rescue=true
# Extra tools in Lineage # Extra tools in Lineage
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
bash \ bash \
@@ -179,7 +222,8 @@ PRODUCT_PACKAGES += \
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/curl \ system/bin/curl \
system/bin/getcap \ system/bin/getcap \
system/bin/setcap system/bin/setcap \
system/%/libzstd.so
# Filesystems tools # Filesystems tools
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
@@ -215,9 +259,15 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
rsync rsync
ifeq ($(WITH_GMS),false)
# Storage manager # Storage manager
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_PROPERTIES += \
ro.storage_manager.enabled=true ro.storage_manager.enabled=true
endif
# Default wifi country code
PRODUCT_SYSTEM_PROPERTIES += \
ro.boot.wificountrycode?=00
# These packages are excluded from user builds # These packages are excluded from user builds
PRODUCT_PACKAGES_DEBUG += \ PRODUCT_PACKAGES_DEBUG += \
@@ -228,11 +278,12 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/bin/procmem system/bin/procmem
endif endif
ifneq ($(TARGET_BUILD_VARIANT),user)
ifeq ($(WITH_SU),true)
# Root # Root
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
adb_root adb_root
ifneq ($(TARGET_BUILD_VARIANT),user)
ifeq ($(WITH_SU),true)
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
su su
@@ -241,9 +292,16 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
endif endif
endif endif
# SurfaceFlinger
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.surface_flinger.supports_background_blur=1
# SystemUI # SystemUI
PRODUCT_DEXPREOPT_SPEED_APPS += \ PRODUCT_DEXPREOPT_SPEED_APPS += \
Launcher3QuickStep \
Settings \
CarSystemUI \ CarSystemUI \
NexusLauncherRelease \
SystemUI SystemUI
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
@@ -258,9 +316,11 @@ endif
$(call inherit-product, vendor/lineage/audio/audio.mk) $(call inherit-product, vendor/lineage/audio/audio.mk)
# SetupWizard # SetupWizard
ifeq ($(WITH_GMS),false)
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
setupwizard.theme=glif_v4 \ setupwizard.theme=glif_v4 \
setupwizard.feature.day_night_mode_enabled=true setupwizard.feature.day_night_mode_enabled=true
endif
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro
PRODUCT_PACKAGE_OVERLAYS += \ PRODUCT_PACKAGE_OVERLAYS += \
@@ -270,6 +330,7 @@ PRODUCT_PACKAGE_OVERLAYS += \
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
DocumentsUIOverlay \ DocumentsUIOverlay \
NetworkStackOverlay \ NetworkStackOverlay \
NfcOverlay \
PermissionControllerOverlay PermissionControllerOverlay
# Translations # Translations
@@ -287,7 +348,4 @@ PRODUCT_EXTRA_RECOVERY_KEYS += \
include vendor/lineage/config/version.mk include vendor/lineage/config/version.mk
-include vendor/lineage-priv/keys/keys.mk
-include $(WORKSPACE)/build_env/image-auto-bits.mk -include $(WORKSPACE)/build_env/image-auto-bits.mk
-include vendor/lineage/config/partner_gms.mk

View File

@@ -11,3 +11,15 @@ $(call inherit-product, vendor/lineage/config/tablet.mk)
$(call inherit-product, vendor/lineage/config/telephony.mk) $(call inherit-product, vendor/lineage/config/telephony.mk)
PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/foldable_book PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/foldable_book
# GMS
WITH_GMS ?= true
ifeq ($(WITH_GMS),true)
ifeq ($(TARGET_USES_MINI_GAPPS),true)
$(call inherit-product, vendor/gms/gms_mini.mk)
else ifeq ($(TARGET_USES_PICO_GAPPS),true)
$(call inherit-product, vendor/gms/gms_pico.mk)
else
$(call inherit-product, vendor/gms/gms_full.mk)
endif
endif

View File

@@ -6,3 +6,15 @@ PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode?=true ro.support_one_handed_mode?=true
$(call inherit-product, vendor/lineage/config/telephony.mk) $(call inherit-product, vendor/lineage/config/telephony.mk)
# GMS
WITH_GMS ?= true
ifeq ($(WITH_GMS),true)
ifeq ($(TARGET_USES_MINI_GAPPS),true)
$(call inherit-product, vendor/gms/gms_mini.mk)
else ifeq ($(TARGET_USES_PICO_GAPPS),true)
$(call inherit-product, vendor/gms/gms_pico.mk)
else
$(call inherit-product, vendor/gms/gms_full.mk)
endif
endif

View File

@@ -5,3 +5,15 @@ $(call inherit-product, vendor/lineage/config/common_mobile_full.mk)
$(call inherit-product, vendor/lineage/config/tablet.mk) $(call inherit-product, vendor/lineage/config/tablet.mk)
$(call inherit-product, vendor/lineage/config/telephony.mk) $(call inherit-product, vendor/lineage/config/telephony.mk)
# GMS
WITH_GMS ?= true
ifeq ($(WITH_GMS),true)
ifeq ($(TARGET_USES_MINI_GAPPS),true)
$(call inherit-product, vendor/gms/gms_mini.mk)
else ifeq ($(TARGET_USES_PICO_GAPPS),true)
$(call inherit-product, vendor/gms/gms_pico.mk)
else
$(call inherit-product, vendor/gms/gms_full.mk)
endif
endif

View File

@@ -5,3 +5,9 @@ $(call inherit-product, vendor/lineage/config/common_mobile_full.mk)
$(call inherit-product, vendor/lineage/config/tablet.mk) $(call inherit-product, vendor/lineage/config/tablet.mk)
$(call inherit-product, vendor/lineage/config/wifionly.mk) $(call inherit-product, vendor/lineage/config/wifionly.mk)
# GMS
WITH_GMS ?= true
ifeq ($(WITH_GMS),true)
$(call inherit-product, vendor/gms/gms_full_tablet_wifionly.mk)
endif

View File

@@ -9,81 +9,35 @@ include vendor/lineage/config/aosp_audio.mk
include vendor/lineage/config/lineage_audio.mk include vendor/lineage/config/lineage_audio.mk
# Default notification/alarm sounds # Default notification/alarm sounds
ifeq ($(WITH_GMS),true)
PRODUCT_PRODUCT_PROPERTIES += \
ro.config.notification_sound=Kernel.ogg \
ro.config.alarm_alert=Fresh_morning.ogg
else
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
ro.config.notification_sound=Argon.ogg \ ro.config.notification_sound=Argon.ogg \
ro.config.alarm_alert=Hassium.ogg ro.config.alarm_alert=Hassium.ogg
endif
# Apps # Apps
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
AvatarPicker \ AvatarPicker \
Backgrounds \
Glimpse \
LatinIME LatinIME
ifeq ($(PRODUCT_TYPE), go) ifeq ($(WITH_GMS),false)
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
Launcher3QuickStepGo Backgrounds \
Glimpse
PRODUCT_DEXPREOPT_SPEED_APPS += \
Launcher3QuickStepGo
else
PRODUCT_PACKAGES += \
Launcher3QuickStep
PRODUCT_DEXPREOPT_SPEED_APPS += \
Launcher3QuickStep
endif endif
PRODUCT_PACKAGES += \
Launcher3Overlay
# Charger # Charger
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
charger_res_images product_charger_res_images \
product_charger_res_images_vendor
ifneq ($(WITH_LINEAGE_CHARGER),false)
PRODUCT_PACKAGES += \
lineage_charger_animation \
lineage_charger_animation_vendor
endif
# Customizations
PRODUCT_PACKAGES += \
IconPackCircularAndroidOverlay \
IconPackCircularLauncherOverlay \
IconPackCircularSettingsOverlay \
IconPackCircularSystemUIOverlay \
IconPackFilledAndroidOverlay \
IconPackFilledLauncherOverlay \
IconPackFilledSettingsOverlay \
IconPackFilledSystemUIOverlay \
IconPackKaiAndroidOverlay \
IconPackKaiLauncherOverlay \
IconPackKaiSettingsOverlay \
IconPackKaiSystemUIOverlay \
IconPackRoundedAndroidOverlay \
IconPackRoundedLauncherOverlay \
IconPackRoundedSettingsOverlay \
IconPackRoundedSystemUIOverlay \
IconPackSamAndroidOverlay \
IconPackSamLauncherOverlay \
IconPackSamSettingsOverlay \
IconPackSamSystemUIOverlay \
IconPackVictorAndroidOverlay \
IconPackVictorLauncherOverlay \
IconPackVictorSettingsOverlay \
IconPackVictorSystemUIOverlay \
IconShapePebbleOverlay \
IconShapeRoundedRectOverlay \
IconShapeSquareOverlay \
IconShapeSquircleOverlay \
IconShapeTaperedRectOverlay \
IconShapeTeardropOverlay \
IconShapeVesselOverlay
# Legal # Legal
PRODUCT_SYSTEM_PROPERTIES += \ PRODUCT_SYSTEM_PROPERTIES += \
ro.lineagelegal.url=https://lineageos.org/legal ro.evolutionlegal.url=https://evolution-x.org/legal.php
# Media # Media
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
@@ -106,8 +60,14 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/etc/textclassifier/textclassifier.en.model \ system/etc/textclassifier/textclassifier.en.model \
system/etc/textclassifier/textclassifier.universal.model system/etc/textclassifier/textclassifier.universal.model
# TFLite service.
PRODUCT_PACKAGES += libtensorflowlite_jni
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
system/lib/libtensorflowlite_jni.so \
system/lib64/libtensorflowlite_jni.so
# Themes # Themes
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
LineageBlackTheme \
ThemePicker \ ThemePicker \
ThemesStub ThemesStub

View File

@@ -3,40 +3,36 @@ $(call inherit-product, vendor/lineage/config/common_mobile.mk)
PRODUCT_SIZE := full PRODUCT_SIZE := full
# Include {Lato,Rubik} fonts
$(call inherit-product-if-exists, external/google-fonts/lato/fonts.mk)
$(call inherit-product-if-exists, external/google-fonts/rubik/fonts.mk)
# Apps # Apps
PRODUCT_PACKAGES += \
Profiles
# Seedvault
ifeq ($(WITH_GMS),false)
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
Camelot \ Camelot \
Etar \ Etar \
Profiles \
Recorder \ Recorder \
Seedvault \
Twelve Twelve
ifneq ($(PRODUCT_NO_CAMERA),true)
PRODUCT_PACKAGES += \
Aperture
endif endif
#ifneq ($(PRODUCT_NO_CAMERA),true)
#PRODUCT_PACKAGES += \
# Aperture
#endif
ifeq ($(WITH_GMS),false)
ifneq ($(TARGET_EXCLUDES_AUDIOFX),true) ifneq ($(TARGET_EXCLUDES_AUDIOFX),true)
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
AudioFX AudioFX
endif endif
endif
# Extra cmdline tools # Extra cmdline tools
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
unrar \ unrar \
zstd zstd
# Fonts
PRODUCT_PACKAGES += \
fonts_customization.xml \
FontLatoOverlay \
FontRubikOverlay
# Include Lineage LatinIME dictionaries # Include Lineage LatinIME dictionaries
PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/dictionaries PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/dictionaries

110
config/evolution.mk Normal file
View File

@@ -0,0 +1,110 @@
# PIF values
PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.pihooks_MANUFACTURER?=Google \
persist.sys.pihooks_BRAND?=google \
persist.sys.pihooks_PRODUCT?=frankel_beta \
persist.sys.pihooks_DEVICE?=frankel \
persist.sys.pihooks_ID?=BP41.250916.015.A1 \
persist.sys.pihooks_RELEASE?=12 \
persist.sys.pihooks_SECURITY_PATCH?=2025-10-05 \
persist.sys.pihooks_DEVICE_INITIAL_SDK_INT?=21 \
persist.sys.pihooks_SDK_INT?=32
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildFingerprint=google/frankel_beta/frankel:16/BP41.250916.015.A1/14394230:user/release-keys \
PihooksGmsFp="google/frankel_beta/frankel:16/BP41.250916.015.A1/14394230:user/release-keys" \
PihooksGmsModel="Pixel 10"
# Evolution X packages
PRODUCT_PACKAGES += \
EvoEgg \
GameSpace
# OmniStyle
# OmniJaws \
PRODUCT_PACKAGES += \
Updater
ifeq ($(WITH_GMS),false)
PRODUCT_PACKAGES += \
UpdaterVanillaOverlay
endif
# LMO packages
PRODUCT_PACKAGES += \
LMOFreeform \
LMOFreeformSidebar
# LMOSystemUIClock
# BtHelper
PRODUCT_PACKAGES += \
BtHelper
# Face Unlock
ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true)
PRODUCT_PACKAGES += \
FaceUnlock
PRODUCT_SYSTEM_EXT_PROPERTIES += \
ro.face.sense_service=true
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/android.hardware.biometrics.face.xml
endif
# DeviceAsWebcam
ifeq ($(TARGET_BUILD_DEVICE_AS_WEBCAM), true)
PRODUCT_PACKAGES += \
DeviceAsWebcam
PRODUCT_VENDOR_PROPERTIES += \
ro.usb.uvc.enabled=true
endif
# Cloned app exemption
PRODUCT_COPY_FILES += \
vendor/lineage/prebuilt/common/etc/sysconfig/preinstalled-packages-platform-evolution-product.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/preinstalled-packages-platform-evolution-product.xml
# ColumbusService
ifneq ($(TARGET_SUPPORTS_QUICK_TAP),false)
PRODUCT_PACKAGES += \
ColumbusService
endif
# Use a generic profile based boot image by default
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/boot/boot-image-profile.txt
# Disable async MTE on a few processes
PRODUCT_SYSTEM_EXT_PROPERTIES += \
persist.arm64.memtag.app.com.android.se=off \
persist.arm64.memtag.app.com.google.android.bluetooth=off \
persist.arm64.memtag.app.com.android.nfc=off \
persist.arm64.memtag.process.system_server=off
# Private keys
ifeq ($(EVO_BUILD_TYPE),Official)
include vendor/evolution-priv/keys/keys.mk
else
-include vendor/evolution-priv/keys/keys.mk
endif
# PERF_ANIM_OVERRIDE
PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.activity_anim_perf_override=$(PERF_ANIM_OVERRIDE)
ifeq ($(PERF_ANIM_OVERRIDE),true)
PRODUCT_PRODUCT_PROPERTIES += \
debug.sf.predict_hwc_composition_strategy=0
endif
# Other ROM feature flags
BYPASS_CHARGE_SUPPORTED ?= false
PERF_ANIM_OVERRIDE ?= false
TARGET_ENABLES_IMS_OVERRIDES ?= false
TORCH_STR_SUPPORTED ?= true
PRODUCT_SYSTEM_PROPERTIES += \
persist.sys.battery_bypass_supported=$(BYPASS_CHARGE_SUPPORTED) \
persist.sys.target_enables_ims_override=$(TARGET_ENABLES_IMS_OVERRIDES) \
persist.sys.torch_str_support=$(TORCH_STR_SUPPORTED)

View File

@@ -1,51 +0,0 @@
ifeq ($(WITH_GMS),true)
# Special handling for Android TV
ifeq ($(PRODUCT_IS_ATV),true)
ifneq (,$(wildcard vendor/partner_gms-tv))
ifneq ($(GMS_MAKEFILE),)
# Specify the GMS makefile you want to use, for example:
# - gms.mk - default Android TV GMS
# - gms_gtv.mk - default Google TV GMS
# - gms_minimal.mk - minimal Android TV GMS
$(call inherit-product, vendor/partner_gms-tv/products/$(GMS_MAKEFILE))
else
$(call inherit-product-if-exists, vendor/partner_gms-tv/products/gms.mk)
endif
$(call inherit-product-if-exists, vendor/partner_gms-tv/products/mainline_modules.mk)
endif
# Special handling for Android Automotive
else ifeq ($(PRODUCT_IS_AUTOMOTIVE),true)
ifneq (,$(wildcard vendor/partner_gms-car))
ifneq ($(GMS_MAKEFILE),)
$(call inherit-product, vendor/partner_gms-car/products/$(GMS_MAKEFILE))
else
$(call inherit-product-if-exists, vendor/partner_gms-car/products/gms.mk)
endif
endif
else
ifneq (,$(wildcard vendor/partner_gms))
# Specify the GMS makefile you want to use, for example:
# - fi.mk - Project Fi
# - gms.mk - default GMS
# - gms_go.mk - low ram devices
# - gms_go_2gb.mk - low ram devices (2GB)
# - gms_64bit_only.mk - devices supporting 64-bit only
# - gms_minimal.mk - minimal GMS
ifneq ($(GMS_MAKEFILE),)
$(call inherit-product, vendor/partner_gms/products/$(GMS_MAKEFILE))
else
$(call inherit-product-if-exists, vendor/partner_gms/products/gms.mk)
endif
endif
ifneq (,$(wildcard vendor/partner_modules))
# Specify the mainline module makefile you want to use, for example:
# - mainline_modules.mk - updatable apex
# - mainline_modules_flatten_apex.mk - flatten apex
# - mainline_modules_low_ram.mk - low ram devices
ifneq ($(MAINLINE_MODULES_MAKEFILE),)
$(call inherit-product, vendor/partner_modules/build/$(MAINLINE_MODULES_MAKEFILE))
endif
endif
endif
endif

View File

@@ -17,8 +17,13 @@ PRODUCT_PACKAGES += \
Stk Stk
# Default ringtone # Default ringtone
ifeq ($(WITH_GMS),true)
PRODUCT_PRODUCT_PROPERTIES += \
ro.config.ringtone=The_next_adventure.ogg
else
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
ro.config.ringtone=Orion.ogg ro.config.ringtone=Orion.ogg
endif
# Tethering - allow without requiring a provisioning app # Tethering - allow without requiring a provisioning app
# (for devices that check this) # (for devices that check this)
@@ -28,3 +33,9 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
# Disable mobile data by default # Disable mobile data by default
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
ro.com.android.mobiledata=false ro.com.android.mobiledata=false
# BCR
TARGET_INCLUDE_BCR ?= true
ifeq ($(TARGET_INCLUDE_BCR),true)
$(call inherit-product, vendor/extras/bcr/bcr.mk)
endif

View File

@@ -1,45 +1,31 @@
PRODUCT_VERSION_MAJOR = 23 PRODUCT_VERSION_MAJOR = 16
PRODUCT_VERSION_MINOR = 0 PRODUCT_VERSION_MINOR = 0
ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true) # Increase EVO Version with each major release.
LINEAGE_BUILD_DATE := $(shell date -u +%Y%m%d_%H%M%S) EVO_VERSION_BASE := 11.5
EVO_BUILD_TYPE ?= Unofficial
ifeq ($(EVO_BUILD_TYPE),Official)
else ifeq ($(EVO_BUILD_TYPE),Unofficial)
else else
LINEAGE_BUILD_DATE := $(shell date -u +%Y%m%d) $(error EVO_BUILD_TYPE must be Official or Unofficial. Current value: $(EVO_BUILD_TYPE))
endif endif
# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat ifeq ($(WITH_GMS),true)
EVO_VERSION := $(EVO_VERSION_BASE)
ifndef LINEAGE_BUILDTYPE else
ifdef RELEASE_TYPE EVO_VERSION := $(EVO_VERSION_BASE)-Vanilla
# Starting with "LINEAGE_" is optional
RELEASE_TYPE := $(shell echo $(RELEASE_TYPE) | sed -e 's|^LINEAGE_||g')
LINEAGE_BUILDTYPE := $(RELEASE_TYPE)
endif
endif endif
# Filter out random types, so it'll reset to UNOFFICIAL
ifeq ($(filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL,$(LINEAGE_BUILDTYPE)),)
LINEAGE_BUILDTYPE := UNOFFICIAL
LINEAGE_EXTRAVERSION :=
endif
ifeq ($(LINEAGE_BUILDTYPE), UNOFFICIAL)
ifneq ($(TARGET_UNOFFICIAL_BUILD_ID),)
LINEAGE_EXTRAVERSION := -$(TARGET_UNOFFICIAL_BUILD_ID)
endif
endif
LINEAGE_VERSION_SUFFIX := $(LINEAGE_BUILD_DATE)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
# Internal version # Internal version
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(LINEAGE_VERSION_SUFFIX) LINEAGE_VERSION := EvolutionX-$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date +%Y%m%d)-$(LINEAGE_BUILD)-$(EVO_VERSION)-$(EVO_BUILD_TYPE)
# Display version # Display version
LINEAGE_DISPLAY_VERSION := $(PRODUCT_VERSION_MAJOR)-$(LINEAGE_VERSION_SUFFIX) LINEAGE_DISPLAY_VERSION := v$(EVO_VERSION)-$(shell date +%Y%m%d)
# LineageOS version properties # Evolution X version properties
PRODUCT_SYSTEM_PROPERTIES += \ PRODUCT_SYSTEM_PROPERTIES += \
ro.lineage.version=$(LINEAGE_VERSION) \ ro.evolution.build.version=$(LINEAGE_VERSION) \
ro.lineage.display.version=$(LINEAGE_DISPLAY_VERSION) \ ro.evolution.display.version=$(LINEAGE_DISPLAY_VERSION) \
ro.lineage.build.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \ ro.evolution.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \
ro.lineage.releasetype=$(LINEAGE_BUILDTYPE) ro.modversion=$(EVO_VERSION)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 KiB

View File

@@ -1,26 +0,0 @@
<!--
Copyright (C) 2017 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M12,6 C15.3,6,18,8.7,18,12 S15.3,18,12,18 S6,15.3,6,12 S8.7,6,12,6 M12,4
C7.6,4,4,7.6,4,12 S7.6,20,12,20 S20,16.4,20,12 S16.4,4,12,4 Z M12,9
C10.3,9,9,10.3,9,12 S10.3,15,12,15 S15,13.7,15,12 S13.7,9,12,9 Z" />
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -42,6 +42,7 @@
<item>org.microg.nlp</item> <item>org.microg.nlp</item>
</string-array> </string-array>
<!-- Sets the package name for location extra packages -->
<string-array name="config_locationExtraPackageNames" translatable="false"> <string-array name="config_locationExtraPackageNames" translatable="false">
<!-- Bluetooth --> <!-- Bluetooth -->
<item>com.android.bluetooth</item> <item>com.android.bluetooth</item>
@@ -53,6 +54,23 @@
<item>com.shannon.imsservice</item> <item>com.shannon.imsservice</item>
<!-- MediaTek ImsService --> <!-- MediaTek ImsService -->
<item>com.mediatek.ims</item> <item>com.mediatek.ims</item>
<!-- OmniJaws -->
<item>org.omnirom.omnijaws</item>
<!-- SystemUI -->
<item>com.android.systemui</item>
<!-- Tethering -->
<item>com.android.networkstack.tethering</item>
<!-- GMS location history -->
<item>com.google.android.gms.location.history</item>
</string-array>
<!-- 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
tasks such as network registration. -->
<string-array name="config_serviceStateLocationAllowedPackages">
<item>com.shannon.imsservice</item>
<item>com.android.phone</item>
</string-array> </string-array>
<!-- Set this to true to enable the platform's auto-power-save modes like doze and <!-- Set this to true to enable the platform's auto-power-save modes like doze and
@@ -86,7 +104,28 @@
<bool name="config_useRoundIcon">true</bool> <bool name="config_useRoundIcon">true</bool>
<!-- Whether or not we should show the option to show battery percentage --> <!-- Whether or not we should show the option to show battery percentage -->
<bool name="config_battery_percentage_setting_available">false</bool> <bool name="config_battery_percentage_setting_available">true</bool>
<!-- Flag indicating whether we should enable the adaptive sleep.-->
<bool name="config_adaptive_sleep_available">true</bool>
<!-- The component name for the default system attention service.
This service must be trusted, as it can be activated without explicit consent of the user.
See android.attention.AttentionManagerService.
-->
<string name="config_defaultAttentionService" translatable="false">com.google.android.as/com.google.android.apps.miphone.aiai.attention.service.AiAiAttentionService</string>
<!-- Live Captions -->
<string name="config_defaultSystemCaptionsManagerService">com.google.android.as/com.google.android.apps.miphone.aiai.captions.SystemCaptionsManagerService</string>
<!-- Recents text and image selection for Pixel Launcher (not supported by Launcher3) -->
<string name="config_defaultContentSuggestionsService" translatable="false">com.google.android.as/com.google.android.apps.miphone.aiai.app.AiAiContentSuggestionsService</string>
<!-- Launcher app suggestions -->
<string name="config_defaultAppPredictionService" translatable="false">com.google.android.as/com.google.android.apps.miphone.aiai.app.AiAiPredictionService</string>
<!-- Make AiAi the default role holder for System Intelligence -->
<string name="config_systemAmbientAudioIntelligence">com.google.android.as</string>
<string name="config_systemAudioIntelligence">com.google.android.as</string>
<string name="config_systemNotificationIntelligence">com.google.android.as</string>
<string name="config_systemTextIntelligence">com.google.android.as</string>
<string name="config_systemUiIntelligence">com.google.android.as</string>
<string name="config_systemVisualIntelligence">com.google.android.as</string>
<!-- List of packages that can use the Conversation space for their category messages <!-- List of packages that can use the Conversation space for their category messages
notifications until they target R --> notifications until they target R -->
@@ -113,9 +152,249 @@
<item>org.briarproject.briar.android</item> <item>org.briarproject.briar.android</item>
</string-array> </string-array>
<!-- Define device configs on boot -->
<string-array name="global_device_configs_override">
<!-- Disable always screen on -->
<item>attention_manager_service/keep_screen_on_enabled=false</item>
<!-- Enable app cloning -->
<item>app_cloning/cloned_apps_enabled=true</item>
<item>app_cloning/delete_all_app_clones_enabled=true</item>
<item>app_cloning/enable_app_cloning_building_blocks=true</item>
<!-- Enable new location indicators -->
<item>privacy/location_access_check_enabled=true</item>
<item>privacy/location_accuracy_enabled=true</item>
<item>privacy/location_indicator_settings_enabled=true</item>
<item>privacy/location_indicators_small_enabled=true</item>
<item>privacy/privacy_dashboard_7_day_toggle=true</item>
<!-- Enable shared connectivity -->
<item>wifi/shared_connectivity_enabled=true</item>
<!-- Don't pin camera app to save memory -->
<item>runtime_native_boot/pin_camera=false</item>
<!-- Globally enable the new photo picker -->
<item>storage_native_boot/take_over_get_content=true</item>
<!--
Device Personalization Services (AiAi)
-->
<!-- Adaptive Sound (Pixel 2020) -->
<item>device_personalization_services/AdaptiveAudio__enable_adaptive_audio=true</item>
<item>device_personalization_services/AdaptiveAudio__show_promo_notification=false</item>
<item>device_personalization_services/AdaptiveAudio__use_silence_detector_state_bug_fix=true</item>
<!-- Smartspace -->
<item>device_personalization_services/EchoSmartspace__enable_encode_subcard_into_smartspace_target_id=true</item>
<item>device_personalization_services/EchoSmartspace__enable_weather_data_extras=true</item>
<item>device_personalization_services/EchoSmartspace__ring_lockscreen_delay_seconds=0</item>
<item>device_personalization_services/EchoSmartspace__ring_on_aod_only=true</item>
<item>device_personalization_services/EchoSmartspace__show_background_switch=true</item>
<item>device_personalization_services/Echo__smartspace_enable_doorbell=true</item>
<item>device_personalization_services/Echo__smartspace_enable_earthquake_alert_predictor=true</item>
<item>device_personalization_services/Echo__smartspace_enable_echo_settings=true</item>
<item>device_personalization_services/Echo__smartspace_enable_echo_unified_settings=true</item>
<item>device_personalization_services/Echo__smartspace_enable_eta_lyft=true</item>
<item>device_personalization_services/Echo__smartspace_enable_light_off_predictor=true</item>
<item>device_personalization_services/Echo__smartspace_enable_light_predictor=false</item>
<item>device_personalization_services/Echo__smartspace_enable_outlook_events=false</item>
<item>device_personalization_services/Echo__smartspace_enable_package_delivery=true</item>
<item>device_personalization_services/Echo__smartspace_enable_paired_device_predictor=true</item>
<item>device_personalization_services/Echo__smartspace_enable_ridesharing_eta=true</item>
<item>device_personalization_services/Echo__smartspace_enable_safety_check_predictor=true</item>
<item>device_personalization_services/Echo__smartspace_enable_score_ranker=WEIGHTED</item>
<item>device_personalization_services/Echo__smartspace_enable_subcard_logging=true</item>
<item>device_personalization_services/Echo__smartspace_outlook_event_source_of_truth=TEXT_ONLY</item>
<item>device_personalization_services/Echo__smartspace_package_delivery_card_delay_seconds=0</item>
<!-- Notification Assistant (DPS) -->
<item>notification_assistant/generate_actions=true</item>
<item>notification_assistant/generate_replies=true</item>
<item>device_personalization_services/Notification__enable_otp_check_for_default_sms_package=true</item>
<item>device_personalization_services/Notification__enable_otp_in_smart_suggestion=true</item>
<!-- Now Playing -->
<item>device_personalization_services/NowPlaying__enable_now_playing_lock_screen_update=true</item>
<item>device_personalization_services/NowPlaying__enable_now_playing_quick_affordance=true</item>
<item>device_personalization_services/NowPlaying__enable_now_playing_quick_settings=true</item>
<!-- Screen attention (Pixel 2019) -->
<item>device_personalization_services/Attention__accel_sensor_enabled=false</item>
<item>device_personalization_services/Attention__accel_sensor_threshold_mss=0.2</item>
<item>device_personalization_services/Attention__enabled=true</item>
<item>device_personalization_services/Attention__margin_horizontal_px=1000</item>
<item>device_personalization_services/Attention__margin_vertical_px=1000</item>
<item>device_personalization_services/Attention__proximity_sensor_enabled=false</item>
<!-- Translation -->
<item>device_personalization_services/Translate__app_blocklist=com.google.android.talk</item>
<item>device_personalization_services/Translate__blue_chip_translate_enabled=true</item>
<item>device_personalization_services/Translate__characterset_lang_detection_enabled=true</item>
<item>device_personalization_services/Translate__chat_translate_languages=de,en,es,fr,it,ja,hi,zh,ru,pl,pt,ko,th,tr,nl,zh_Hant,sv,da,vi,ar,fa,no,bn,fil</item>
<item>device_personalization_services/Translate__copy_to_translate_enabled=true</item>
<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_dictionary_langid_detection=true</item>
<item>device_personalization_services/Translate__enable_opmv4_service=true</item>
<item>device_personalization_services/Translate__enable_settings_backup_restore=true</item>
<item>device_personalization_services/Translate__enable_setup_wizard_dialog_v2=true</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>
<item>device_personalization_services/Translate__text_to_text_language_list=vi,ja,fa,ro,nl,mr,mt,ar,ms,it,eo,is,et,es,iw,zh,uk,af,id,ur,mk,cy,hi,el,be,pt,lt,hr,lv,hu,ht,te,de,bg,th,bn,tl,pl,tr,kn,sv,gl,ko,sw,cs,da,ta,gu,ka,sl,ca,sk>device_personalization_services/Translate__translation_service_enabled=true</item>
<item>device_personalization_services/Translate__translator_expiration_enabled=true</item>
<item>device_personalization_services/Translate__use_translate_kit_streaming_api=true</item>
<!-- Speech Recognition -->
<item>device_personalization_services/TextClassifierParams__enable_dynamic_kg_collections=true</item>
<item>device_personalization_services/TextClassifierParams__enable_location_scorer=true</item>
<item>device_personalization_services/TextClassifierParams__enable_superpacks_custom_bin_processing=true</item>
<item>device_personalization_services/TextClassifierParams__enable_superpacks_multi_bulks_request=true</item>
<item>device_personalization_services/TextClassifierParams__max_allowable_bins_requests=0</item>
<item>device_personalization_services/TextClassifierParams__max_allowable_local_slice_size=0</item>
<item>device_personalization_services/TextClassifierParams__max_allowable_new_slices_size=95</item>
<item>device_personalization_services/TextClassifierParams__use_vocab_annotator=true</item>
<item>device_personalization_services/TextClassifierTcLib__enable_superpacks_kg_actions_ranking=true</item>
<item>device_personalization_services/TextClassifierTcLib__enable_tc_easter_egg=false</item>
<item>device_personalization_services/TextClassifierTcLib__enable_tc_easter_egg_logging=false</item>
<item>device_personalization_services/TextClassifierTcLib__enable_tclib_download_using_superpacks=true</item>
<item>device_personalization_services/TextClassifierTcLib__kg_actions_ranking_superpacks_manifest_version=211005</item>
<item>device_personalization_services/TextClassifierTcLib__kg_actions_ranking_superpacks_url_template=[https://gstatic.com/matchmaker/kg_actions_ranking_table/](https://gstatic.com/matchmaker/kg_actions_ranking_table/)%{VERSION}/superpacks_manifest.zip</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_action_name=</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_activity_name=</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_package_name=</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_templates=</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_url=</item>
<item>device_personalization_services/TextClassifierTcLib__tc_easter_egg_url_param=</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_actions_superpacks_manifest_url_template=[https://www.gstatic.com/matchmaker/tclib_models/actions/v](https://www.gstatic.com/matchmaker/tclib_models/actions/v)%{VERSION}/%{LOCALE}/superpacks_manifest.zip</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_actions_superpacks_manifest_version=104</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_annotator_superpacks_manifest_url_template=[https://www.gstatic.com/matchmaker/tclib_models/annotator/v](https://www.gstatic.com/matchmaker/tclib_models/annotator/v)%{VERSION}/%{LOCALE}/superpacks_manifest.zip</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_annotator_superpacks_manifest_version=903</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_langid_superpacks_manifest_url_template=[https://www.gstatic.com/matchmaker/tclib_models/langid/v](https://www.gstatic.com/matchmaker/tclib_models/langid/v)%{VERSION}/superpacks_manifest.zip</item>
<item>device_personalization_services/TextClassifierTcLib__tclib_langid_superpacks_manifest_version=1</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__enable_tclib=true</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__knowledge_graph_collections_table_superpacks_manifest_version=21102003</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__template_table_superpacks_manifest_url_template=[https://gstatic.com/matchmaker/template_table/21072101/](https://gstatic.com/matchmaker/template_table/21072101/)%{TEMPLATE_TABLE_FORMAT_NUMBER}/%{LOCALE}/superpacks_manifest.></item>
<item>device_personalization_services/TextClassifierWebrefDeploy__template_table_superpacks_manifest_version_v2=21072101</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__webref_superpacks_manifest_url_template=[https://gstatic.com/webref-ondevice/aiai/23072901_pir/](https://gstatic.com/webref-ondevice/aiai/23072901_pir/)%{FORMAT_NUMBER}/%{LOCALE}/superpacks_manifest.zip</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__webref_superpacks_manifest_version_v3=23072901</item>
<item>device_personalization_services/TextClassifierWebrefDeploy__webref_supported_locales=en,de,es,fr,it,ja,nl,no,pt,sv,nb</item>
<item>device_personalization_services/TextClassifierWebrefUrl__webref_url_template=[https://gstatic.com/webref-ondevice/aiai/](https://gstatic.com/webref-ondevice/aiai/)%{VERSION}_pir/%{FORMAT_NUMBER}/% {LOCALE}/superpacks_manifest.zip</item>
<!-- Gboard voice typing -->
<item>device_personalization_services/SmartDictation__cache_max_size=200</item>
<item>device_personalization_services/SmartDictation__caching_strategy=3</item>
<item>device_personalization_services/SmartDictation__enable_alternatives_from_past_corrections=true</item>
<item>device_personalization_services/SmartDictation__enable_alternatives_from_speech_hypotheses=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_commands=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_contact_fields=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_contacts=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_contacts_learned_from_past_corrections=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_interests_model=false</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_past_corrections=true</item>
<item>device_personalization_services/SmartDictation__enable_biasing_for_screen_context=true</item>
<item>device_personalization_services/SmartDictation__enable_personalized_biasing_on_locked_device=false</item>
<item>device_personalization_services/SmartDictation__enable_selection_filtering=true</item>
<item>device_personalization_services/SmartDictation__enable_stronger_boost_for_generic_phrases_biasing=true</item>
<item>device_personalization_services/SmartDictation__exclude_contacts_from_generic_biasing=false</item>
<item>device_personalization_services/SmartRecOverviewChips__enable_assistant_geller_data_index=false</item>
<item>device_personalization_services/SmartRecOverviewChips__nasa_superpacks_manifest_url=[https://www.gstatic.com/nasa/apps/non_en_pack_02072023/23020800/2/en-us/superpacks_manifest.zip](https://www.gstatic.com/nasa/apps/non_en_pack_02072023/23020800/2/en-us/superpacks_manifest.zip)</item>
<item>device_personalization_services/SmartRecOverviewChips__nasa_superpacks_manifest_ver=2023020700</item>
<item>device_personalization_services/SmartRecPixelSearch__disable_ee_sys_pointers=false</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_aiai_tc_generator=false</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_assistant_geller_data_index=false</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_feedback_ranking=true</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_gboard_suggestion=false</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_search_system_pointer_generator=true</item>
<item>device_personalization_services/SmartRecPixelSearch__enable_spelling_correction=true</item>
<item>device_personalization_services/SmartRecPixelSearch__promote_sys_pointer_in_psb=false</item>
<item>device_personalization_services/SmartRecPixelSearch__spelling_checker_frequency_score_overrides_map={"8":-7}</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_example_cache_on_suggest_selection=true</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_example_collection=true</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_example_store_connector=true</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_locked_bootloader_check=true</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_paste_package_signal=true</item>
<item>device_personalization_services/SmartSelect__enable_smart_select_training_manager_populations=false</item>
<item>device_personalization_services/SmartSelect__smart_select_example_ttl_ms=1209600000</item>
<!-- Pixel Launcher -->
<item>launcher/ANIMATE_LPNH=true</item>
<item>launcher/CUSTOM_LPNH_THRESHOLDS=true</item>
<item>launcher/ENABLE_LOCAL_RECOMMENDED_WIDGETS_FILTER=false</item>
<item>launcher/ENABLE_LPNH_TWO_STAGES=true</item>
<item>launcher/ENABLE_SEARCH_HAPTIC_HINT=true</item>
<item>launcher/ENABLE_WIDGETS_PICKER_AIAI_SEARCH=true</item>
<item>launcher/LPNH_HAPTIC_HINT_DELAY=0</item>
<item>launcher/LPNH_HAPTIC_HINT_ITERATIONS=50</item>
<item>launcher/LPNH_TIMEOUT_MS=450</item>
<item>launcher/SHRINK_NAV_HANDLE_ON_PRESS=true</item>
<item>launcher/TWO_STAGE_DURATION_PERCENTAGE=200</item>
<item>launcher/TWO_STAGE_SLOP_PERCENTAGE=66</item>
<item>launcher/android.provider.launcher_data_access=true</item>
<!-- Pixel Launcher (Recents) -->
<item>device_personalization_services/Overview__enable_barcode_detection=true</item>
<item>device_personalization_services/Overview__enable_image_search=true</item>
<item>device_personalization_services/Overview__enable_japanese_ocr=true</item>
<item>device_personalization_services/Overview__enable_lens_r_overview_long_press=true</item>
<item>device_personalization_services/Overview__enable_lens_r_overview_select_mode=true</item>
<item>device_personalization_services/Overview__enable_lens_r_overview_translate_action=true</item>
<!-- Disable federated learning -->
<item>device_personalization_services/OverviewFederatedAnalytics__enable_fa=false</item>
<item>device_personalization_services/OverviewFederatedAnalytics__enable_min_training_interval=false</item>
<item>device_personalization_services/OverviewFederatedAnalytics__enable_non_synthetic_logs=false</item>
<!-- Disable unused AiAi features -->
<item>device_personalization_services/Fedex__enable_fedex=false</item>
<item>device_personalization_services/Logging__enable_aiai_clearcut_logging=false</item>
<item>device_personalization_services/VisualCortex__enable=false</item>
<!-- System Ui -->
<item>systemui/clipboard_overlay_show_actions=true</item>
<item>systemui/quick_access_wallet_enabled=true</item>
<item>systemui/volume_separate_notification=true</item>
<!-- Media Provider -->
<item>mediaprovider/allowed_cloud_providers=com.google.android.apps.photos.cloudpicker</item>
<item>mediaprovider/cloud_media_feature_enabled=true</item>
<!-- Wallpaper Effects -->
<item>device_personalization_services/WallpaperEffects__cinematic_models_mdd_manifest_config=Ct4IEtsICiF3YWxscGFwZXJlZmZlY3RzLWNpbmVtYXRpYy1tb2RlbHMSwgESdWh0dHBzOi8vZGwuZ29vZ2xlLmNvbS9tZGktc2VydmluZy9haWFpLXdhbGxwYXBlcmVmZmVjdHMtY2luZW1hdGljLW1vZGVscy83NDYvNTk2NDgzNDA1MzljOGU2OWRmZGZlYjkzNTk0OTIzYWJmZDBmMGQwNyCM4JQFKig1OTY0ODM0MDUzOWM4ZTY5ZGZkZmViOTM1OTQ5MjNhYmZkMGYwZDA3OhJkZXB0aF9tb2RlbC50ZmxpdGV4AKIBAKoBABLIARJ1aHR0cHM6Ly9kbC5nb29nbGUuY29tL21kaS1zZXJ2aW5nL2FpYWktd2FsbHBhcGVyZWZmZWN0cy1jaW5lbWF0aWMtbW9kZWxzLzc0Ni84NmE3MWYwYTIwYjFhMjhiNTY4MTMwZTliYTZjMTYzZTdhZjQzMTg5IKzsyQQqKDg2YTcxZjBhMjBiMWEyOGI1NjgxMzBlOWJhNmMxNjNlN2FmNDMxODk6GHBlcnNvbl9wb3NlX21vZGVsLnRmbGl0ZXgAogEAqgEAEs0BEnVodHRwczovL2RsLmdvb2dsZS5jb20vbWRpLXNlcnZpbmcvYWlhaS13YWxscGFwZXJlZmZlY3RzLWNpbmVtYXRpYy1tb2RlbHMvNzQ2L2I2NTQxNDFiOTUwNjY3OTVlYjBlNjNlZDRkNzFiZjQxZDQyYjFhNmMgyPPNAiooYjY1NDE0MWI5NTA2Njc5NWViMGU2M2VkNGQ3MWJmNDFkNDJiMWE2YzodcGVyc29uX3NlZ21lbnRlcl9tb2RlbC50ZmxpdGV4AKIBAKoBABLLARJ1aHR0cHM6Ly9kbC5nb29nbGUuY29tL21kaS1zZXJ2aW5nL2FpYWktd2FsbHBhcGVyZWZmZWN0cy1jaW5lbWF0aWMtbW9kZWxzLzc0Ni9lOTllZWJlMDQ2NDk4ZmU2N2MzMzdjZmZkMzkzODM4NTVkMjE0NjM5INCXrwIqKGU5OWVlYmUwNDY0OThmZTY3YzMzN2NmZmQzOTM4Mzg1NWQyMTQ2Mzk6G3JnYmRfaW5wYWludGVyX21vZGVsLnRmbGl0ZXgAogEAqgEAEsQBEnVodHRwczovL2RsLmdvb2dsZS5jb20vbWRpLXNlcnZpbmcvYWlhaS13YWxscGFwZXJlZmZlY3RzLWNpbmVtYXRpYy1tb2RlbHMvNzQ2L2ExNjQ4ZjQ2NDYyZDVmMTExOTVjNmEyYTBhN2M0MTMyZTEwNzJjMDIgsLo6KihhMTY0OGY0NjQ2MmQ1ZjExMTk1YzZhMmEwYTdjNDEzMmUxMDcyYzAyOhVzYWxpZW5jeV9tb2RlbC50ZmxpdGV4AKIBAKoBABgAUABYAGoECAEQAHAAogEAqAEAuAHqBdIBB2RlZmF1bHTaAQDiARsKBwgBEJ+xjRcKBwgCEKCxjRcKBwgDEKGxjRc</item>
<item>device_personalization_services/WallpaperEffects__enable_allow_fg_download_on_cellular=true</item>
<item>device_personalization_services/WallpaperEffects__enable_cinematic_effect=true</item>
<item>device_personalization_services/WallpaperEffects__enable_cinematic_mdd=true</item>
<item>device_personalization_services/WallpaperEffects__enable_foreground_model_download=true</item>
<item>device_personalization_services/WallpaperEffects__enable_person_segment_tpu=true</item>
<item>device_personalization_services/WallpaperEffects__return_texturedmesh_with_error_status=true</item>
<item>device_personalization_services/WallpaperEffects__use_gpu=true</item>
<item>device_personalization_services/WallpaperEffects__use_tpu=false</item>
<!-- Settings -->
<item>settings_ui/bt_advanced_header_enabled=true</item>
<item>settings_ui/bt_le_audio_contact_sharing_enabled=true</item>
<item>settings_ui/bt_near_by_suggestion_enabled=true</item>
<item>settings_ui/bt_slice_settings_enabled=true</item>
<!-- Window Manager splash screen exemption -->
<item>window_manager/splash_screen_exception_list=com.facebook.lite,com.facebook.mlite,com.instagram.android,tv.twitch.android.app,tv.twitch.android.viewer,org.iggymedia.periodtracker,com.ohmgames.cheatandrun,com.skgames.trafficracer,com.skgames.trafficrider,com.skgames.wingsonfiregame,com.microblink.photomath,com.cam001.selfie,com.soundcloud.android,com.skype.raider,com.phonepe.app,jp.naver.line.android,com.facebook.stella,in.startv.hotstar,in.startv.hotstar.dplus,ru.yandex.yandexnavi,com.google.android.apps.nbu.paisa.user,net.one97.paytm,com.viber.voip,com.king.candycrushsaga,com.roblox.client,com.picsart.studio,com.jio.myjio,in.mohalla.sharechat,com.imo.android.imoim,com.discord,com.meesho.supply,com.kiloo.subwaysurf,com.booking,com.jio.media.jiobeats,com.nexstreaming.app.kinemasterfree,com.nhn.android.navercafe,br.com.gabba.Caixa,com.nu.production,com.funnypuri.client,com.gaana,com.graymatrix.did,com.canva.editor,com.mercadopago.wallet,com.overdrive.mobile.android.libby,com.duolingo,com.taxis99,br.com.bb.android,id.dana,com.wix.android,com.bigwinepot.nwdn.international,com.lazygeniouz.saveit,com.instagram.lite,com.picpay,com.tv.v18.viola,com.bradesco,org.iggymedia.periodtracker,com.didiglobal.passenger,com.iqiyi.i18n,com.naver.linewebtoon,com.sonyliv,ru.dublgis.dgismobile,com.itau,tr.gov.turkiye.edevlet.kapisi,com.mcdonalds.mobileapp,com.pandora.android,com.ixigo.train.ixitrain,com.realme.link,com.videoeditorpro.android,br.gov.caixa.fgts.trabalhador,com.bancomer.mbanking,br.gov.serpro.cnhe,de.zalando.mobile,com.agoda.mobile.consumer,photoeditor.layout.collagemaker,com.heytap.quickgame,photo.editor.photoeditor.photoeditorpro,video.reface.app,sortpuz.water.sort.puzzle.game,in.cricketexchange.app.cricketexchange,me.zepeto.main,com.axis.mobile,br.com.santander.way,com.novapontocom.casasbahia,pdf.tap.scanner,com.mic.bluezone,instagram.photo.video.downloader.repost.insta,com.bankofbaroda.mconnect,media.music.musicplayer,org.jw.jwlibrary.mobile,com.superbinogo.jungleboyadventure,br.com.intermedium,com.indiaBulls,com.traveloka.android,com.portonics.mygp,com.unicostudio.braintest,com.unicostudio.braintest2new,com.pedidosya,com.naver.vapp,com.microsoft.xboxone.smartglass,com.mind.quiz.brain.out,th.co.truemoney.wallet,com.itaucard.activity,com.ubercab.driver,in.gov.umang.negd.g2c,com.Dominos,omegle.tv,com.chase.sig.android,com.rockstargames.gtasa,com.snowcorp.vita,com.forshared.files,com.bpjstku,com.taxsee.taxsee,com.wallapop,puzzle.blockpuzzle.cube.relax,com.dd.doordash,com.nvt.cs,com.garanti.cepsubesi,com.inditex.zara,net.telewebion,com.fogg.photovideomaker,naukriApp.appModules.login,com.nttdocomo.android.dmenu2,com.emeint.android.myservices,com.fundevs.app.mediaconverter,com.mobikwik_new.bajajfinserv,com.scores365,com.themausoft.wpsapp,com.mcdo.mcdonalds,com.ge.capital.konysbiapp,com.glovo,com.picmax.wemoji,com.oyo.consumer,com.funcamerastudio.videomaker,com.comuto,my.com.tngdigital.ewallet,com.instagram.layout,com.ykb.android,br.com.mobicare.minhaoi,com.citibanamex.banamexmobile,com.nhn.android.webtoon,com.evernote,com.lyxoto.master.forminecraftpe,com.tripadvisor.tripadvisor,jp.co.mcdonalds.android,com.lguplus.mobile.cs,app.trell,com.infraware.office.link,com.iqoption,com.jazz.jazzworld,com.lomotif.android,glitchvideoeditor.videoeffects.glitchvideoeffect,videoplayer.videodownloader.hdvideoplayer,com.tmobile.pr.mytmobile,com.swifthawk.picku.free</item>
<!-- Autofill compatibility apps -->
<item>autofill/compat_mode_allowed_packages=com.android.chrome[url_bar]:com.brave.browser[url_bar]:com.brave.browser_beta[url_bar]:com.brave.browser_nightly[url_bar]:com.chrome.beta[url_bar]:com.chrome.dev[url_bar]:com.chrome.canary[url_bar]:com.microsoft.emmx[url_bar]:com.microsoft.emmx.beta[url_bar]:com.microsoft.emmx.canary[url_bar]:com.microsoft.emmx.dev[url_bar]:com.opera.browser[url_field]:com.opera.browser.beta[url_bar]:com.opera.mini.native[url_bar]:com.opera.mini.native.beta[url_bar]:com.sec.android.app.sbrowser[location_bar_edit_text]:com.sec.android.app.sbrowser.beta[location_bar_edit_text]:org.mozilla.fennec_aurora[url_bar]:org.mozilla.firefox[url_bar]:org.mozilla.firefox_beta[url_bar]:org.chromium.chrome[url_bar]</item>
</string-array>
<!-- Flag indicating which package name can access DeviceConfig table --> <!-- Flag indicating which package name can access DeviceConfig table -->
<string name="config_deviceConfiguratorPackageName" translatable="false">org.protonaosp.deviceconfig</string> <string name="config_deviceConfiguratorPackageName" translatable="false">org.protonaosp.deviceconfig</string>
<!-- Indicating if keyboard vibration settings supported or not. -->
<bool name="config_keyboardVibrationSettingsSupported">true</bool>
<!-- Wallpaper cropper package. Used as the default cropper if the active launcher doesn't <!-- Wallpaper cropper package. Used as the default cropper if the active launcher doesn't
handle wallpaper cropping. handle wallpaper cropping.
--> -->
@@ -170,5 +449,90 @@
<string name="config_rawContactsLocalAccountType" translatable="false">com.android.contacts</string> <string name="config_rawContactsLocalAccountType" translatable="false">com.android.contacts</string>
<!-- Name of the font family to use in the default lockscreen clock --> <!-- Name of the font family to use in the default lockscreen clock -->
<string name="config_clockFontFamily" translatable="false" /> <string name="config_clockFontFamily" translatable="false">google-sans-clock</string>
<!-- Name of a font family to use for body text. -->
<string name="config_bodyFontFamily" translatable="false">google-sans-text</string>
<!-- Name of a font family to use for medium body text. -->
<string name="config_bodyFontFamilyMedium" translatable="false">google-sans-text-medium</string>
<!-- Name of a font family to use as light font. For theming purpose. -->
<string name="config_lightFontFamily" translatable="false">google-sans-text</string>
<!-- Name of a font family to use as regular font. For theming purpose. -->
<string name="config_regularFontFamily" translatable="false">google-sans</string>
<!-- Name of a font family to use for headlines. If empty, falls back to platform default -->
<string name="config_headlineFontFamily">google-sans</string>
<string name="config_headlineFontFamilyMedium">google-sans-medium</string>
<string name="config_headlineFontFeatureSettings">ss03</string>
<!-- List of system apps that are allowed to be locked with app lock.
Use with extreme caution. -->
<string-array name="config_appLockAllowedSystemApps" translatable="false">
<!-- Calculator -->
<item>com.google.android.calculator</item>
<!-- Calendar -->
<item>com.google.android.calendar</item>
<!-- Camera -->
<item>com.google.android.GoogleCamera</item>
<!-- OnePlus Camera -->
<item>com.oneplus.camera</item>
<!-- Xiaomi Camera -->
<item>com.android.camera</item>
<!-- Camera Go -->
<item>com.google.android.apps.cameralite</item>
<!-- Chrome -->
<item>com.android.chrome</item>
<!-- Clock -->
<item>com.google.android.deskclock</item>
<!-- Contact -->
<item>com.google.android.contacts</item>
<!-- Drive -->
<item>com.google.android.apps.docs</item>
<!-- Files -->
<item>com.google.android.apps.nbu.files</item>
<!-- Gallery go -->
<item>com.google.android.apps.photosgo</item>
<!-- Oneplus Gallery -->
<item>com.oneplus.gallery</item>
<!-- Gmail -->
<item>com.google.android.gm</item>
<!-- Maps -->
<item>com.google.android.apps.maps</item>
<!-- Messaging -->
<item>com.google.android.messaging</item>
<!-- Play store -->
<item>com.android.vending</item>
<!-- Photos -->
<item>com.google.android.apps.photos</item>
<!-- Youtube -->
<item>com.google.android.youtube</item>
<!-- AOSP apps -->
<item>com.android.contacts</item>
<item>com.android.dialer</item>
<item>com.android.documentsui</item>
<item>com.android.messaging</item>
<!-- Other apps -->
<item>com.chiller3.bcr</item>
<item>com.wstxda.viper4android</item>
<item>org.lineageos.aperture</item>
<item>org.lineageos.recorder</item>
</string-array>
<!-- Suppress Intent Filter Verification Service crashes and System UI ANRs (both AOSP bugs) -->
<string translatable="false" name="config_appsNotReportingCrashes">com.android.statementservice,com.android.systemui,com.google.android.as,com.google.android.tts</string>
<!-- If true, the display will be shifted around in ambient mode. -->
<bool name="config_enableBurnInProtection">true</bool>
<!-- If supported, are dreams enabled? (by default) -->
<bool name="config_dreamsEnabledByDefault">false</bool>
<!-- AOD wallpaper -->
<bool name="config_dozeSupportsAodWallpaper">true</bool>
<!-- Whether the developer option for desktop mode is supported on the current device -->
<bool name="config_isDesktopModeDevOptionSupported">true</bool>
</resources> </resources>

View File

@@ -31,6 +31,6 @@
</webviewprovider> </webviewprovider>
<!-- The default WebView implementation --> <!-- The default WebView implementation -->
<webviewprovider description="AOSP WebView" packageName="com.android.webview" availableByDefault="true" /> <webviewprovider description="AOSP WebView" packageName="com.android.webview" availableByDefault="true" isFallback="true" />
</webviewproviders> </webviewproviders>

View File

@@ -19,7 +19,7 @@
<resources> <resources>
<bool name="def_wifi_on">true</bool> <bool name="def_wifi_on">true</bool>
<string name="def_backup_transport">com.stevesoltys.seedvault.transport.ConfigurableBackupTransport</string> <string name="def_backup_transport">com.google.android.gms/.backup.BackupTransportService</string>
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting, <!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation which is a comma separated list of packages that no longer need confirmation
@@ -29,4 +29,13 @@
<!-- This is disabled by default, but turned on in SetupWizard --> <!-- This is disabled by default, but turned on in SetupWizard -->
<bool name="assisted_gps_enabled">false</bool> <bool name="assisted_gps_enabled">false</bool>
<bool name="def_bluetooth_on">false</bool>
<integer name="def_screen_off_timeout">30000</integer>
<bool name="def_screen_brightness_automatic_mode">true</bool>
<!-- Default for Settings.System.VIBRATE_WHEN_RINGING -->
<bool name="def_vibrate_when_ringing">true</bool>
</resources> </resources>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Whether to use the split 2-column notification shade -->
<bool name="config_use_split_notification_shade">true</bool>
</resources>

View File

@@ -23,6 +23,23 @@
<item>com.android.systemui</item> <item>com.android.systemui</item>
<item>com.android.systemui.plugin.globalactions.wallet</item> <item>com.android.systemui.plugin.globalactions.wallet</item>
<item>org.lineageos.settings.device</item> <item>org.lineageos.settings.device</item>
<item>com.android.systemui.clocks</item>
<item>com.android.systemui.clocks.debug</item>
<item>com.android.systemui.clocks.bignum</item>
<item>com.android.systemui.clocks.calligraphy</item>
<item>com.android.systemui.clocks.flex</item>
<item>com.android.systemui.clocks.growth</item>
<item>com.android.systemui.clocks.handwritten</item>
<item>com.android.systemui.clocks.inflate</item>
<item>com.android.systemui.clocks.metro</item>
<item>com.android.systemui.clocks.numoverlap</item>
<item>com.android.systemui.clocks.weather</item>
<item>com.libremobileos.clock</item>
</string-array>
<string-array name="config_pluginWhitelist">
<item>com.android.systemui</item>
<item>com.android.systemui.plugin.globalactions.wallet</item>
</string-array> </string-array>
<!-- Icons that don't show in a collapsed non-keyguard statusbar --> <!-- Icons that don't show in a collapsed non-keyguard statusbar -->
@@ -40,4 +57,22 @@
<!-- Whether or not lockscreen shortcuts can be customized --> <!-- Whether or not lockscreen shortcuts can be customized -->
<bool name="custom_lockscreen_shortcuts_enabled" translatable="false">true</bool> <bool name="custom_lockscreen_shortcuts_enabled" translatable="false">true</bool>
<!-- A collection of defaults for the quick affordances on the lock screen. Each item must be a
string with two parts: the ID of the slot and the comma-delimited list of affordance IDs,
separated by a colon ':' character. For example: <item>bottom_end:home,wallet</item>. The
default is displayed by System UI as long as the user hasn't made a different choice for that
slot. If the user did make a choice, even if the choice is the "None" option, the default is
ignored. -->
<string-array name="config_keyguardQuickAffordanceDefaults" translatable="false">
<item>bottom_start:flashlight</item>
<item>bottom_end:camera</item>
</string-array>
<!-- Time (in ms) to delay the bouncer views from showing when passive auth may be used for
device entry. -->
<integer name="primary_bouncer_passive_auth_delay">0</integer>
<!-- Biometric Dialog values -->
<integer name="biometric_dialog_text_gravity">1</integer> <!-- CENTER_HORIZONTAL -->
</resources> </resources>

View File

@@ -18,4 +18,7 @@
<resources> <resources>
<!-- Remove power menu shadow --> <!-- Remove power menu shadow -->
<dimen name="global_actions_translate">0dp</dimen> <dimen name="global_actions_translate">0dp</dimen>
<!-- Biometric Dialog values -->
<dimen name="biometric_dialog_corner_size">@*android:dimen/config_bottomDialogCornerRadius</dimen>
</resources> </resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 crDroid Android 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>
<!-- Determines whether the shell features all run on another thread. This is to be overrided
by the resources of the app using the Shell library. -->
<bool name="config_enableShellMainThread">true</bool>
</resources>

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