From ea9dab478c443e9659b2724d25d46231433047a9 Mon Sep 17 00:00:00 2001 From: Jerome Gaillard Date: Wed, 25 Oct 2023 00:05:12 +0000 Subject: [PATCH] Add key character maps to layoutlib dist files This makes key character map files from the framework part of the layoutlib artifacts so that they can be used in Android Studio to handle platform key events. Bug: 255328531 Test: N/A (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1894ff5c78ca33be85d983d28be42870bac0bed0) Merged-In: I147159912f85daafc97364468d6a6c2cfa3916b8 Change-Id: I147159912f85daafc97364468d6a6c2cfa3916b8 NOTE FOR REVIEWERS - errors occurred while applying the patch. PLEASE REVIEW CAREFULLY. Errors: Error applying patch in core/Makefile, hunk HunkHeader[7006,8->7006,8]: Hunk cannot be applied Original patch: From 1894ff5c78ca33be85d983d28be42870bac0bed0 Mon Sep 17 00:00:00 2001 From: Jerome Gaillard Date: Mon, 24 Oct 2022 16:30:25 +0100 Subject: [PATCH] Add key character maps to layoutlib dist files This makes key character map files from the framework part of the layoutlib artifacts so that they can be used in Android Studio to handle platform key events. Bug: 255328531 Test: N/A Change-Id: I147159912f85daafc97364468d6a6c2cfa3916b8 --- --- core/Makefile | 2 +- .../{layoutlib_fonts.mk => layoutlib_data.mk} | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) rename core/{layoutlib_fonts.mk => layoutlib_data.mk} (87%) diff --git a/core/Makefile b/core/Makefile index a253026184..37dd0f6b4e 100644 --- a/core/Makefile +++ b/core/Makefile @@ -7676,7 +7676,7 @@ $(call dist-for-goals,haiku-presubmit,$(SOONG_PRESUBMIT_FUZZ_PACKAGING_ARCH_MODU # ----------------------------------------------------------------- # Extract platform fonts used in Layoutlib -include $(BUILD_SYSTEM)/layoutlib_fonts.mk +include $(BUILD_SYSTEM)/layoutlib_data.mk # ----------------------------------------------------------------- diff --git a/core/layoutlib_fonts.mk b/core/layoutlib_data.mk similarity index 87% rename from core/layoutlib_fonts.mk rename to core/layoutlib_data.mk index e7b3a7621b..09e48f3b0d 100644 --- a/core/layoutlib_fonts.mk +++ b/core/layoutlib_data.mk @@ -1,4 +1,4 @@ -# Fonts for layoutlib +# Data files for layoutlib FONT_TEMP := $(call intermediates-dir-for,PACKAGING,fonts,HOST,COMMON) @@ -21,13 +21,25 @@ $(fonts_device): $(FONT_TEMP)/%: $(TARGET_OUT)/fonts/% $(hide) mkdir -p $(dir $@) $(hide) cp -vf $< $@ -# List of all dependencies - all fonts and configuration files. -FONT_FILES := $(fonts_device) $(font_config) +KEYBOARD_TEMP := $(call intermediates-dir-for,PACKAGING,keyboards,HOST,COMMON) + +# The key character map files needed for supporting KeyEvent +keyboards := $(sort $(wildcard frameworks/base/data/keyboards/*.kcm)) +keyboards := $(addprefix $(KEYBOARD_TEMP)/, $(notdir $(keyboards))) + +$(keyboards): $(KEYBOARD_TEMP)/%.kcm: frameworks/base/data/keyboards/%.kcm + $(hide) mkdir -p $(dir $@) + $(hide) cp -vf $< $@ + +# List of all data files - font files, font configuration files, key character map files +LAYOUTLIB_FILES := $(fonts_device) $(font_config) $(keyboards) .PHONY: layoutlib layoutlib-tests -layoutlib layoutlib-tests: $(FONT_FILES) +layoutlib layoutlib-tests: $(LAYOUTLIB_FILES) -$(call dist-for-goals, layoutlib, $(foreach m,$(FONT_FILES), $(m):layoutlib_native/fonts/$(notdir $(m)))) +$(call dist-for-goals, layoutlib, $(foreach m,$(fonts_device), $(m):layoutlib_native/fonts/$(notdir $(m)))) +$(call dist-for-goals, layoutlib, $(foreach m,$(font_config), $(m):layoutlib_native/fonts/$(notdir $(m)))) +$(call dist-for-goals, layoutlib, $(foreach m,$(keyboards), $(m):layoutlib_native/keyboards/$(notdir $(m)))) FONT_TEMP := font_config :=