aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianjie Xu2018-12-10 13:41:43 -0600
committerGerrit Code Review2018-12-10 13:41:43 -0600
commit19e65028847461c3ac922aaad68efc79c4bd41ea (patch)
treed9195e8d3cb037efb4cd1978ba32fa4b2e353cbc
parente3f39cd81e9f07b6bb78628419e85ad1fac9a872 (diff)
parent81c88ad58bd54a1a6b454293d113ecf278ff0184 (diff)
downloadplatform-build-19e65028847461c3ac922aaad68efc79c4bd41ea.tar.gz
platform-build-19e65028847461c3ac922aaad68efc79c4bd41ea.tar.xz
platform-build-19e65028847461c3ac922aaad68efc79c4bd41ea.zip
Merge "Generate the recovery text images at build time"
-rw-r--r--core/Makefile71
1 files changed, 71 insertions, 0 deletions
diff --git a/core/Makefile b/core/Makefile
index 6226d6be9..c361ef47b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1537,11 +1537,80 @@ else
1537recovery_font := $(call include-path-for, recovery)/fonts/12x22.png 1537recovery_font := $(call include-path-for, recovery)/fonts/12x22.png
1538endif 1538endif
1539 1539
1540
1541# We will only generate the recovery background text images if the variable
1542# TARGET_RECOVERY_UI_SCREEN_WIDTH is defined. For devices with xxxhdpi and xxhdpi, we set the
1543# variable to the commonly used values here, if it hasn't been intialized elsewhere. While for
1544# devices with lower density, they must have TARGET_RECOVERY_UI_SCREEN_WIDTH defined in their
1545# BoardConfig in order to use this feature.
1546ifeq ($(recovery_density),xxxhdpi)
1547TARGET_RECOVERY_UI_SCREEN_WIDTH ?= 1440
1548else ifeq ($(recovery_density),xxhdpi)
1549TARGET_RECOVERY_UI_SCREEN_WIDTH ?= 1080
1550endif
1551
1552ifneq ($(TARGET_RECOVERY_UI_SCREEN_WIDTH),)
1553# Subtracts the margin width and menu indent from the screen width; it's safe to be conservative.
1554ifeq ($(TARGET_RECOVERY_UI_MARGIN_WIDTH),)
1555 recovery_image_width := $$(($(TARGET_RECOVERY_UI_SCREEN_WIDTH) - 10))
1556else
1557 recovery_image_width := $$(($(TARGET_RECOVERY_UI_SCREEN_WIDTH) - $(TARGET_RECOVERY_UI_MARGIN_WIDTH) - 10))
1558endif
1559
1560
1561RECOVERY_INSTALLING_TEXT_FILE := $(call intermediates-dir-for,PACKAGING,recovery_text_res)/installing_text.png
1562RECOVERY_INSTALLING_SECURITY_TEXT_FILE := $(dir $(RECOVERY_INSTALLING_TEXT_FILE))/installing_security_text.png
1563RECOVERY_ERASING_TEXT_FILE := $(dir $(RECOVERY_INSTALLING_TEXT_FILE))/erasing_text.png
1564RECOVERY_ERROR_TEXT_FILE := $(dir $(RECOVERY_INSTALLING_TEXT_FILE))/error_text.png
1565RECOVERY_NO_COMMAND_TEXT_FILE := $(dir $(RECOVERY_INSTALLING_TEXT_FILE))/no_command_text.png
1566
1567generated_recovery_background_text_files := \
1568 $(RECOVERY_INSTALLING_TEXT_FILE) \
1569 $(RECOVERY_INSTALLING_SECURITY_TEXT_FILE) \
1570 $(RECOVERY_ERASING_TEXT_FILE) \
1571 $(RECOVERY_ERROR_TEXT_FILE) \
1572 $(RECOVERY_NO_COMMAND_TEXT_FILE)
1573
1574resource_dir := $(call include-path-for, recovery)/tools/recovery_l10n/res/
1575image_generator_jar := $(HOST_OUT_JAVA_LIBRARIES)/RecoveryImageGenerator.jar
1576$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_SOURCE_FONTS := $(recovery_noto-fonts_dep) $(recovery_roboto-fonts_dep)
1577$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_RECOVERY_FONT_FILES_DIR := $(call intermediates-dir-for,PACKAGING,recovery_font_files)
1578$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_RESOURCE_DIR := $(resource_dir)
1579$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_IMAGE_GENERATOR_JAR := $(image_generator_jar)
1580$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_RECOVERY_IMAGE_WIDTH := $(recovery_image_width)
1581$(RECOVERY_INSTALLING_TEXT_FILE): PRIVATE_RECOVERY_TEXT_LIST := recovery_installing recovery_installing_security recovery_erasing recovery_error recovery_no_command
1582$(RECOVERY_INSTALLING_TEXT_FILE): .KATI_IMPLICIT_OUTPUTS := $(RECOVERY_INSTALLING_SECURITY_TEXT_FILE) $(RECOVERY_ERASING_TEXT_FILE) $(RECOVERY_ERROR_TEXT_FILE) $(RECOVERY_NO_COMMAND_TEXT_FILE)
1583$(RECOVERY_INSTALLING_TEXT_FILE): $(image_generator_jar) $(resource_dir) $(recovery_noto-fonts_dep) $(recovery_roboto-fonts_dep)
1584 # Prepares the font directory.
1585 @rm -rf $(PRIVATE_RECOVERY_FONT_FILES_DIR)
1586 @mkdir -p $(PRIVATE_RECOVERY_FONT_FILES_DIR)
1587 $(foreach filename,$(PRIVATE_SOURCE_FONTS), cp $(filename) $(PRIVATE_RECOVERY_FONT_FILES_DIR);)
1588
1589 @rm -rf $(dir $@)
1590 @mkdir -p $(dir $@)
1591 $(foreach text_name,$(PRIVATE_RECOVERY_TEXT_LIST), \
1592 java -jar $(PRIVATE_IMAGE_GENERATOR_JAR) \
1593 --image_width $(PRIVATE_RECOVERY_IMAGE_WIDTH) \
1594 --text_name $(text_name) \
1595 --font_dir $(PRIVATE_RECOVERY_FONT_FILES_DIR) \
1596 --resource_dir $(PRIVATE_RESOURCE_DIR) \
1597 --output_file $(dir $@)/$(patsubst recovery_%,%_text.png,$(text_name));)
1598else
1599RECOVERY_INSTALLING_TEXT_FILE :=
1600RECOVERY_INSTALLING_SECURITY_TEXT_FILE :=
1601RECOVERY_ERASING_TEXT_FILE :=
1602RECOVERY_ERROR_TEXT_FILE :=
1603RECOVERY_NO_COMMAND_TEXT_FILE :=
1604endif # TARGET_RECOVERY_UI_SCREEN_WIDTH
1605
1540ifndef TARGET_PRIVATE_RES_DIRS 1606ifndef TARGET_PRIVATE_RES_DIRS
1541TARGET_PRIVATE_RES_DIRS := $(wildcard $(TARGET_DEVICE_DIR)/recovery/res) 1607TARGET_PRIVATE_RES_DIRS := $(wildcard $(TARGET_DEVICE_DIR)/recovery/res)
1542endif 1608endif
1543recovery_resource_deps := $(shell find $(recovery_resources_common) \ 1609recovery_resource_deps := $(shell find $(recovery_resources_common) \
1544 $(TARGET_PRIVATE_RES_DIRS) -type f) 1610 $(TARGET_PRIVATE_RES_DIRS) -type f)
1611recovery_resource_deps += $(generated_recovery_background_text_files)
1612
1613
1545ifdef TARGET_RECOVERY_FSTAB 1614ifdef TARGET_RECOVERY_FSTAB
1546recovery_fstab := $(TARGET_RECOVERY_FSTAB) 1615recovery_fstab := $(TARGET_RECOVERY_FSTAB)
1547else 1616else
@@ -1683,6 +1752,8 @@ define build-recoveryimage-target
1683 $(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/res 1752 $(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/res
1684 $(hide) rm -rf $(TARGET_RECOVERY_ROOT_OUT)/res/* 1753 $(hide) rm -rf $(TARGET_RECOVERY_ROOT_OUT)/res/*
1685 $(hide) cp -rf $(recovery_resources_common)/* $(TARGET_RECOVERY_ROOT_OUT)/res 1754 $(hide) cp -rf $(recovery_resources_common)/* $(TARGET_RECOVERY_ROOT_OUT)/res
1755 $(hide) $(foreach recovery_text_file,$(generated_recovery_background_text_files), \
1756 cp -rf $(recovery_text_file) $(TARGET_RECOVERY_ROOT_OUT)/res/images/;)
1686 $(hide) cp -f $(recovery_font) $(TARGET_RECOVERY_ROOT_OUT)/res/images/font.png 1757 $(hide) cp -f $(recovery_font) $(TARGET_RECOVERY_ROOT_OUT)/res/images/font.png
1687 $(hide) $(foreach item,$(TARGET_PRIVATE_RES_DIRS), \ 1758 $(hide) $(foreach item,$(TARGET_PRIVATE_RES_DIRS), \
1688 cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/$(newline)) 1759 cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/$(newline))