diff --git a/bootanimation/Android.mk b/bootanimation/Android.mk deleted file mode 100644 index f7ba13ba..00000000 --- a/bootanimation/Android.mk +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (C) 2016 The CyanogenMod Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -define build-bootanimation - sh vendor/cm/bootanimation/generate-bootanimation.sh \ - $(TARGET_SCREEN_WIDTH) \ - $(TARGET_SCREEN_HEIGHT) \ - $(TARGET_BOOTANIMATION_HALF_RES) -endef - -TARGET_GENERATED_BOOTANIMATION := $(TARGET_OUT_INTERMEDIATES)/BOOTANIMATION/bootanimation.zip -$(TARGET_GENERATED_BOOTANIMATION): - @echo "Building bootanimation" - $(build-bootanimation) - -ifeq ($(TARGET_BOOTANIMATION),) - TARGET_BOOTANIMATION := $(TARGET_GENERATED_BOOTANIMATION) - ifeq ($(shell command -v convert),) - $(info **********************************************) - $(info The boot animation could not be generated as) - $(info ImageMagick is not installed in your system.) - $(info $(space)) - $(info Please install ImageMagick from this website:) - $(info https://imagemagick.org/script/binary-releases.php) - $(info **********************************************) - $(error stop) - endif -endif - -include $(CLEAR_VARS) -LOCAL_MODULE := bootanimation.zip -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT)/media - -include $(BUILD_SYSTEM)/base_rules.mk - -$(LOCAL_BUILT_MODULE): $(TARGET_BOOTANIMATION) - @mkdir -p $(dir $@) - @cp $(TARGET_BOOTANIMATION) $@ diff --git a/bootanimation/desc.txt b/bootanimation/desc.txt deleted file mode 100644 index 4aecc8ed..00000000 --- a/bootanimation/desc.txt +++ /dev/null @@ -1,3 +0,0 @@ -c 1 0 part0 -c 0 0 part1 -c 1 0 part2 diff --git a/bootanimation/generate-bootanimation.sh b/bootanimation/generate-bootanimation.sh deleted file mode 100755 index b5d8f198..00000000 --- a/bootanimation/generate-bootanimation.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -WIDTH="$1" -HEIGHT="$2" -HALF_RES="$3" -OUT="$ANDROID_PRODUCT_OUT/obj/BOOTANIMATION" - -if [ "$HEIGHT" -lt "$WIDTH" ]; then - SIZE="$HEIGHT" -else - SIZE="$WIDTH" -fi - -if [ "$HALF_RES" = "true" ]; then - IMAGESIZE=$(expr $SIZE / 2) -else - IMAGESIZE="$SIZE" -fi - -RESOLUTION=""$IMAGESIZE"x"$IMAGESIZE"" - -for part_cnt in 0 1 2 -do - mkdir -p $ANDROID_PRODUCT_OUT/obj/BOOTANIMATION/bootanimation/part$part_cnt -done -tar xfp "vendor/cm/bootanimation/bootanimation.tar" --to-command="convert - -resize '$RESOLUTION' \"png8:$OUT/bootanimation/\$TAR_FILENAME\"" - -# Create desc.txt -echo "$SIZE" "$SIZE" 30 > "$OUT/bootanimation/desc.txt" -cat "vendor/cm/bootanimation/desc.txt" >> "$OUT/bootanimation/desc.txt" - -# Create bootanimation.zip -cd "$OUT/bootanimation" - -zip -qr0 "$OUT/bootanimation.zip" . diff --git a/config/common.mk b/config/common.mk index 3a5b0e4a..0c1160e1 100644 --- a/config/common.mk +++ b/config/common.mk @@ -1,5 +1,37 @@ PRODUCT_BRAND ?= cyanogenmod +ifneq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) +# determine the smaller dimension +TARGET_BOOTANIMATION_SIZE := $(shell \ + if [ "$(TARGET_SCREEN_WIDTH)" -lt "$(TARGET_SCREEN_HEIGHT)" ]; then \ + echo $(TARGET_SCREEN_WIDTH); \ + else \ + echo $(TARGET_SCREEN_HEIGHT); \ + fi ) + +# get a sorted list of the sizes +bootanimation_sizes := $(subst .zip,,$(shell ls -1 vendor/cm/prebuilt/common/bootanimation | sort -rn)) + +# find the appropriate size and set +define check_and_set_bootanimation +$(eval TARGET_BOOTANIMATION_NAME := $(shell \ + if [ -z "$(TARGET_BOOTANIMATION_NAME)" ]; then \ + if [ "$(1)" -le "$(TARGET_BOOTANIMATION_SIZE)" ]; then \ + echo $(1); \ + exit 0; \ + fi; + fi; + echo $(TARGET_BOOTANIMATION_NAME); )) +endef +$(foreach size,$(bootanimation_sizes), $(call check_and_set_bootanimation,$(size))) + +ifeq ($(TARGET_BOOTANIMATION_HALF_RES),true) +PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/halfres/$(TARGET_BOOTANIMATION_NAME).zip +else +PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/$(TARGET_BOOTANIMATION_NAME).zip +endif +endif + PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0 ifeq ($(PRODUCT_GMS_CLIENTID_BASE),) @@ -98,10 +130,6 @@ ifneq ($(TARGET_DISABLE_CMSDK), true) include vendor/cm/config/cmsdk_common.mk endif -# Bootanimation -PRODUCT_PACKAGES += \ - bootanimation.zip - # Required CM packages PRODUCT_PACKAGES += \ BluetoothExt \ diff --git a/config/common_full_phone.mk b/config/common_full_phone.mk index 94798dc5..6ee8c004 100644 --- a/config/common_full_phone.mk +++ b/config/common_full_phone.mk @@ -8,4 +8,9 @@ PRODUCT_PACKAGES += \ # Include CM LatinIME dictionaries PRODUCT_PACKAGE_OVERLAYS += vendor/cm/overlay/dictionaries +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/480.zip:system/media/bootanimation.zip +endif + $(call inherit-product, vendor/cm/config/telephony.mk) diff --git a/config/common_full_tablet_wifionly.mk b/config/common_full_tablet_wifionly.mk index 47e7845a..8dc9332e 100644 --- a/config/common_full_tablet_wifionly.mk +++ b/config/common_full_tablet_wifionly.mk @@ -7,3 +7,8 @@ PRODUCT_PACKAGES += \ # Include CM LatinIME dictionaries PRODUCT_PACKAGE_OVERLAYS += vendor/cm/overlay/dictionaries + +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip +endif diff --git a/config/common_full_tv.mk b/config/common_full_tv.mk index 10b2a5cf..779b918c 100644 --- a/config/common_full_tv.mk +++ b/config/common_full_tv.mk @@ -1,2 +1,7 @@ # Inherit common CM stuff $(call inherit-product, vendor/cm/config/common_full.mk) + +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip +endif diff --git a/config/common_mini_phone.mk b/config/common_mini_phone.mk index b4c0cb3d..828b5b9d 100644 --- a/config/common_mini_phone.mk +++ b/config/common_mini_phone.mk @@ -4,4 +4,9 @@ $(call inherit-product, vendor/cm/config/common_mini.mk) PRODUCT_PACKAGES += \ LatinIME +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/320.zip:system/media/bootanimation.zip +endif + $(call inherit-product, vendor/cm/config/telephony.mk) diff --git a/config/common_mini_tablet_wifionly.mk b/config/common_mini_tablet_wifionly.mk index 285a55d4..1d5810ff 100644 --- a/config/common_mini_tablet_wifionly.mk +++ b/config/common_mini_tablet_wifionly.mk @@ -4,3 +4,8 @@ $(call inherit-product, vendor/cm/config/common_mini.mk) # Required CM packages PRODUCT_PACKAGES += \ LatinIME + +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip +endif diff --git a/config/common_mini_tv.mk b/config/common_mini_tv.mk index 86f1a6b8..63f2bcf3 100644 --- a/config/common_mini_tv.mk +++ b/config/common_mini_tv.mk @@ -1,2 +1,7 @@ # Inherit common CM stuff $(call inherit-product, vendor/cm/config/common_mini.mk) + +ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space)) + PRODUCT_COPY_FILES += \ + vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip +endif diff --git a/prebuilt/common/bootanimation/1080.zip b/prebuilt/common/bootanimation/1080.zip new file mode 100644 index 00000000..c2d29e20 Binary files /dev/null and b/prebuilt/common/bootanimation/1080.zip differ diff --git a/prebuilt/common/bootanimation/1200.zip b/prebuilt/common/bootanimation/1200.zip new file mode 100644 index 00000000..95b1fdc2 Binary files /dev/null and b/prebuilt/common/bootanimation/1200.zip differ diff --git a/prebuilt/common/bootanimation/1440.zip b/prebuilt/common/bootanimation/1440.zip new file mode 100644 index 00000000..d9c6dc3c Binary files /dev/null and b/prebuilt/common/bootanimation/1440.zip differ diff --git a/prebuilt/common/bootanimation/1536.zip b/prebuilt/common/bootanimation/1536.zip new file mode 100644 index 00000000..a2fc1b6e Binary files /dev/null and b/prebuilt/common/bootanimation/1536.zip differ diff --git a/bootanimation/bootanimation.tar b/prebuilt/common/bootanimation/1600.zip similarity index 97% rename from bootanimation/bootanimation.tar rename to prebuilt/common/bootanimation/1600.zip index 50e82bf0..f008848a 100644 Binary files a/bootanimation/bootanimation.tar and b/prebuilt/common/bootanimation/1600.zip differ diff --git a/prebuilt/common/bootanimation/240.zip b/prebuilt/common/bootanimation/240.zip new file mode 100644 index 00000000..94b671e8 Binary files /dev/null and b/prebuilt/common/bootanimation/240.zip differ diff --git a/prebuilt/common/bootanimation/320.zip b/prebuilt/common/bootanimation/320.zip new file mode 100644 index 00000000..7a9f86d7 Binary files /dev/null and b/prebuilt/common/bootanimation/320.zip differ diff --git a/prebuilt/common/bootanimation/360.zip b/prebuilt/common/bootanimation/360.zip new file mode 100644 index 00000000..19061376 Binary files /dev/null and b/prebuilt/common/bootanimation/360.zip differ diff --git a/prebuilt/common/bootanimation/480.zip b/prebuilt/common/bootanimation/480.zip new file mode 100644 index 00000000..de6d2faa Binary files /dev/null and b/prebuilt/common/bootanimation/480.zip differ diff --git a/prebuilt/common/bootanimation/540.zip b/prebuilt/common/bootanimation/540.zip new file mode 100644 index 00000000..3458bbb0 Binary files /dev/null and b/prebuilt/common/bootanimation/540.zip differ diff --git a/prebuilt/common/bootanimation/600.zip b/prebuilt/common/bootanimation/600.zip new file mode 100644 index 00000000..f7662ce6 Binary files /dev/null and b/prebuilt/common/bootanimation/600.zip differ diff --git a/prebuilt/common/bootanimation/720.zip b/prebuilt/common/bootanimation/720.zip new file mode 100644 index 00000000..aaabf4fe Binary files /dev/null and b/prebuilt/common/bootanimation/720.zip differ diff --git a/prebuilt/common/bootanimation/768.zip b/prebuilt/common/bootanimation/768.zip new file mode 100644 index 00000000..f8521ddf Binary files /dev/null and b/prebuilt/common/bootanimation/768.zip differ diff --git a/prebuilt/common/bootanimation/800.zip b/prebuilt/common/bootanimation/800.zip new file mode 100644 index 00000000..08d57858 Binary files /dev/null and b/prebuilt/common/bootanimation/800.zip differ diff --git a/prebuilt/common/bootanimation/halfres/1080.zip b/prebuilt/common/bootanimation/halfres/1080.zip new file mode 100644 index 00000000..efb45ca4 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/1080.zip differ diff --git a/prebuilt/common/bootanimation/halfres/1200.zip b/prebuilt/common/bootanimation/halfres/1200.zip new file mode 100644 index 00000000..d63a0b09 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/1200.zip differ diff --git a/prebuilt/common/bootanimation/halfres/1440.zip b/prebuilt/common/bootanimation/halfres/1440.zip new file mode 100644 index 00000000..eba63464 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/1440.zip differ diff --git a/prebuilt/common/bootanimation/halfres/1536.zip b/prebuilt/common/bootanimation/halfres/1536.zip new file mode 100644 index 00000000..3f6da277 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/1536.zip differ diff --git a/prebuilt/common/bootanimation/halfres/1600.zip b/prebuilt/common/bootanimation/halfres/1600.zip new file mode 100644 index 00000000..61132a97 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/1600.zip differ diff --git a/prebuilt/common/bootanimation/halfres/240.zip b/prebuilt/common/bootanimation/halfres/240.zip new file mode 100644 index 00000000..59735d06 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/240.zip differ diff --git a/prebuilt/common/bootanimation/halfres/320.zip b/prebuilt/common/bootanimation/halfres/320.zip new file mode 100644 index 00000000..7497da0c Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/320.zip differ diff --git a/prebuilt/common/bootanimation/halfres/360.zip b/prebuilt/common/bootanimation/halfres/360.zip new file mode 100644 index 00000000..f1247f70 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/360.zip differ diff --git a/prebuilt/common/bootanimation/halfres/480.zip b/prebuilt/common/bootanimation/halfres/480.zip new file mode 100644 index 00000000..44db576e Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/480.zip differ diff --git a/prebuilt/common/bootanimation/halfres/540.zip b/prebuilt/common/bootanimation/halfres/540.zip new file mode 100644 index 00000000..35b631cf Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/540.zip differ diff --git a/prebuilt/common/bootanimation/halfres/600.zip b/prebuilt/common/bootanimation/halfres/600.zip new file mode 100644 index 00000000..ec352f7f Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/600.zip differ diff --git a/prebuilt/common/bootanimation/halfres/720.zip b/prebuilt/common/bootanimation/halfres/720.zip new file mode 100644 index 00000000..cc7b7d38 Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/720.zip differ diff --git a/prebuilt/common/bootanimation/halfres/768.zip b/prebuilt/common/bootanimation/halfres/768.zip new file mode 100644 index 00000000..f87e834f Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/768.zip differ diff --git a/prebuilt/common/bootanimation/halfres/800.zip b/prebuilt/common/bootanimation/halfres/800.zip new file mode 100644 index 00000000..051db72e Binary files /dev/null and b/prebuilt/common/bootanimation/halfres/800.zip differ diff --git a/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh b/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh new file mode 100755 index 00000000..70f6fad6 --- /dev/null +++ b/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +HALF_RES_RESOLUTIONS="240 320 360 480 540 600 720 768 800 1080 1200 1440 1536 1600" + +for i in $HALF_RES_RESOLUTIONS; do + rm -f $i.zip + mkdir $i + cd $i + if [ -f ../../$(($i/2)).zip ]; then + # use the existing scaled images + echo "Using existing half-scale images instead of scaling from $i px" + unzip ../../$(($i/2)).zip + rm -f desc.txt + unzip ../../$i.zip desc.txt + else + unzip ../../$i.zip + for j in */*.[pP][nN][gG]; do + convert $j -resize 50% tmp.png + mv tmp.png $j + done + fi + zip -r0 ../$i.zip . + cd .. + rm -rf $i +done