Update compatibility matrix logic.
Use c_m.<level>.xml for matrices which correspond
to released API levels.
Test: manual
Test: build system complains when files are missing
Bug: 63603463
Change-Id: I16bcab9a7548876ec2bedf9c5d70a126ac50b8d5
diff --git a/core/config.mk b/core/config.mk
index 232f116..94277de 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -762,8 +762,14 @@
ifeq ($(strip $(PRODUCT_COMPATIBILITY_MATRIX_LEVEL)),legacy)
FRAMEWORK_COMPATIBILITY_MATRIX_FILE := hardware/interfaces/compatibility_matrix.legacy.xml
-else ifeq ($(call math_gt_or_eq,$(PRODUCT_COMPATIBILITY_MATRIX_LEVEL),27),)
+else ifeq ($(call math_gt_or_eq,$(PRODUCT_COMPATIBILITY_MATRIX_LEVEL),26),)
+ # All PRODUCT_FULL_TREBLE devices with shipping API levels < 26 get the level 26 manifest
+ # as that is the first.
FRAMEWORK_COMPATIBILITY_MATRIX_FILE := hardware/interfaces/compatibility_matrix.26.xml
+else ifeq ($(call math_gt_or_eq,$(PRODUCT_COMPATIBILITY_MATRIX_LEVEL),28),)
+ # All shipping API levels with released compatibility matrices get the corresponding matrix.
+ FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
+ hardware/interfaces/compatibility_matrix.$(PRODUCT_COMPATIBILITY_MATRIX_LEVEL).xml
else
FRAMEWORK_COMPATIBILITY_MATRIX_FILE := hardware/interfaces/compatibility_matrix.current.xml
endif