summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGriffin Millender <griffinn.millender@gmail.com>2016-10-07 18:16:06 -0500
committerZhao Wei Liew <zhaoweiliew@gmail.com>2017-01-04 11:05:55 +0800
commit5517e01a9e6b76343730f676be31b62cac809f5e (patch)
treebb4dc0cdeee476a59e5bdfa33186d36741dbb940
parentb20aa05024c626174f788eeb0f4259f41163b680 (diff)
downloadvendor_replicant-5517e01a9e6b76343730f676be31b62cac809f5e.zip
vendor_replicant-5517e01a9e6b76343730f676be31b62cac809f5e.tar.gz
vendor_replicant-5517e01a9e6b76343730f676be31b62cac809f5e.tar.bz2
cm: Rework boot animation generation
Keep the largest bootanimation extracted and resize it at build-time. Change-Id: Iee32f18440ff955d13ed85b273e97cbd540721fc
-rw-r--r--bootanimation/Android.mk52
-rw-r--r--bootanimation/bootanimation.tar (renamed from prebuilt/common/bootanimation/1600.zip)bin6453184 -> 6563840 bytes
-rw-r--r--bootanimation/desc.txt3
-rwxr-xr-xbootanimation/generate-bootanimation.sh32
-rw-r--r--config/common.mk33
-rw-r--r--config/common_full_phone.mk5
-rw-r--r--config/common_full_tablet_wifionly.mk5
-rw-r--r--config/common_full_tv.mk5
-rw-r--r--config/common_mini_phone.mk5
-rw-r--r--config/common_mini_tablet_wifionly.mk5
-rw-r--r--config/common_mini_tv.mk5
-rw-r--r--prebuilt/common/bootanimation/1080.zipbin2372242 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/1200.zipbin3928983 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/1440.zipbin5501273 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/1536.zipbin6003639 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/240.zipbin435593 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/320.zipbin617618 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/360.zipbin653060 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/480.zipbin1007196 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/540.zipbin1033536 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/600.zipbin1347040 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/720.zipbin1656955 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/768.zipbin1947247 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/800.zipbin2097364 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/1080.zipbin1041546 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/1200.zipbin1355050 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/1440.zipbin1664965 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/1536.zipbin1955257 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/1600.zipbin2105374 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/240.zipbin413702 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/320.zipbin543289 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/360.zipbin612865 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/480.zipbin443497 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/540.zipbin921935 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/600.zipbin1010305 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/720.zipbin661068 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/768.zipbin1319788 -> 0 bytes
-rw-r--r--prebuilt/common/bootanimation/halfres/800.zipbin1400358 -> 0 bytes
-rwxr-xr-xprebuilt/common/bootanimation/halfres/generate-half-res-anims.sh25
39 files changed, 87 insertions, 88 deletions
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/prebuilt/common/bootanimation/1600.zip b/bootanimation/bootanimation.tar
index f008848..50e82bf 100644
--- a/prebuilt/common/bootanimation/1600.zip
+++ 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..37b8314
--- /dev/null
+++ b/bootanimation/generate-bootanimation.sh
@@ -0,0 +1,32 @@
+#!/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""
+
+mkdir -p $ANDROID_PRODUCT_OUT/obj/BOOTANIMATION/bootanimation/part{0..2}
+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 2b8c10f..969bd87 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -1,38 +1,5 @@
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 vendor/cm/prebuilt/common/bootanimation))
-bootanimation_sizes := $(shell echo -e $(subst $(space),'\n',$(bootanimation_sizes)) | 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),)
diff --git a/config/common_full_phone.mk b/config/common_full_phone.mk
index 6ee8c00..94798dc 100644
--- a/config/common_full_phone.mk
+++ b/config/common_full_phone.mk
@@ -8,9 +8,4 @@ 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 8dc9332..47e7845 100644
--- a/config/common_full_tablet_wifionly.mk
+++ b/config/common_full_tablet_wifionly.mk
@@ -7,8 +7,3 @@ 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 779b918..10b2a5c 100644
--- a/config/common_full_tv.mk
+++ b/config/common_full_tv.mk
@@ -1,7 +1,2 @@
# 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 828b5b9..b4c0cb3 100644
--- a/config/common_mini_phone.mk
+++ b/config/common_mini_phone.mk
@@ -4,9 +4,4 @@ $(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 1d5810f..285a55d 100644
--- a/config/common_mini_tablet_wifionly.mk
+++ b/config/common_mini_tablet_wifionly.mk
@@ -4,8 +4,3 @@ $(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 63f2bcf..86f1a6b 100644
--- a/config/common_mini_tv.mk
+++ b/config/common_mini_tv.mk
@@ -1,7 +1,2 @@
# 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
deleted file mode 100644
index c2d29e2..0000000
--- a/prebuilt/common/bootanimation/1080.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/1200.zip b/prebuilt/common/bootanimation/1200.zip
deleted file mode 100644
index 95b1fdc..0000000
--- a/prebuilt/common/bootanimation/1200.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/1440.zip b/prebuilt/common/bootanimation/1440.zip
deleted file mode 100644
index d9c6dc3..0000000
--- a/prebuilt/common/bootanimation/1440.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/1536.zip b/prebuilt/common/bootanimation/1536.zip
deleted file mode 100644
index a2fc1b6..0000000
--- a/prebuilt/common/bootanimation/1536.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/240.zip b/prebuilt/common/bootanimation/240.zip
deleted file mode 100644
index 94b671e..0000000
--- a/prebuilt/common/bootanimation/240.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/320.zip b/prebuilt/common/bootanimation/320.zip
deleted file mode 100644
index 7a9f86d..0000000
--- a/prebuilt/common/bootanimation/320.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/360.zip b/prebuilt/common/bootanimation/360.zip
deleted file mode 100644
index 1906137..0000000
--- a/prebuilt/common/bootanimation/360.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/480.zip b/prebuilt/common/bootanimation/480.zip
deleted file mode 100644
index de6d2fa..0000000
--- a/prebuilt/common/bootanimation/480.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/540.zip b/prebuilt/common/bootanimation/540.zip
deleted file mode 100644
index 3458bbb..0000000
--- a/prebuilt/common/bootanimation/540.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/600.zip b/prebuilt/common/bootanimation/600.zip
deleted file mode 100644
index f7662ce..0000000
--- a/prebuilt/common/bootanimation/600.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/720.zip b/prebuilt/common/bootanimation/720.zip
deleted file mode 100644
index aaabf4f..0000000
--- a/prebuilt/common/bootanimation/720.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/768.zip b/prebuilt/common/bootanimation/768.zip
deleted file mode 100644
index f8521dd..0000000
--- a/prebuilt/common/bootanimation/768.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/800.zip b/prebuilt/common/bootanimation/800.zip
deleted file mode 100644
index 08d5785..0000000
--- a/prebuilt/common/bootanimation/800.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1080.zip b/prebuilt/common/bootanimation/halfres/1080.zip
deleted file mode 100644
index efb45ca..0000000
--- a/prebuilt/common/bootanimation/halfres/1080.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1200.zip b/prebuilt/common/bootanimation/halfres/1200.zip
deleted file mode 100644
index d63a0b0..0000000
--- a/prebuilt/common/bootanimation/halfres/1200.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1440.zip b/prebuilt/common/bootanimation/halfres/1440.zip
deleted file mode 100644
index eba6346..0000000
--- a/prebuilt/common/bootanimation/halfres/1440.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1536.zip b/prebuilt/common/bootanimation/halfres/1536.zip
deleted file mode 100644
index 3f6da27..0000000
--- a/prebuilt/common/bootanimation/halfres/1536.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1600.zip b/prebuilt/common/bootanimation/halfres/1600.zip
deleted file mode 100644
index 61132a9..0000000
--- a/prebuilt/common/bootanimation/halfres/1600.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/240.zip b/prebuilt/common/bootanimation/halfres/240.zip
deleted file mode 100644
index 59735d0..0000000
--- a/prebuilt/common/bootanimation/halfres/240.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/320.zip b/prebuilt/common/bootanimation/halfres/320.zip
deleted file mode 100644
index 7497da0..0000000
--- a/prebuilt/common/bootanimation/halfres/320.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/360.zip b/prebuilt/common/bootanimation/halfres/360.zip
deleted file mode 100644
index f1247f7..0000000
--- a/prebuilt/common/bootanimation/halfres/360.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/480.zip b/prebuilt/common/bootanimation/halfres/480.zip
deleted file mode 100644
index 44db576..0000000
--- a/prebuilt/common/bootanimation/halfres/480.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/540.zip b/prebuilt/common/bootanimation/halfres/540.zip
deleted file mode 100644
index 35b631c..0000000
--- a/prebuilt/common/bootanimation/halfres/540.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/600.zip b/prebuilt/common/bootanimation/halfres/600.zip
deleted file mode 100644
index ec352f7..0000000
--- a/prebuilt/common/bootanimation/halfres/600.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/720.zip b/prebuilt/common/bootanimation/halfres/720.zip
deleted file mode 100644
index cc7b7d3..0000000
--- a/prebuilt/common/bootanimation/halfres/720.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/768.zip b/prebuilt/common/bootanimation/halfres/768.zip
deleted file mode 100644
index f87e834..0000000
--- a/prebuilt/common/bootanimation/halfres/768.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/800.zip b/prebuilt/common/bootanimation/halfres/800.zip
deleted file mode 100644
index 051db72..0000000
--- a/prebuilt/common/bootanimation/halfres/800.zip
+++ /dev/null
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
deleted file mode 100755
index 70f6fad..0000000
--- a/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/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