Compare commits
151 Commits
evolution
...
evolution-
| Author | SHA1 | Date | |
|---|---|---|---|
|
290b1191d5
|
|||
|
e05397466a
|
|||
|
|
468d63fe4b | ||
|
|
c974706cc1 | ||
|
|
7bb5e1e3ff | ||
|
|
f7112ea765 | ||
|
|
4e83becd58 | ||
|
|
f4ebfb3595 | ||
|
|
8f9a4aef96 | ||
|
|
98b54570b1 | ||
|
|
0cfa2358f5 | ||
|
|
58aee5ff97 | ||
|
|
5836f5b336 | ||
|
|
a3286043ad | ||
|
|
e0aa365242 | ||
|
|
852795d7cd | ||
|
|
7154928371 | ||
|
|
617abf6f79 | ||
|
|
a506252889 | ||
|
|
d86bfcedb2 | ||
|
|
0104cfec00 | ||
|
|
795f087501 | ||
|
|
45a21f0bc6 | ||
|
|
31b7b1067c | ||
|
|
e56843af91 | ||
|
|
776bd82df0 | ||
|
|
16b35e6e3a | ||
|
|
b3e62520de | ||
|
|
2ac0769b34 | ||
|
|
a808a8a010 | ||
|
|
2c3af1e115 | ||
|
|
534d5801c8 | ||
|
|
5cd0d3623d | ||
|
|
1e4f7d3e72 | ||
|
|
5f81c82479 | ||
|
|
46b9fd4783 | ||
|
|
fb8f289abf | ||
|
|
f811610942 | ||
|
|
44bf8347de | ||
|
|
7f203dc2d5 | ||
|
|
35c298e43d | ||
|
|
a877ac06c0 | ||
|
|
b25a23be68 | ||
|
|
075cbb0cb9 | ||
|
|
3332d1eec0 | ||
|
|
2e6466b667 | ||
|
|
10bde2f98f | ||
|
|
5716b2976e | ||
|
|
fdf408879d | ||
|
|
29cf9b8f86 | ||
|
|
801eba4fe6 | ||
|
|
c91e5c99b6 | ||
|
|
9ae27922de | ||
|
|
b20e86e134 | ||
|
|
c6fcccfa76 | ||
|
|
3858954704 | ||
|
|
5aee852fe3 | ||
|
|
f1c5b331e1 | ||
|
|
7b2ef349a3 | ||
|
|
c87a6a11cc | ||
|
|
7a32438b79 | ||
|
|
72fe2bbe21 | ||
|
|
77ca01550c | ||
|
|
dd9c62de14 | ||
|
|
4100b28494 | ||
|
|
aeae0ff938 | ||
|
|
252aceca30 | ||
|
|
4624998ca5 | ||
|
|
c7ec8d9f43 | ||
|
|
40c047dd71 | ||
|
|
f93d4358fb | ||
|
|
85bd34fd5f | ||
|
|
39f86dd46b | ||
|
|
45b0046f10 | ||
|
|
c5a68503f5 | ||
|
|
45233f9a96 | ||
|
|
37a1edce1e | ||
|
|
4472b9bb17 | ||
|
|
82d8233997 | ||
|
|
01831af7c5 | ||
|
|
8da4c728a3 | ||
|
|
4526af71d3 | ||
|
|
ce2fb744bd | ||
|
|
8c18a112eb | ||
|
|
1aa9e1b735 | ||
|
|
b6efc5314c | ||
|
|
4d01d271b2 | ||
|
|
ba368b5ffc | ||
|
|
50d522f2c0 | ||
|
|
e436bc7cc1 | ||
|
|
0f348e887b | ||
|
|
275ad94659 | ||
|
|
7fb33c7705 | ||
|
|
a7b856f160 | ||
|
|
8e6fd3b6ce | ||
|
|
e9feea68e2 | ||
|
|
c8127f18b4 | ||
|
|
de16578c93 | ||
|
|
fd6b758c7f | ||
|
|
acd412212e | ||
|
|
0c94a20103 | ||
|
|
662ea9a755 | ||
|
|
d3fd98698c | ||
|
|
62720f5e8f | ||
|
|
21a84a750a | ||
|
|
1899bff18b | ||
|
|
26ace7a660 | ||
|
|
baa91d987e | ||
|
|
369b1e1858 | ||
|
|
dee542ca66 | ||
|
|
10d4d25906 | ||
|
|
226e98f24c | ||
|
|
5f61bbda29 | ||
|
|
7a635e18dd | ||
|
|
51ee75ac8b | ||
|
|
a62af4e9c5 | ||
|
|
6482670328 | ||
|
|
9213b1fc97 | ||
|
|
a8297f94d2 | ||
|
|
d1426b7b86 | ||
|
|
541502dcb2 | ||
|
|
623bf52db7 | ||
|
|
155268d1d5 | ||
|
|
5ff4b359e0 | ||
|
|
0dad068ca4 | ||
|
|
5b14df1236 | ||
|
|
497d0a9a0a | ||
|
|
a55147194e | ||
|
|
0b46704bc0 | ||
|
|
e187f34e74 | ||
|
|
18a2f3be24 | ||
|
|
e37930275b | ||
|
|
857e22c812 | ||
|
|
2fb2ee0fae | ||
|
|
9ec8ab7097 | ||
|
|
e1a53160e0 | ||
|
|
c4f7580013 | ||
|
|
d9a39a25f4 | ||
|
|
163c0f77be | ||
|
|
af993abe8e | ||
|
|
d3ff888605 | ||
|
|
d31ef2798e | ||
|
|
d7666177e8 | ||
|
|
2fad9fba44 | ||
|
|
5052a73964 | ||
|
|
de0a1a1e67 | ||
|
|
137876a2aa | ||
|
|
8d47278bd3 | ||
|
|
1bea6247d5 | ||
|
|
412f513e14 | ||
|
|
026d9994ff |
26
README.mkdn
@@ -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/).
|
||||
|
||||
@@ -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
@@ -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)
|
||||
@@ -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
|
||||
BIN
bootanimation/prebuilts/bootanimation_aokp.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_cm.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_ctos.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_cyberpunk.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_du.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_evo_reveal.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_google.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_google_monet.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_pac.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_rr.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_slim.zip
Normal file
BIN
bootanimation/prebuilts/bootanimation_valorant.zip
Normal file
32
bootanimation/prebuilts/prebuilts.mk
Normal 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
|
||||
@@ -32,7 +32,7 @@ function brunch()
|
||||
{
|
||||
breakfast $*
|
||||
if [ $? -eq 0 ]; then
|
||||
mka bacon
|
||||
mka evolution
|
||||
else
|
||||
echo "No such item in brunch menu. Try 'breakfast'"
|
||||
return 1
|
||||
@@ -707,7 +707,7 @@ function cmka() {
|
||||
if [ ! -z "$1" ]; then
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
bacon|otapackage|systemimage)
|
||||
evolution|otapackage|systemimage)
|
||||
mka installclean
|
||||
mka $i
|
||||
;;
|
||||
@@ -1012,3 +1012,17 @@ function build_kernel() {
|
||||
chmod -x "${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
|
||||
|
||||
@@ -108,3 +108,20 @@ cc_library_headers {
|
||||
name: "prebuilt_kernel_headers",
|
||||
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"],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -151,8 +151,8 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
tool := ctx.OtherModuleName(module)
|
||||
var path android.OptionalPath
|
||||
|
||||
if t, ok := module.(HostToolProvider); ok {
|
||||
if !t.(android.Module).Enabled(ctx) {
|
||||
if t, ok := android.OtherModuleProvider(ctx, module, android.HostToolProviderInfoProvider); ok {
|
||||
if !android.OtherModulePointerProviderOrDefault(ctx, module, android.CommonModuleInfoProvider).Enabled {
|
||||
if ctx.Config().AllowMissingDependencies() {
|
||||
ctx.AddMissingDependencies([]string{tool})
|
||||
} else {
|
||||
@@ -160,7 +160,7 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
}
|
||||
break
|
||||
}
|
||||
path = t.HostToolPath()
|
||||
path = t.HostToolPath
|
||||
} else {
|
||||
ctx.ModuleErrorf("%q is not a host tool provider", tool)
|
||||
break
|
||||
@@ -188,7 +188,7 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
return
|
||||
}
|
||||
|
||||
toolFiles := ctx.ExpandSources(g.properties.Tool_files, nil)
|
||||
toolFiles := android.PathsForModuleSrc(ctx, g.properties.Tool_files)
|
||||
for _, tool := range toolFiles {
|
||||
g.implicitDeps = append(g.implicitDeps, tool)
|
||||
if _, exists := tools[tool.Rel()]; !exists {
|
||||
|
||||
2
build/target/product/product_launched_with_j.mk
Normal 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
|
||||
2
build/target/product/product_launched_with_j_mr1.mk
Normal 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
|
||||
2
build/target/product/product_launched_with_j_mr2.mk
Normal 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
@@ -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}"
|
||||
@@ -14,16 +14,19 @@
|
||||
# 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
|
||||
|
||||
$(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) ./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
|
||||
|
||||
.PHONY: bacon
|
||||
bacon: $(LINEAGE_TARGET_PACKAGE) $(DEFAULT_GOAL)
|
||||
.PHONY: evolution
|
||||
evolution: $(LINEAGE_TARGET_PACKAGE) $(DEFAULT_GOAL)
|
||||
@@ -268,6 +268,11 @@ ifneq ($(TARGET_KERNEL_ADDITIONAL_FLAGS),)
|
||||
KERNEL_MAKE_FLAGS += $(TARGET_KERNEL_ADDITIONAL_FLAGS)
|
||||
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
|
||||
# $(1): output path (The value passed to O=)
|
||||
# $(2): target to build (eg. defconfig, modules, dtbo.img)
|
||||
|
||||
126
build/tools/createjson.py
Executable 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()
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (C) 2012-2013, The CyanogenMod 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");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -16,11 +17,12 @@
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import base64
|
||||
import glob
|
||||
import json
|
||||
import netrc
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import urllib.error
|
||||
import urllib.parse
|
||||
@@ -45,22 +47,38 @@ except:
|
||||
device = product
|
||||
|
||||
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 = []
|
||||
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
print("Failed to fetch data from GitHub")
|
||||
print("Failed to search GitHub")
|
||||
sys.exit(1)
|
||||
except ValueError:
|
||||
print("Failed to parse return data from GitHub")
|
||||
sys.exit(1)
|
||||
for res in result.findall('.//project'):
|
||||
repositories.append(res.attrib['name'][10:])
|
||||
for res in result.get('items', []):
|
||||
repositories.append(res)
|
||||
|
||||
local_manifests = r'.repo/local_manifests'
|
||||
if not os.path.exists(local_manifests): os.makedirs(local_manifests)
|
||||
@@ -100,12 +118,6 @@ def get_manifest_path():
|
||||
except IndexError:
|
||||
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):
|
||||
for path in glob.glob(".repo/local_manifests/*.xml"):
|
||||
try:
|
||||
@@ -115,7 +127,7 @@ def get_from_manifest(devicename):
|
||||
lm = ElementTree.Element("manifest")
|
||||
|
||||
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 None
|
||||
@@ -154,6 +166,17 @@ def is_in_manifest(projectpath):
|
||||
if localpath.get("path") == projectpath:
|
||||
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
|
||||
|
||||
def add_to_manifest(repositories):
|
||||
@@ -169,41 +192,45 @@ def add_to_manifest(repositories):
|
||||
for repository in repositories:
|
||||
repo_name = repository['repository']
|
||||
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))
|
||||
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
|
||||
|
||||
project = ElementTree.Element("project", attrib = {
|
||||
project_attrib = {
|
||||
"path": repo_target,
|
||||
"remote": "github",
|
||||
"name": "LineageOS/%s" % repo_name,
|
||||
"revision": repo_revision })
|
||||
if repo_remote := repository.get("remote", None):
|
||||
# aosp- remotes are only used for kernel prebuilts, thus they
|
||||
# don't let you customize clone-depth/revision.
|
||||
if repo_remote.startswith("aosp-"):
|
||||
project.attrib["name"] = repo_name
|
||||
project.attrib["remote"] = repo_remote
|
||||
project.attrib["clone-depth"] = "1"
|
||||
del project.attrib["revision"]
|
||||
if project.attrib.get("revision", None) == get_default_revision():
|
||||
del project.attrib["revision"]
|
||||
print("Adding dependency: %s -> %s" % (project.attrib["name"], project.attrib["path"]))
|
||||
"name": repo_name,
|
||||
"remote": repo_remote,
|
||||
}
|
||||
|
||||
if repo_revision and not (repo_remote == "evo-devices" and repo_revision == get_default_or_fallback_revision(repo_name)):
|
||||
project_attrib["revision"] = repo_revision
|
||||
|
||||
project = ElementTree.Element("project", attrib=project_attrib)
|
||||
|
||||
if repo_remote.startswith("aosp-"):
|
||||
project.set("clone-depth", "1")
|
||||
project.attrib.pop('revision', None)
|
||||
|
||||
print("Adding dependency: %s -> %s" % (repo_name, repo_target))
|
||||
lm.append(project)
|
||||
|
||||
indent(lm, 0)
|
||||
raw_xml = ElementTree.tostring(lm).decode()
|
||||
raw_xml = '<?xml version="1.0" encoding="UTF-8"?>\n' + raw_xml
|
||||
|
||||
f = open('.repo/local_manifests/roomservice.xml', 'w')
|
||||
f.write(raw_xml)
|
||||
f.close()
|
||||
with open('.repo/local_manifests/roomservice.xml', 'w') as f:
|
||||
f.write(raw_xml)
|
||||
|
||||
def fetch_dependencies(repo_path):
|
||||
print('Looking for dependencies in %s' % repo_path)
|
||||
dependencies_path = repo_path + '/lineage.dependencies'
|
||||
dependencies_path = repo_path + '/evolution.dependencies'
|
||||
syncable_repos = []
|
||||
verify_repos = []
|
||||
|
||||
@@ -244,37 +271,34 @@ def fetch_dependencies(repo_path):
|
||||
for deprepo in verify_repos:
|
||||
fetch_dependencies(deprepo)
|
||||
|
||||
def get_default_or_fallback_revision(repo_name):
|
||||
default_revision = get_default_revision()
|
||||
print("Default revision: %s" % default_revision)
|
||||
print("Checking branch info")
|
||||
|
||||
def get_remote_revision_from_snippet(snippet_path, remote_name):
|
||||
try:
|
||||
stdout = subprocess.run(
|
||||
["git", "ls-remote", "-h", "https://:@github.com/LineageOS/" + repo_name],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
).stdout.decode()
|
||||
branches = [x.split("refs/heads/")[-1] for x in stdout.splitlines()]
|
||||
except:
|
||||
return ""
|
||||
tree = ElementTree.parse(snippet_path)
|
||||
root = tree.getroot()
|
||||
remote = root.find(f".//remote[@name='{remote_name}']")
|
||||
if remote is not None:
|
||||
revision = remote.get('revision')
|
||||
return revision.split('/')[-1]
|
||||
except FileNotFoundError:
|
||||
print(f"Error: {snippet_path} not found.")
|
||||
raise
|
||||
except ElementTree.ParseError:
|
||||
print(f"Error: There was a problem parsing {snippet_path}.")
|
||||
raise
|
||||
|
||||
if default_revision in branches:
|
||||
return default_revision
|
||||
raise ValueError(f"Remote {remote_name} not found in the snippet.")
|
||||
|
||||
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
|
||||
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)
|
||||
|
||||
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 ""
|
||||
fallback_revision = os.getenv('ROOMSERVICE_FALLBACK_REVISION')
|
||||
|
||||
if fallback_revision:
|
||||
print("Using fallback revision from environment: %s" % fallback_revision)
|
||||
return fallback_revision
|
||||
|
||||
return default_revision
|
||||
|
||||
if depsonly:
|
||||
repo_path = get_from_manifest(device)
|
||||
@@ -286,11 +310,12 @@ if depsonly:
|
||||
sys.exit()
|
||||
|
||||
else:
|
||||
for repo_name in repositories:
|
||||
if re.match(r"^android_device_[^_]*_" + device + "$", repo_name):
|
||||
print("Found repository: %s" % repo_name)
|
||||
|
||||
manufacturer = repo_name.replace("android_device_", "").replace("_" + device, "")
|
||||
for repository in repositories:
|
||||
repo_name = repository['name']
|
||||
if re.match(r"^device_[^_]*_" + device + "$", repo_name):
|
||||
print("Found repository: %s" % repository['name'])
|
||||
|
||||
manufacturer = repo_name.replace("device_", "").replace("_" + device, "")
|
||||
repo_path = "device/%s/%s" % (manufacturer, device)
|
||||
revision = get_default_or_fallback_revision(repo_name)
|
||||
if revision == "":
|
||||
@@ -311,4 +336,4 @@ else:
|
||||
print("Done")
|
||||
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)
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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
|
||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
@@ -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
|
||||
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 18 KiB |
@@ -116,6 +116,11 @@ endif
|
||||
# Clear this first to prevent accidental poisoning from env
|
||||
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
|
||||
KERNEL_MAKE_FLAGS += -j$(shell getconf _NPROCESSORS_ONLN)
|
||||
|
||||
|
||||
@@ -18,37 +18,37 @@ EXPORT_TO_SOONG := \
|
||||
# Documentation here:
|
||||
# https://github.com/LineageOS/android_build_soong/commit/8328367c44085b948c003116c0ed74a047237a69
|
||||
|
||||
$(call add_soong_config_namespace,lineageVarsPlugin)
|
||||
$(foreach v,$(EXPORT_TO_SOONG),$(eval $(call add_soong_config_var,lineageVarsPlugin,$(v))))
|
||||
SOONG_CONFIG_NAMESPACES += lineageVarsPlugin
|
||||
|
||||
# Bootanimation
|
||||
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))
|
||||
SOONG_CONFIG_lineageVarsPlugin :=
|
||||
|
||||
ifneq ($(TARGET_BOOTANIMATION),)
|
||||
$(call soong_config_set,lineage_bootanimation,prebuilt_file,$(TARGET_BOOTANIMATION))
|
||||
endif
|
||||
define addVar
|
||||
SOONG_CONFIG_lineageVarsPlugin += $(1)
|
||||
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
|
||||
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)
|
||||
endif
|
||||
|
||||
# Charger
|
||||
lineage_charger_density := mdpi
|
||||
ifneq (,$(TARGET_SCREEN_DENSITY))
|
||||
lineage_charger_density := $(strip \
|
||||
$(or $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 560))),1),xxxhdpi),\
|
||||
$(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 400))),1),xxhdpi),\
|
||||
$(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 280))),1),xhdpi),\
|
||||
$(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)
|
||||
ifneq ($(TARGET_CAMERA_PACKAGE_NAME),)
|
||||
$(call soong_config_set,camera,package_name,$(TARGET_CAMERA_PACKAGE_NAME))
|
||||
endif
|
||||
ifneq ($(TARGET_CAMERA_SERVICE_EXT_LIB),)
|
||||
$(call soong_config_set,libcameraservice,ext_lib,$(TARGET_CAMERA_SERVICE_EXT_LIB))
|
||||
endif
|
||||
ifneq ($(TARGET_USES_MIUI_CAMERA),)
|
||||
$(call soong_config_set,camera,uses_miui_camera,$(TARGET_USES_MIUI_CAMERA))
|
||||
endif
|
||||
$(call soong_config_set,lineage_charger,density,$(lineage_charger_density))
|
||||
|
||||
# Libui
|
||||
ifneq ($(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS),)
|
||||
|
||||
106
config/common.mk
@@ -1,10 +1,25 @@
|
||||
# Allow vendor/extra to override any property by setting it first
|
||||
$(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
|
||||
-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),)
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
@@ -43,6 +58,10 @@ endif
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.strictmode.disable=true
|
||||
endif
|
||||
|
||||
# Enable Material Design 3 Expressive
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
is_expressive_design_enabled=true
|
||||
|
||||
# Backup Tool
|
||||
PRODUCT_COPY_FILES += \
|
||||
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_postinstall.sh
|
||||
|
||||
ifneq ($(TARGET_BUILD_VARIANT),user)
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.ota.allow_downgrade=true
|
||||
endif
|
||||
endif
|
||||
|
||||
# Lineage-specific broadcast actions whitelist
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -97,28 +114,45 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/org.lineageos.android.xml
|
||||
|
||||
# Enforce privapp-permissions whitelist
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.control_privapp_permissions=enforce
|
||||
# Enable transitional log for Privileged permissions
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.control_privapp_permissions=log
|
||||
|
||||
ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
|
||||
# Lineage SDK
|
||||
include vendor/lineage/config/lineage_sdk_common.mk
|
||||
endif
|
||||
|
||||
# Do not include art debug targets
|
||||
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
|
||||
ART_BUILD_TARGET_NDEBUG := 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
|
||||
# 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
|
||||
# Flags
|
||||
ifeq ($(TARGET_BUILD_VARIANT), user)
|
||||
# Strip the local variable table and the local variable type table to reduce
|
||||
# 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,
|
||||
# but also allow explicit overriding for testing and development.
|
||||
SYSTEM_OPTIMIZE_JAVA ?= true
|
||||
SYSTEMUI_OPTIMIZE_JAVA ?= true
|
||||
|
||||
# Disable dex2oat debug
|
||||
USE_DEX2OAT_DEBUG := false
|
||||
|
||||
# Disable vendor restrictions
|
||||
PRODUCT_RESTRICT_VENDOR_FILES := false
|
||||
|
||||
@@ -128,11 +162,14 @@ $(call enforce-product-packages-exist-internal,$(lastword $(_include_stack)),pro
|
||||
endif
|
||||
|
||||
# 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_HEIGHT ?= 1920
|
||||
PRODUCT_PACKAGES += \
|
||||
bootanimation.zip \
|
||||
bootanimation-dark.zip
|
||||
bootanimation.zip
|
||||
|
||||
# Lineage interfaces
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -152,17 +189,23 @@ PRODUCT_PACKAGES += \
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
LineageSettingsProvider \
|
||||
Updater
|
||||
LineageSettingsProvider
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/lineage/prebuilt/common/etc/init/init.lineage-updater.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.lineage-updater.rc
|
||||
|
||||
# Config
|
||||
PRODUCT_PACKAGES += \
|
||||
SimpleDeviceConfig \
|
||||
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
|
||||
PRODUCT_PACKAGES += \
|
||||
bash \
|
||||
@@ -179,7 +222,8 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
|
||||
system/bin/curl \
|
||||
system/bin/getcap \
|
||||
system/bin/setcap
|
||||
system/bin/setcap \
|
||||
system/%/libzstd.so
|
||||
|
||||
# Filesystems tools
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -215,9 +259,15 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
rsync
|
||||
|
||||
ifeq ($(WITH_GMS),false)
|
||||
# Storage manager
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
PRODUCT_SYSTEM_PROPERTIES += \
|
||||
ro.storage_manager.enabled=true
|
||||
endif
|
||||
|
||||
# Default wifi country code
|
||||
PRODUCT_SYSTEM_PROPERTIES += \
|
||||
ro.boot.wificountrycode?=00
|
||||
|
||||
# These packages are excluded from user builds
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
@@ -228,11 +278,12 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
|
||||
system/bin/procmem
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET_BUILD_VARIANT),user)
|
||||
ifeq ($(WITH_SU),true)
|
||||
# Root
|
||||
PRODUCT_PACKAGES += \
|
||||
adb_root
|
||||
ifneq ($(TARGET_BUILD_VARIANT),user)
|
||||
ifeq ($(WITH_SU),true)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
su
|
||||
|
||||
@@ -241,9 +292,16 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
|
||||
endif
|
||||
endif
|
||||
|
||||
# SurfaceFlinger
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.surface_flinger.supports_background_blur=1
|
||||
|
||||
# SystemUI
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += \
|
||||
Launcher3QuickStep \
|
||||
Settings \
|
||||
CarSystemUI \
|
||||
NexusLauncherRelease \
|
||||
SystemUI
|
||||
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
@@ -258,9 +316,11 @@ endif
|
||||
$(call inherit-product, vendor/lineage/audio/audio.mk)
|
||||
|
||||
# SetupWizard
|
||||
ifeq ($(WITH_GMS),false)
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
setupwizard.theme=glif_v4 \
|
||||
setupwizard.feature.day_night_mode_enabled=true
|
||||
endif
|
||||
|
||||
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/no-rro
|
||||
PRODUCT_PACKAGE_OVERLAYS += \
|
||||
@@ -270,6 +330,7 @@ PRODUCT_PACKAGE_OVERLAYS += \
|
||||
PRODUCT_PACKAGES += \
|
||||
DocumentsUIOverlay \
|
||||
NetworkStackOverlay \
|
||||
NfcOverlay \
|
||||
PermissionControllerOverlay
|
||||
|
||||
# Translations
|
||||
@@ -287,7 +348,4 @@ PRODUCT_EXTRA_RECOVERY_KEYS += \
|
||||
|
||||
include vendor/lineage/config/version.mk
|
||||
|
||||
-include vendor/lineage-priv/keys/keys.mk
|
||||
|
||||
-include $(WORKSPACE)/build_env/image-auto-bits.mk
|
||||
-include vendor/lineage/config/partner_gms.mk
|
||||
|
||||
@@ -11,3 +11,15 @@ $(call inherit-product, vendor/lineage/config/tablet.mk)
|
||||
$(call inherit-product, vendor/lineage/config/telephony.mk)
|
||||
|
||||
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
|
||||
|
||||
@@ -6,3 +6,15 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.support_one_handed_mode?=true
|
||||
|
||||
$(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
|
||||
|
||||
@@ -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/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
|
||||
|
||||
@@ -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/wifionly.mk)
|
||||
|
||||
# GMS
|
||||
WITH_GMS ?= true
|
||||
ifeq ($(WITH_GMS),true)
|
||||
$(call inherit-product, vendor/gms/gms_full_tablet_wifionly.mk)
|
||||
endif
|
||||
|
||||
@@ -9,81 +9,35 @@ include vendor/lineage/config/aosp_audio.mk
|
||||
include vendor/lineage/config/lineage_audio.mk
|
||||
|
||||
# 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 += \
|
||||
ro.config.notification_sound=Argon.ogg \
|
||||
ro.config.alarm_alert=Hassium.ogg
|
||||
endif
|
||||
|
||||
# Apps
|
||||
PRODUCT_PACKAGES += \
|
||||
AvatarPicker \
|
||||
Backgrounds \
|
||||
Glimpse \
|
||||
LatinIME
|
||||
|
||||
ifeq ($(PRODUCT_TYPE), go)
|
||||
ifeq ($(WITH_GMS),false)
|
||||
PRODUCT_PACKAGES += \
|
||||
Launcher3QuickStepGo
|
||||
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += \
|
||||
Launcher3QuickStepGo
|
||||
else
|
||||
PRODUCT_PACKAGES += \
|
||||
Launcher3QuickStep
|
||||
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += \
|
||||
Launcher3QuickStep
|
||||
Backgrounds \
|
||||
Glimpse
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
Launcher3Overlay
|
||||
|
||||
# Charger
|
||||
PRODUCT_PACKAGES += \
|
||||
charger_res_images
|
||||
|
||||
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
|
||||
product_charger_res_images \
|
||||
product_charger_res_images_vendor
|
||||
|
||||
# Legal
|
||||
PRODUCT_SYSTEM_PROPERTIES += \
|
||||
ro.lineagelegal.url=https://lineageos.org/legal
|
||||
ro.evolutionlegal.url=https://evolution-x.org/legal.php
|
||||
|
||||
# Media
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
@@ -106,8 +60,14 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
|
||||
system/etc/textclassifier/textclassifier.en.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
|
||||
PRODUCT_PACKAGES += \
|
||||
LineageBlackTheme \
|
||||
ThemePicker \
|
||||
ThemesStub
|
||||
|
||||
@@ -3,40 +3,36 @@ $(call inherit-product, vendor/lineage/config/common_mobile.mk)
|
||||
|
||||
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
|
||||
PRODUCT_PACKAGES += \
|
||||
Profiles
|
||||
# Seedvault
|
||||
|
||||
ifeq ($(WITH_GMS),false)
|
||||
PRODUCT_PACKAGES += \
|
||||
Camelot \
|
||||
Etar \
|
||||
Profiles \
|
||||
Recorder \
|
||||
Seedvault \
|
||||
Twelve
|
||||
|
||||
ifneq ($(PRODUCT_NO_CAMERA),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
Aperture
|
||||
endif
|
||||
|
||||
#ifneq ($(PRODUCT_NO_CAMERA),true)
|
||||
#PRODUCT_PACKAGES += \
|
||||
# Aperture
|
||||
#endif
|
||||
|
||||
ifeq ($(WITH_GMS),false)
|
||||
ifneq ($(TARGET_EXCLUDES_AUDIOFX),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
AudioFX
|
||||
endif
|
||||
endif
|
||||
|
||||
# Extra cmdline tools
|
||||
PRODUCT_PACKAGES += \
|
||||
unrar \
|
||||
zstd
|
||||
|
||||
# Fonts
|
||||
PRODUCT_PACKAGES += \
|
||||
fonts_customization.xml \
|
||||
FontLatoOverlay \
|
||||
FontRubikOverlay
|
||||
|
||||
# Include Lineage LatinIME dictionaries
|
||||
PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries
|
||||
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/dictionaries
|
||||
|
||||
110
config/evolution.mk
Normal 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)
|
||||
@@ -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
|
||||
@@ -17,8 +17,13 @@ PRODUCT_PACKAGES += \
|
||||
Stk
|
||||
|
||||
# Default ringtone
|
||||
ifeq ($(WITH_GMS),true)
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.config.ringtone=The_next_adventure.ogg
|
||||
else
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.config.ringtone=Orion.ogg
|
||||
endif
|
||||
|
||||
# Tethering - allow without requiring a provisioning app
|
||||
# (for devices that check this)
|
||||
@@ -28,3 +33,9 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
# Disable mobile data by default
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.com.android.mobiledata=false
|
||||
|
||||
# BCR
|
||||
TARGET_INCLUDE_BCR ?= true
|
||||
ifeq ($(TARGET_INCLUDE_BCR),true)
|
||||
$(call inherit-product, vendor/extras/bcr/bcr.mk)
|
||||
endif
|
||||
|
||||
@@ -1,45 +1,31 @@
|
||||
PRODUCT_VERSION_MAJOR = 23
|
||||
PRODUCT_VERSION_MAJOR = 16
|
||||
PRODUCT_VERSION_MINOR = 0
|
||||
|
||||
ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true)
|
||||
LINEAGE_BUILD_DATE := $(shell date -u +%Y%m%d_%H%M%S)
|
||||
# Increase EVO Version with each major release.
|
||||
EVO_VERSION_BASE := 11.5
|
||||
EVO_BUILD_TYPE ?= Unofficial
|
||||
|
||||
ifeq ($(EVO_BUILD_TYPE),Official)
|
||||
else ifeq ($(EVO_BUILD_TYPE),Unofficial)
|
||||
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
|
||||
|
||||
# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
|
||||
|
||||
ifndef LINEAGE_BUILDTYPE
|
||||
ifdef RELEASE_TYPE
|
||||
# Starting with "LINEAGE_" is optional
|
||||
RELEASE_TYPE := $(shell echo $(RELEASE_TYPE) | sed -e 's|^LINEAGE_||g')
|
||||
LINEAGE_BUILDTYPE := $(RELEASE_TYPE)
|
||||
endif
|
||||
ifeq ($(WITH_GMS),true)
|
||||
EVO_VERSION := $(EVO_VERSION_BASE)
|
||||
else
|
||||
EVO_VERSION := $(EVO_VERSION_BASE)-Vanilla
|
||||
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
|
||||
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
|
||||
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 += \
|
||||
ro.lineage.version=$(LINEAGE_VERSION) \
|
||||
ro.lineage.display.version=$(LINEAGE_DISPLAY_VERSION) \
|
||||
ro.lineage.build.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \
|
||||
ro.lineage.releasetype=$(LINEAGE_BUILDTYPE)
|
||||
ro.evolution.build.version=$(LINEAGE_VERSION) \
|
||||
ro.evolution.display.version=$(LINEAGE_DISPLAY_VERSION) \
|
||||
ro.evolution.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \
|
||||
ro.modversion=$(EVO_VERSION)
|
||||
|
||||
|
Before Width: | Height: | Size: 509 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 400 KiB |
@@ -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>
|
||||
|
Before Width: | Height: | Size: 801 KiB |
|
Before Width: | Height: | Size: 801 KiB |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 626 KiB |
|
Before Width: | Height: | Size: 801 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
@@ -42,6 +42,7 @@
|
||||
<item>org.microg.nlp</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Sets the package name for location extra packages -->
|
||||
<string-array name="config_locationExtraPackageNames" translatable="false">
|
||||
<!-- Bluetooth -->
|
||||
<item>com.android.bluetooth</item>
|
||||
@@ -53,6 +54,23 @@
|
||||
<item>com.shannon.imsservice</item>
|
||||
<!-- MediaTek ImsService -->
|
||||
<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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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
|
||||
notifications until they target R -->
|
||||
@@ -113,8 +152,248 @@
|
||||
<item>org.briarproject.briar.android</item>
|
||||
</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 -->
|
||||
<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
|
||||
handle wallpaper cropping.
|
||||
@@ -170,5 +449,90 @@
|
||||
<string name="config_rawContactsLocalAccountType" translatable="false">com.android.contacts</string>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
@@ -31,6 +31,6 @@
|
||||
</webviewprovider>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<resources>
|
||||
<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,
|
||||
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 -->
|
||||
<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>
|
||||
|
||||
@@ -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>
|
||||
@@ -23,6 +23,23 @@
|
||||
<item>com.android.systemui</item>
|
||||
<item>com.android.systemui.plugin.globalactions.wallet</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>
|
||||
|
||||
<!-- Icons that don't show in a collapsed non-keyguard statusbar -->
|
||||
@@ -40,4 +57,22 @@
|
||||
|
||||
<!-- Whether or not lockscreen shortcuts can be customized -->
|
||||
<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>
|
||||
|
||||
@@ -18,4 +18,7 @@
|
||||
<resources>
|
||||
<!-- Remove power menu shadow -->
|
||||
<dimen name="global_actions_translate">0dp</dimen>
|
||||
|
||||
<!-- Biometric Dialog values -->
|
||||
<dimen name="biometric_dialog_corner_size">@*android:dimen/config_bottomDialogCornerRadius</dimen>
|
||||
</resources>
|
||||
|
||||
@@ -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>
|
||||