diff --git a/build/gapps.sh b/build/gapps.sh index 80ed7de..52e5ec5 100755 --- a/build/gapps.sh +++ b/build/gapps.sh @@ -43,6 +43,8 @@ function create() { test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH test -d $OUT/$GARCH/system || mkdir -p $OUT/$GARCH/system echo "Build directories are now ready" >> $GLOG + echo "Compiling RROs" + $TOP/overlay/build_overlays.sh $GARCH $OUT/$GARCH echo "Getting prebuilts..." echo "Copying stuff" >> $GLOG cp $TOP/toybox-$GARCH $OUT/$GARCH/toybox >> $GLOG diff --git a/build/target/product/AndroidProducts.mk b/build/target/product/AndroidProducts.mk new file mode 100644 index 0000000..27ee0de --- /dev/null +++ b/build/target/product/AndroidProducts.mk @@ -0,0 +1,5 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/lineage_gapps_arm.mk \ + $(LOCAL_DIR)/lineage_gapps_arm64.mk \ + $(LOCAL_DIR)/lineage_gapps_x86.mk \ + $(LOCAL_DIR)/lineage_gapps_x86_64.mk diff --git a/build/target/product/lineage_gapps_arm.mk b/build/target/product/lineage_gapps_arm.mk new file mode 100644 index 0000000..f4c3bf8 --- /dev/null +++ b/build/target/product/lineage_gapps_arm.mk @@ -0,0 +1,6 @@ +$(call inherit-product, vendor/lineage/build/target/product/lineage_arm.mk) + +PRODUCT_NAME := lineage_gapps_arm + +PRODUCT_USE_DYNAMIC_PARTITIONS := false +PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay diff --git a/build/target/product/lineage_gapps_arm64.mk b/build/target/product/lineage_gapps_arm64.mk new file mode 100644 index 0000000..a5f868d --- /dev/null +++ b/build/target/product/lineage_gapps_arm64.mk @@ -0,0 +1,6 @@ +$(call inherit-product, vendor/lineage/build/target/product/lineage_arm64.mk) + +PRODUCT_NAME := lineage_gapps_arm64 + +PRODUCT_USE_DYNAMIC_PARTITIONS := false +PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay diff --git a/build/target/product/lineage_gapps_x86.mk b/build/target/product/lineage_gapps_x86.mk new file mode 100644 index 0000000..2ed76d8 --- /dev/null +++ b/build/target/product/lineage_gapps_x86.mk @@ -0,0 +1,6 @@ +$(call inherit-product, vendor/lineage/build/target/product/lineage_x86.mk) + +PRODUCT_NAME := lineage_gapps_x86 + +PRODUCT_USE_DYNAMIC_PARTITIONS := false +PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay diff --git a/build/target/product/lineage_gapps_x86_64.mk b/build/target/product/lineage_gapps_x86_64.mk new file mode 100644 index 0000000..f9d7a66 --- /dev/null +++ b/build/target/product/lineage_gapps_x86_64.mk @@ -0,0 +1,6 @@ +$(call inherit-product, vendor/lineage/build/target/product/lineage_x86_64.mk) + +PRODUCT_NAME := lineage_gapps_x86_64 + +PRODUCT_USE_DYNAMIC_PARTITIONS := false +PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay diff --git a/common/common-vendor.mk b/common/common-vendor.mk index 9c96b66..e30db94 100644 --- a/common/common-vendor.mk +++ b/common/common-vendor.mk @@ -29,3 +29,6 @@ ifeq ($(TARGET_IS_GROUPER),) PRODUCT_PACKAGES += \ GoogleRestore endif + +PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay +PRODUCT_PACKAGES += GmsOverlay diff --git a/overlay/Android.bp b/overlay/Android.bp new file mode 100644 index 0000000..9515b25 --- /dev/null +++ b/overlay/Android.bp @@ -0,0 +1,2 @@ +soong_namespace { +} diff --git a/overlay/GmsOverlay/Android.bp b/overlay/GmsOverlay/Android.bp new file mode 100644 index 0000000..8151e72 --- /dev/null +++ b/overlay/GmsOverlay/Android.bp @@ -0,0 +1,4 @@ +runtime_resource_overlay { + name: "GmsOverlay", + product_specific: true +} diff --git a/overlay/GmsOverlay/AndroidManifest.xml b/overlay/GmsOverlay/AndroidManifest.xml new file mode 100644 index 0000000..915b88e --- /dev/null +++ b/overlay/GmsOverlay/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + diff --git a/overlay/GmsOverlay/res/values/config.xml b/overlay/GmsOverlay/res/values/config.xml new file mode 100644 index 0000000..a6c31c4 --- /dev/null +++ b/overlay/GmsOverlay/res/values/config.xml @@ -0,0 +1,40 @@ + + + + com.google.android.marvin.talkback/.TalkBackService + + + com.google.android.tts + + + com.google.android.apps.wellbeing + + + com.google.android.apps.wellbeing + + + + com.android.dialer + com.google.android.dialer + com.android.server.telecom + android + com.android.systemui + + + + com.google.android.gms:com.google.android.apps.wellbeing + + + + com.google.android.apps.wellbeing + + + + + com.android.vending + + + + com.google.android.projection.gearhead + + diff --git a/overlay/build_overlays.sh b/overlay/build_overlays.sh new file mode 100755 index 0000000..a5e5d9f --- /dev/null +++ b/overlay/build_overlays.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e + +GARCH=$1 +GOUT=$2 + +SCRIPT_DIR=$(dirname "$0") +cd "$SCRIPT_DIR" + +OVERLAYS=$(for dir in $(ls -d */); do echo ${dir%%/}; done) + +croot 2>/dev/null || cd ../../../ + +source build/envsetup.sh +breakfast gapps_$GARCH +m installclean +m $OVERLAYS | tee $OUT/.log + +LOC="$(cat $OUT/.log | sed -r -e 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g' -e 's/^\[ {0,2}[0-9]{1,3}% [0-9]{1,6}\/[0-9]{1,6}\] +//' \ + | grep '^Install: ' | cut -d ':' -f 2)" +RELOUT=$(echo $OUT | sed "s#^${ANDROID_BUILD_TOP}/##") +FILES=$(echo $LOC | tr " " "\n" | sed "s#.*${RELOUT}##" | sort | uniq) + +for TARGET in $FILES; do + mkdir -p $(dirname $GOUT/$TARGET) && cp $OUT/$TARGET $GOUT/$TARGET +done diff --git a/setup-makefiles.sh b/setup-makefiles.sh index b007e7e..2439b45 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -49,6 +49,15 @@ echo "ifeq (\$(TARGET_IS_GROUPER),)" >> "$PRODUCTMK" write_makefiles "$MY_DIR"/proprietary-files-common-nongrouper.txt echo "endif" >> "$PRODUCTMK" +# Overlays +cd overlay +OVERLAYS=$(for dir in $(ls -d */); do echo ${dir%%/}; done) +OVERLAYS=$(echo $OVERLAYS | paste -s -d ' ') +cd - >/dev/null +printf "\n" >> "$PRODUCTMK" +echo "PRODUCT_SOONG_NAMESPACES += vendor/$VENDOR/overlay" >> "$PRODUCTMK" +echo "PRODUCT_PACKAGES += $OVERLAYS" >> "$PRODUCTMK" + sed -i 's/TARGET_DEVICE/TARGET_ARCH/g' "$ANDROIDMK" # We are done with common