Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
f0a23e0
build: Ship as crDroid based on LOS
neobuddy89 Sep 15, 2019
a3d1bb4
crdroid: Drop custom adb drawable
DarkJoker360 Oct 11, 2021
faf7020
Revert "overlay: Default to Seedvault backup transport"
neobuddy89 Apr 24, 2022
e73b384
apns: Update mobily APN for prepaid connection
neobuddy89 Jul 23, 2022
24b0303
charger: Switch from LineageOS Teal to crDroid Blue
neobuddy89 Oct 31, 2023
17e8460
roomservice: get me some crDroid
gwolf2u Nov 2, 2023
45ef2d7
common: Allow OTA downgrade regardless build type
neobuddy89 Nov 25, 2023
eaa4f38
crdroid: Always disable app launch blur
neobuddy89 Aug 27, 2024
10b1aaf
build: Override host metadata
kdrag0n Nov 12, 2021
1702538
crdroid: Enable ThinLTO cache
neobuddy89 Apr 2, 2024
c61188e
overlay: Set AOSP webview as fallback
neobuddy89 Sep 21, 2024
ef4e723
overlay: Allow new SystemUI clocks
Dyneteve Jun 13, 2023
207d554
overlay: Update clock plugin list
neobuddy89 Dec 13, 2023
5556731
device_config: Enable Cloned App
aswin7469 Nov 18, 2023
aef3257
overlay: Settings: Show memory usage in app info
kdrag0n Oct 5, 2020
708f48e
overlay: Enable app-cloning feature in Settings
minaripenguin Oct 10, 2023
536e637
crdroid: Add preinstalled package list to stop auto cloning
RealJohnGalt Jan 2, 2024
e774896
crdroid: Update clone exemption list
neobuddy89 Jan 3, 2024
4463dbe
overlay: Update SettingsProvider defaults
neobuddy89 Apr 24, 2022
a4679bd
overlay: Offload WM shell to another thread
kdrag0n Oct 9, 2021
8c3b1ff
overlay: Update device configs global overrides
Dyneteve Apr 24, 2024
f281f72
overlay: update configs for AiAi
ionutgherman Nov 5, 2024
92a5ac4
crdroid: Add changelog script
gwolf2u Sep 30, 2020
527fd5d
crdroid: Execute changelog script once at a time
neobuddy89 Oct 18, 2024
d120f22
crdroid: Disable memtag for different processes
minaripenguin Aug 16, 2024
44dc5fc
crdroid: Remove Trebuchet packages
neobuddy89 Mar 16, 2022
252abe2
crdroid: Clean up wallpaper overlay
neobuddy89 Sep 1, 2022
fac78fa
crdroid: Moved bootanimation to addons
neobuddy89 Mar 16, 2022
3f32311
crdroid: Remove packages moved to addons
neobuddy89 Oct 16, 2023
978e0d9
soong: Add support to set vendor tag with client package name
xboxfanj Oct 17, 2023
ac48743
soong: Add CAMERA_NEEDS_CLIENT_INFO_LIB{_OPLUS}
Hikari-no-Tenshi Nov 9, 2021
69501a7
crdroid: Include vendor/certification when available
neobuddy89 Dec 8, 2024
46a5863
crdroid: Build BatteryStatsViewer
Uldiniad Oct 11, 2022
5da7ce4
crdroid: Build OmniStyle
neobuddy89 Mar 9, 2024
a73ba18
crdroid: Build OmniJaws service
neobuddy89 Nov 26, 2023
393a0e3
overlay: Add OmniJaws to location extra packages
neobuddy89 Oct 17, 2022
c80b857
overlay: Add SystemUI to location extra packages
neobuddy89 Oct 20, 2022
8fda6b2
overlay: Add tethering to location exemption
neobuddy89 Nov 6, 2022
1f1d6c6
overlay: Add gms location history to extra location packages
neobuddy89 Aug 25, 2024
fd5f0f4
config: Optimize Launcher3 and Settings for speed
xNombre Jun 15, 2022
8842cc9
overlay: Use google-sans for font config overlays
neobuddy89 Nov 27, 2023
277ddf6
crdroid: Build GameSpace
neobuddy89 Oct 27, 2023
663186b
crdroid: Switch to AOSPA's face unlock implementation
ponces Nov 15, 2023
dc951f7
crdroid: Move face unlock biometric permission to system_ext
neobuddy89 Oct 28, 2024
11f7f85
crdroid: Build LMO Freeform app and sidebar
adithya2306 Sep 29, 2024
c3a84a2
overlay: Enable circle to search
idoybh Jan 3, 2025
2ba6347
crdroid: Adding an option to build DeviceAsWebcam
ShevT Aug 30, 2024
cd7d4c2
common: Inherit pixel-fw when available
neobuddy89 Nov 25, 2023
95e7587
crdroid: Generate OTA json at build time
gwolf2u Dec 26, 2019
853d42c
crdroid: rework `createjson.sh` (#65)
gwolf2u Jan 12, 2025
b52117b
crdroid: createjson.sh: rework `extract_field`
gwolf2u Jan 12, 2025
a89ba5d
crdroid: Bump to version 11.1
neobuddy89 Dec 30, 2024
f1b0574
android: merge_dtbs: Respect miboard-id while merging
ArianK16a Jul 14, 2022
b3d4c5e
vendor: Initial Matrixx conversion
mukesh22584 Dec 12, 2023
06d1af0
vendor: Remove bootanimation product package
mukesh22584 Dec 12, 2023
1892f4e
vendor: Conditionally build Gapps
mukesh22584 Dec 12, 2023
089da50
config: Don't build MatLog
mukesh22584 Dec 12, 2023
b265a38
Overlay: Add more overlays conditionally
mukesh22584 Jun 5, 2024
59b1592
tasks: add fastboot target
gotenksIN Jan 19, 2024
03bac21
vendor: Enable quick tap for all
mukesh22584 Jun 6, 2024
4596431
Revert "Overlay: Add more overlays conditionally"
mukesh22584 Aug 12, 2024
4b1981a
Revert "crdroid: Include vendor/certification when available"
drkphnx Jan 4, 2025
55540b6
drop crdroid offline charging animation
drkphnx Jan 24, 2025
2a7662e
vendor: Use and support Pixel charger animation
argraur Jan 24, 2020
4ede556
vendor: Add google dialer call recording feature
whyredfire Dec 1, 2022
a716208
vendor: Import BT Slice intent resources from SettingsGoogle
someone5678 Nov 1, 2023
551af9b
vendor: Enable R8 code shrinking for system_server and SystemUI
jdduke Oct 31, 2022
077b201
vendor: Enable Gboard side padding
kdrag0n Aug 5, 2021
30846bd
vendor: Fix app icon font on PixelLauncher
jhenrique09 Jun 8, 2022
9f13c4b
vendor: Treat SystemUI clocks as privileged
basamaryan Oct 30, 2023
e0538ab
vendor: Enable smart battery
gotenksIN Feb 6, 2024
3a44c20
vendor: Enable sidefps performant auth by default
adithya2306 Jun 24, 2023
59e137e
vendor: Fetch APNs from Pixel 6 Pro
sourajitk May 18, 2022
b3c766f
vendor: Update APNs from Pixel 7 Pro
LeddaZ Jul 13, 2023
7363010
vendor: Build the textclassifier models
Dyneteve Nov 17, 2023
5e92e72
vendor: Build Custom Themed iconpack for pixel launcher
drkphnx Jan 27, 2025
d7346b6
Revert "vendor: Remove bootanimation product package"
drkphnx Jan 28, 2025
3b28a06
Config: Don't build updater as of now
drkphnx Jan 29, 2025
55b2056
vendor: drop maintainers prop as we are moving to overlay based
drkphnx Jan 29, 2025
7cfbbcd
vendor: Update Gms path
drkphnx Jan 29, 2025
79b75db
config: Remove useless addon.d file
nift4 Aug 14, 2024
cf20016
vendor: bringin codenames
drkphnx Jan 30, 2025
e363570
Vendor: Build overlay for wallpaper picker based on Target builds Pix…
drkphnx Jan 30, 2025
e9242f1
vendor: Drop Settings Buil status based on device status
drkphnx Jan 30, 2025
6685482
vendor: Adapt json for matrixx
drkphnx Jan 30, 2025
3be7767
venndor: update Roomservice
Ghosuto Jan 30, 2025
2c632b5
fix! createjson.sh
drkphnx Jan 30, 2025
2cfca9d
apns: Add WE EG
keosh1 Feb 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 3 additions & 17 deletions README.mkdn
Original file line number Diff line number Diff line change
@@ -1,26 +1,12 @@
LineageOS
crDroid Android
===========

Getting started
---------------

Please see the [LineageOS Wiki](https://wiki.lineageos.org/) for building instructions, by device.
Please see the [crDroid Project](https://github.com/crdroidandroid/android/blob/15.0/README.mkdn) 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/).
Patches are always welcome! Please submit your patches via pull request.
63 changes: 0 additions & 63 deletions bootanimation/Android.mk

This file was deleted.

Binary file removed bootanimation/bootanimation.tar
Binary file not shown.
3 changes: 0 additions & 3 deletions bootanimation/desc.txt

This file was deleted.

6 changes: 6 additions & 0 deletions build/envsetup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -921,3 +921,9 @@ function fixup_common_out_dir() {
mkdir -p ${common_out_dir}
fi
}

export USE_THINLTO_CACHE=true

# Override host metadata to make builds more reproducible and avoid leaking info
export BUILD_USERNAME=nobody
export BUILD_HOSTNAME=android-build
59 changes: 59 additions & 0 deletions build/soong/Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,48 @@ cc_library_headers {
}

// Target platform agnostic config modules
soong_config_module_type {
name: "camera_needs_client_info_lib",
module_type: "cc_defaults",
config_namespace: "lineageGlobalVars",
bool_variables: ["camera_needs_client_info_lib"],
properties: [
"cppflags",
"shared_libs",
],
}

camera_needs_client_info_lib {
name: "camera_needs_client_info_lib_defaults",
soong_config_variables: {
camera_needs_client_info_lib: {
cppflags: ["-DCAMERA_NEEDS_CLIENT_INFO_LIB"],
shared_libs: ["//hardware/oneplus:[email protected]"],
},
},
}

soong_config_module_type {
name: "camera_needs_client_info_lib_oplus",
module_type: "cc_defaults",
config_namespace: "lineageGlobalVars",
bool_variables: ["camera_needs_client_info_lib_oplus"],
properties: [
"cppflags",
"shared_libs",
],
}

camera_needs_client_info_lib_oplus {
name: "camera_needs_client_info_lib_oplus_defaults",
soong_config_variables: {
camera_needs_client_info_lib_oplus: {
cppflags: ["-DCAMERA_NEEDS_CLIENT_INFO_LIB_OPLUS"],
shared_libs: ["[email protected]"],
},
},
}

soong_config_module_type {
name: "camera_override_format_from_reserved",
module_type: "cc_defaults",
Expand Down Expand Up @@ -284,6 +326,23 @@ egl_display_array {
},
}

soong_config_module_type {
name: "target_camera_package_name",
module_type: "cc_defaults",
config_namespace: "lineageGlobalVars",
value_variables: ["target_camera_package_name"],
properties: ["cppflags"],
}

target_camera_package_name {
name: "camera_package_name_defaults",
soong_config_variables: {
target_camera_package_name: {
cppflags: ["-DCAMERA_PACKAGE_NAME=\"%s\""],
},
},
}

soong_config_module_type {
name: "health_charging_control",
module_type: "cc_defaults",
Expand Down
6 changes: 4 additions & 2 deletions build/tasks/bacon.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@
# -----------------------------------------------------------------
# Lineage 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.sh $(TARGET_DEVICE) $(PRODUCT_OUT) $(LINEAGE_VERSION).zip
$(hide) rm -rf $(call intermediates-dir-for,PACKAGING,target_files)
@echo "Package Complete: $(LINEAGE_TARGET_PACKAGE)" >&2

.PHONY: bacon
Expand Down
26 changes: 26 additions & 0 deletions build/tasks/updatepackage.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright (C) 2017 Unlegacy-Android
# Copyright (C) 2017,2020 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.

# -----------------------------------------------------------------
# Lineage OTA update package

MATRIXX_TARGET_UPDATEPACKAGE := $(PRODUCT_OUT)/$(LINEAGE_VERSION)-fastboot.zip

.PHONY: updatepackage dinner
updatepackage: $(INTERNAL_UPDATE_PACKAGE_TARGET)
$(hide) ln -f $(INTERNAL_UPDATE_PACKAGE_TARGET) $(MATRIXX_TARGET_UPDATEPACKAGE)
$(hide) ./vendor/lineage/build/tools/createjson.sh $(TARGET_DEVICE) $(PRODUCT_OUT) $(LINEAGE_VERSION)-fastboot.zip
$(hide) rm -rf $(call intermediates-dir-for,PACKAGING,target_files)
@echo "Package Complete: $(MATRIXX_TARGET_UPDATEPACKAGE)" >&2
81 changes: 81 additions & 0 deletions build/tools/changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#!/bin/bash
#
# Copyright (C) 2017-2024 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.
#

Changelog=Changelog.txt

DEVICE=$1

# Lock file to ensure only one instance runs at a time
LOCKFILE=/tmp/changelog_${DEVICE}_lock

# Acquire the lock or exit if already running
exec 9>"$LOCKFILE"
if ! flock -n 9; then
echo "Changelog generation is already running."
exit 0
fi

# Remove old changelog if it exists
[ -f "$Changelog" ] && rm -f "$Changelog"

# define changelog_days using 'export changelog_days=10'
# this can be done before intiate build environment (. build/envsetup.sh)
if [ -z $changelog_days ];then
changelog_days=10
else
if (($changelog_days > 30 )); then
echo "Changelog can not generated for more than 30 days. For how many days do you want to generate changelog again? (🕑 timeout 15 seconds - default to 10 days)"
read -r -t 15 changelog_days || changelog_days=10
fi
fi

REPO_LIST="$(cat .repo/project.list | sed '\?^vendor/crDroidOTA?d')"
for i in $(seq $changelog_days); do
After_Date=`date --date="$i days ago" +%m-%d-%Y`
k=$(expr $i - 1)
Until_Date=`date --date="$k days ago" +%m-%d-%Y`

# Line with after --- until was too long for a small ListView
echo '====================' >> $Changelog
echo " "$Until_Date >> $Changelog
echo '====================' >> $Changelog

# Cycle through all available repos
for repo_path in $REPO_LIST; do
# Find commits between 2 dates
GIT_LOG="$(git -C "$repo_path" log --oneline --after="$After_Date" --until="$Until_Date")"
[ -n "$GIT_LOG" ] && {
printf '\n * '; echo "$repo_path"
echo "$GIT_LOG"
} >> $Changelog
done
echo >> $Changelog
done

if [ -f "$Changelog" ]; then
if cp "$Changelog" "$OUT_DIR/target/product/$DEVICE/system/etc/"; then
mv "$Changelog" "$OUT_DIR/target/product/$DEVICE/${DEVICE}_changelog.txt" || echo "Failed to move changelog file to $OUT_DIR/target/product/$DEVICE/${DEVICE}_changelog.txt"
else
echo "Failed to copy changelog file to $OUT_DIR/target/product/$DEVICE/system/etc/"
fi
else
echo "Changelog file does not exist"
fi

# Release the lock
flock -u 9
rm -f $LOCKFILE
87 changes: 87 additions & 0 deletions build/tools/createjson.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#!/bin/bash
#
# Copyright (C) 2024-25 Matrixx 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.
#

#$1=TARGET_DEVICE, $2=PRODUCT_OUT, $3=LINEAGE_VERSION
existingOTAjson="./vendor/MatrixxOTA/$1.json"
output="./vendor/MatrixxOTA/$1.json"

buildprop="$2/system/build.prop"

# Ensure the directory exists
mkdir -p "./vendor/MatrixxOTA"

if [ -f "$existingOTAjson" ]; then
# Get data from already existing device JSON
maintainer=$(grep -n "\"maintainer\"" "$existingOTAjson" | cut -d ":" -f 3 | sed 's/"//g' | sed 's/,//g' | xargs)
oem=$(grep -n "\"oem\"" "$existingOTAjson" | cut -d ":" -f 3 | sed 's/"//g' | xargs)
device=$(grep -n "\"device\"" "$existingOTAjson" | cut -d ":" -f 3 | sed 's/"//g' | xargs)
else
# Fetch Basic details from build.prop if JSON doesn't exist
oem=$(grep "ro.product.system.manufacturer" "$buildprop" | cut -d'=' -f2 | xargs)
device=$(basename "$2")
fi

maintainer=""
support_group=""

filename=$3
download="https://sourceforge.net/projects/projectmatrixx/files/Android-15/$1/$filename/download"
linenr=$(grep -n "ro.system.build.date.utc" "$buildprop" | cut -d':' -f1)
timestamp=$(sed -n "$linenr"p < "$buildprop" | cut -d'=' -f2)
md5=$(md5sum "$2/$3" | cut -d' ' -f1)
size=$(stat -c "%s" "$2/$3")

# Get version
VERSION=$(echo "$3" | cut -d'-' -f2 | sed 's/v//')
IFS='.' read -r V_MAX V_MIN V_PATCH <<< "$VERSION"
if [[ -z "$V_PATCH" ]]; then
VERSION="$V_MAX.$V_MIN"
else
VERSION="$V_MAX.$V_MIN.$V_PATCH"
fi

# Cleanup old file
if [ -f "$output" ]; then
rm "$output"
fi

# Create JSON output
echo '{
"response": [
{
"maintainer": "'$maintainer'",
"support_group":"'$support_group'",
"oem": "'$oem'",
"device": "'$device'",
"filename": "'$filename'",
"download": "'$download'",
"timestamp": '$timestamp',
"md5": "'$md5'",
"size": '$size',
"version": "'$VERSION'"
}
]
}' >> "$output"

echo "vendor/MatrixxOTA/$1.json"

# Handle case when device is not officially supported
if [ ! -f "$existingOTAjson" ]; then
echo 'There is no official support for this device yet' >> "$output"
fi

echo ""
Loading