cm: Revert the new boot animation generation process
The servers do not have ImageMagick installed right now,
breaking the automated builds.
Revert this for now.
This reverts the following commits:
840e781408dc0de9efd8c18a65f69fbf6fab63ef bootanim: Use a for loop to make part# folders
ce5405d1f7dec6f1f2530f4604f2d6e88fa9fc3b Fix wrong bootanimation.zip from mkdir .../part{0..2}
6179d9494f6a1ab1da6258dd69a6949b6002f2f2 cm: Build bootanimation.zip
67ddf3728104a07902e8199e1980939c8798c42b cm: Rework boot animation generation
Change-Id: I63fc43da9b1a6afea5f791e879f0bfc9a385d98d
diff --git a/bootanimation/Android.mk b/bootanimation/Android.mk
deleted file mode 100644
index f7ba13b..0000000
--- 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 4aecc8e..0000000
--- 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 b5d8f19..0000000
--- 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 3a5b0e4..0c1160e 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 @@
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 94798dc..6ee8c00 100644
--- a/config/common_full_phone.mk
+++ b/config/common_full_phone.mk
@@ -8,4 +8,9 @@
# 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 47e7845..8dc9332 100644
--- a/config/common_full_tablet_wifionly.mk
+++ b/config/common_full_tablet_wifionly.mk
@@ -7,3 +7,8 @@
# 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 10b2a5c..779b918 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 b4c0cb3..828b5b9 100644
--- a/config/common_mini_phone.mk
+++ b/config/common_mini_phone.mk
@@ -4,4 +4,9 @@
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 285a55d..1d5810f 100644
--- a/config/common_mini_tablet_wifionly.mk
+++ b/config/common_mini_tablet_wifionly.mk
@@ -4,3 +4,8 @@
# 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 86f1a6b..63f2bcf 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 0000000..c2d29e2
--- /dev/null
+++ b/prebuilt/common/bootanimation/1080.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1200.zip b/prebuilt/common/bootanimation/1200.zip
new file mode 100644
index 0000000..95b1fdc
--- /dev/null
+++ b/prebuilt/common/bootanimation/1200.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1440.zip b/prebuilt/common/bootanimation/1440.zip
new file mode 100644
index 0000000..d9c6dc3
--- /dev/null
+++ b/prebuilt/common/bootanimation/1440.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1536.zip b/prebuilt/common/bootanimation/1536.zip
new file mode 100644
index 0000000..a2fc1b6
--- /dev/null
+++ b/prebuilt/common/bootanimation/1536.zip
Binary files 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 50e82bf..f008848 100644
--- a/bootanimation/bootanimation.tar
+++ b/prebuilt/common/bootanimation/1600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/240.zip b/prebuilt/common/bootanimation/240.zip
new file mode 100644
index 0000000..94b671e
--- /dev/null
+++ b/prebuilt/common/bootanimation/240.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/320.zip b/prebuilt/common/bootanimation/320.zip
new file mode 100644
index 0000000..7a9f86d
--- /dev/null
+++ b/prebuilt/common/bootanimation/320.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/360.zip b/prebuilt/common/bootanimation/360.zip
new file mode 100644
index 0000000..1906137
--- /dev/null
+++ b/prebuilt/common/bootanimation/360.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/480.zip b/prebuilt/common/bootanimation/480.zip
new file mode 100644
index 0000000..de6d2fa
--- /dev/null
+++ b/prebuilt/common/bootanimation/480.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/540.zip b/prebuilt/common/bootanimation/540.zip
new file mode 100644
index 0000000..3458bbb
--- /dev/null
+++ b/prebuilt/common/bootanimation/540.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/600.zip b/prebuilt/common/bootanimation/600.zip
new file mode 100644
index 0000000..f7662ce
--- /dev/null
+++ b/prebuilt/common/bootanimation/600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/720.zip b/prebuilt/common/bootanimation/720.zip
new file mode 100644
index 0000000..aaabf4f
--- /dev/null
+++ b/prebuilt/common/bootanimation/720.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/768.zip b/prebuilt/common/bootanimation/768.zip
new file mode 100644
index 0000000..f8521dd
--- /dev/null
+++ b/prebuilt/common/bootanimation/768.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/800.zip b/prebuilt/common/bootanimation/800.zip
new file mode 100644
index 0000000..08d5785
--- /dev/null
+++ b/prebuilt/common/bootanimation/800.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1080.zip b/prebuilt/common/bootanimation/halfres/1080.zip
new file mode 100644
index 0000000..efb45ca
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/1080.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1200.zip b/prebuilt/common/bootanimation/halfres/1200.zip
new file mode 100644
index 0000000..d63a0b0
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/1200.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1440.zip b/prebuilt/common/bootanimation/halfres/1440.zip
new file mode 100644
index 0000000..eba6346
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/1440.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1536.zip b/prebuilt/common/bootanimation/halfres/1536.zip
new file mode 100644
index 0000000..3f6da277
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/1536.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1600.zip b/prebuilt/common/bootanimation/halfres/1600.zip
new file mode 100644
index 0000000..61132a9
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/1600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/240.zip b/prebuilt/common/bootanimation/halfres/240.zip
new file mode 100644
index 0000000..59735d0
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/240.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/320.zip b/prebuilt/common/bootanimation/halfres/320.zip
new file mode 100644
index 0000000..7497da0
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/320.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/360.zip b/prebuilt/common/bootanimation/halfres/360.zip
new file mode 100644
index 0000000..f1247f7
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/360.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/480.zip b/prebuilt/common/bootanimation/halfres/480.zip
new file mode 100644
index 0000000..44db576
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/480.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/540.zip b/prebuilt/common/bootanimation/halfres/540.zip
new file mode 100644
index 0000000..35b631c
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/540.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/600.zip b/prebuilt/common/bootanimation/halfres/600.zip
new file mode 100644
index 0000000..ec352f7
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/720.zip b/prebuilt/common/bootanimation/halfres/720.zip
new file mode 100644
index 0000000..cc7b7d3
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/720.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/768.zip b/prebuilt/common/bootanimation/halfres/768.zip
new file mode 100644
index 0000000..f87e834
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/768.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/800.zip b/prebuilt/common/bootanimation/halfres/800.zip
new file mode 100644
index 0000000..051db72
--- /dev/null
+++ b/prebuilt/common/bootanimation/halfres/800.zip
Binary files 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 0000000..70f6fad
--- /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