Change RRO default location to /product

This changes the default location of RRO packages that don't
specify where they should be installed to /product instead of
/vendor.

Also change the auto-generated "enforced RRO" packages to install
on /product, and be explicit about that in the mk to make it
independent of the RRO default.

The reasoning for this change is that most overlays tend to be
for product level customizations, like themes and so on. RROs
for hardware related things can still be explicitly installed
on /vendor.

Bug: 123566903
Test: preubmit
Test: various internal tests
Change-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 023d5e7..e5a8b5e 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -547,6 +547,8 @@
 # Clean up old location of hiddenapi files
 $(call add-clean-step, rm -f $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi*)
 
+# Clean up previous default location of RROs
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay)
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
 # ************************************************
diff --git a/core/build_rro_package.mk b/core/build_rro_package.mk
index 0b4a0c4..c3daf6e 100644
--- a/core/build_rro_package.mk
+++ b/core/build_rro_package.mk
@@ -18,12 +18,12 @@
 partition :=
 ifeq ($(LOCAL_ODM_MODULE),true)
   partition := $(TARGET_OUT_ODM)
-else ifeq ($(LOCAL_PRODUCT_MODULE),true)
-  partition := $(TARGET_OUT_PRODUCT)
+else ifeq ($(LOCAL_VENDOR_MODULE),true)
+  partition := $(TARGET_OUT_VENDOR)
 else ifeq ($(LOCAL_PRODUCT_SERVICES_MODULE),true)
   partition := $(TARGET_OUT_PRODUCT_SERVICES)
 else
-  partition := $(TARGET_OUT_VENDOR)
+  partition := $(TARGET_OUT_PRODUCT)
 endif
 
 ifeq ($(LOCAL_RRO_THEME),)
diff --git a/core/generate_enforce_rro.mk b/core/generate_enforce_rro.mk
index 1bec6c3..6c95983 100644
--- a/core/generate_enforce_rro.mk
+++ b/core/generate_enforce_rro.mk
@@ -26,6 +26,7 @@
 
 LOCAL_AAPT_FLAGS += --auto-add-overlay
 LOCAL_RESOURCE_DIR := $(enforce_rro_source_overlays)
+LOCAL_PRODUCT_MODULE := true
 
 ifneq (,$(LOCAL_RES_LIBRARIES))
   # Technically we are linking against the app (if only to grab its resources),