Add product variable PRODUCT_AAPT_PREBUILT_DPI

We use search LOCAL_DPI_VARIANTS in the list of
"$(PRODUCT_AAPT_PREF_CONFIG) $(PRODUCT_AAPT_PREBUILT_DPI)"
and the first takes precedence.
That way if we don't have a best match, we fall back to the second best,
the way how it worked with PRODUCT_AAPT_CONFIG previously.

Bug: 18388705
Change-Id: I8bd646c52215c65cc6e38c728857af9b64d13469
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index 5c02f8d..e7a66f0 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -116,7 +116,7 @@
 
 # Select dpi-specific source
 ifdef LOCAL_DPI_VARIANTS
-my_dpi := $(filter $(LOCAL_DPI_VARIANTS),$(PRODUCT_AAPT_PREF_CONFIG))
+my_dpi := $(firstword $(filter $(LOCAL_DPI_VARIANTS),$(PRODUCT_AAPT_PREF_CONFIG) $(PRODUCT_AAPT_PREBUILT_DPI)))
 ifdef my_dpi
 ifdef LOCAL_DPI_FILE_STEM
 my_prebuilt_dpi_file_stem := $(LOCAL_DPI_FILE_STEM)
diff --git a/core/product.mk b/core/product.mk
index ed906cb..f0fc921 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -70,6 +70,7 @@
     PRODUCT_LOCALES \
     PRODUCT_AAPT_CONFIG \
     PRODUCT_AAPT_PREF_CONFIG \
+    PRODUCT_AAPT_PREBUILT_DPI \
     PRODUCT_PACKAGES \
     PRODUCT_PACKAGES_DEBUG \
     PRODUCT_PACKAGES_ENG \
diff --git a/core/product_config.mk b/core/product_config.mk
index 1efff2f..e7fa75e 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -306,6 +306,7 @@
 # Add PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG
 PRODUCT_AAPT_CONFIG := $(strip $(PRODUCT_LOCALES) $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_CONFIG))
 PRODUCT_AAPT_PREF_CONFIG := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_PREF_CONFIG))
+PRODUCT_AAPT_PREBUILT_DPI := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_PREBUILT_DPI))
 
 # Keep a copy of the space-separated config
 PRODUCT_AAPT_CONFIG_SP := $(PRODUCT_AAPT_CONFIG)