Revert "cm: Revert the new boot animation generation process"
This reverts commit e2ec4c6051114596f616fa2cb203502881669287.
* New build server(s) will be able to support this
Change-Id: I990297e6db7aa6076199bb6344328e704b1d4ebe
diff --git a/bootanimation/Android.mk b/bootanimation/Android.mk
new file mode 100644
index 0000000..f7ba13b
--- /dev/null
+++ b/bootanimation/Android.mk
@@ -0,0 +1,52 @@
+#
+# 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/bootanimation.tar b/bootanimation/bootanimation.tar
new file mode 100644
index 0000000..50e82bf
--- /dev/null
+++ b/bootanimation/bootanimation.tar
Binary files differ
diff --git a/bootanimation/desc.txt b/bootanimation/desc.txt
new file mode 100644
index 0000000..4aecc8e
--- /dev/null
+++ b/bootanimation/desc.txt
@@ -0,0 +1,3 @@
+c 1 0 part0
+c 0 0 part1
+c 1 0 part2
diff --git a/bootanimation/generate-bootanimation.sh b/bootanimation/generate-bootanimation.sh
new file mode 100755
index 0000000..b5d8f19
--- /dev/null
+++ b/bootanimation/generate-bootanimation.sh
@@ -0,0 +1,35 @@
+#!/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" .