Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ed107d5 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Prevent overridden APEX from being installed even when flattened"

parents 47b46178 0abc1b48
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -151,10 +151,20 @@ func (a *apexBundle) androidMkForFiles(w io.Writer, apexName, moduleDir string)
			fmt.Fprintln(w, "include $(BUILD_SYSTEM)/soong_cc_prebuilt.mk")
		} else {
			fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", fi.builtFile.Base())
			if a.primaryApexType && fi.builtFile == a.manifestPbOut {
				// Make apex_manifest.pb module for this APEX to override all other
				// modules in the APEXes being overridden by this APEX
				var patterns []string
				for _, o := range a.overridableProperties.Overrides {
					patterns = append(patterns, "%."+o+a.suffix)
				}
				fmt.Fprintln(w, "LOCAL_OVERRIDES_MODULES :=", strings.Join(patterns, " "))

				if len(a.compatSymlinks) > 0 {
					// For flattened apexes, compat symlinks are attached to apex_manifest.json which is guaranteed for every apex
			if a.primaryApexType && fi.builtFile == a.manifestPbOut && len(a.compatSymlinks) > 0 {
					fmt.Fprintln(w, "LOCAL_POST_INSTALL_CMD :=", strings.Join(a.compatSymlinks, " && "))
				}
			}
			fmt.Fprintln(w, "include $(BUILD_PREBUILT)")
		}
	}