vendor/bliss: Rework boot animation generation

Keep the largest bootanimation extracted
and resize it at build-time.

Change-Id: Iee32f18440ff955d13ed85b273e97cbd540721fc
Signed-off-by: Jackeagle <jackeagle102@gmail.com>
diff --git a/bootanimation/Android.mk b/bootanimation/Android.mk
index 19c51c4..e5bfe62 100644
--- a/bootanimation/Android.mk
+++ b/bootanimation/Android.mk
@@ -1,5 +1,6 @@
-# Copyright (C) 2016 The SlimRom Project
-# Copyright (C) 2017 The BlissRoms Project
+#
+# Copyright (C) 2016 The CyanogenMod Project
+#               2017 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.
@@ -12,12 +13,41 @@
 # 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.
+#
 
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_MODULE := BlissBootAnimation
-
-BOOTANIMATION := $(shell $(ANDROID_BUILD_TOP)/vendor/bliss/bootanimation/generate-bootanimation.sh \
+define build-bootanimation
+    sh vendor/bliss/bootanimation/generate-bootanimation.sh \
     $(TARGET_SCREEN_WIDTH) \
-    $(TARGET_BOOTANIMATION_HALF_RES))
+    $(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 mogrify),)
+        $(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) $@