Drop "android.hidl.manager" -> "android.hidl.base" dependency from class loader context.
This dependency is incorrect and shouldn't exist.
It has been removed in https://r.android.com/1467918
Test: m nothing
Bug: 170710203
Bug: 132357300
Change-Id: If3036437e138b552436f135425e6bd15be043678
diff --git a/dexpreopt/class_loader_context.go b/dexpreopt/class_loader_context.go
index 48269e6..c8bab2f 100644
--- a/dexpreopt/class_loader_context.go
+++ b/dexpreopt/class_loader_context.go
@@ -254,40 +254,11 @@
return &classLoaderContexts
}
-// Find build and install paths to "android.hidl.base". The library must be present in conditional
-// class loader context for SDK version 29, because it's one of the compatibility libraries.
-func findHidlBasePaths(ctx android.PathContext, clcMap classLoaderContextMap) (android.Path, string) {
- var hostPath android.Path
- targetPath := UnknownInstallLibraryPath
-
- if clc, ok := clcMap[29]; ok {
- for i, lib := range clc.Names {
- if lib == AndroidHidlBase {
- hostPath = clc.Host[i]
- targetPath = clc.Target[i]
- break
- }
- }
- }
-
- // Fail if the library paths were not found. This may happen if the function is called at the
- // wrong time (either before the compatibility libraries were added to context, or after they
- // have been removed for some reason).
- if hostPath == nil {
- android.ReportPathErrorf(ctx, "dexpreopt cannot find build path to '%s'", AndroidHidlBase)
- } else if targetPath == UnknownInstallLibraryPath {
- android.ReportPathErrorf(ctx, "dexpreopt cannot find install path to '%s'", AndroidHidlBase)
- }
-
- return hostPath, targetPath
-}
-
// Now that the full unconditional context is known, reconstruct conditional context.
// Apply filters for individual libraries, mirroring what the PackageManager does when it
// constructs class loader context on device.
//
// TODO(b/132357300):
-// - move handling of android.hidl.manager -> android.hidl.base dependency here
// - remove android.hidl.manager and android.hidl.base unless the app is a system app.
//
func fixConditionalClassLoaderContext(clcMap classLoaderContextMap) {
@@ -313,8 +284,6 @@
// Return the class loader context as a string and a slice of build paths for all dependencies.
func computeClassLoaderContext(ctx android.PathContext, clcMap classLoaderContextMap) (clcStr string, paths android.Paths) {
- hidlBaseHostPath, hidlBaseTargetPath := findHidlBasePaths(ctx, clcMap)
-
for _, ver := range android.SortedIntKeys(clcMap) {
clc := clcMap.getValue(ver)
@@ -330,14 +299,6 @@
hostStr := "PCL[" + clc.Host[i].String() + "]"
targetStr := "PCL[" + clc.Target[i] + "]"
- // Add dependency of android.hidl.manager on android.hidl.base (it is not tracked as
- // a regular dependency by the build system, so it needs special handling).
- if clc.Names[i] == AndroidHidlManager {
- hostStr += "{PCL[" + hidlBaseHostPath.String() + "]}"
- targetStr += "{PCL[" + hidlBaseTargetPath + "]}"
- hostPaths = append(hostPaths, hidlBaseHostPath)
- }
-
hostClc = append(hostClc, hostStr)
targetClc = append(targetClc, targetStr)
hostPaths = append(hostPaths, clc.Host[i])
diff --git a/java/app_test.go b/java/app_test.go
index 8c77573..82577e3 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -2831,10 +2831,9 @@
}
// Test conditional context for target SDK version 29.
- // Hardcoded dependency "android.hidl.manager" -> "android.hidl.base" is present.
if w := `--target-context-for-sdk 29` +
` PCL[/system/framework/android.hidl.base-V1.0-java.jar]` +
- `#PCL[/system/framework/android.hidl.manager-V1.0-java.jar]{PCL[/system/framework/android.hidl.base-V1.0-java.jar]} `; !strings.Contains(cmd, w) {
+ `#PCL[/system/framework/android.hidl.manager-V1.0-java.jar] `; !strings.Contains(cmd, w) {
t.Errorf("wanted %q in %q", w, cmd)
}