Merge "SharedLibraryInfo.isNative() returns true for native libs"
diff --git a/core/java/android/content/pm/SharedLibraryInfo.java b/core/java/android/content/pm/SharedLibraryInfo.java
index 8625637..a60e642 100644
--- a/core/java/android/content/pm/SharedLibraryInfo.java
+++ b/core/java/android/content/pm/SharedLibraryInfo.java
@@ -114,15 +114,6 @@
         mIsNative = isNative;
     }
 
-    /** @hide */
-    public SharedLibraryInfo(String path, String packageName, List<String> codePaths,
-            String name, long version, int type,
-            VersionedPackage declaringPackage, List<VersionedPackage> dependentPackages,
-            List<SharedLibraryInfo> dependencies) {
-        this(path, packageName, codePaths, name, version, type, declaringPackage, dependentPackages,
-            dependencies, false /* isNative */);
-    }
-
     private SharedLibraryInfo(Parcel parcel) {
         mPath = parcel.readString8();
         mPackageName = parcel.readString8();
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 9b5d295..94e21e5 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -391,16 +391,19 @@
         SharedLibraryInfo hidlBase = new SharedLibraryInfo(
                 "/system/framework/android.hidl.base-V1.0-java.jar", null /*packageName*/,
                 null /*codePaths*/, null /*name*/, 0 /*version*/, SharedLibraryInfo.TYPE_BUILTIN,
-                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/);
+                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/,
+                false /*isNative*/);
         SharedLibraryInfo hidlManager = new SharedLibraryInfo(
                 "/system/framework/android.hidl.manager-V1.0-java.jar", null /*packageName*/,
                 null /*codePaths*/, null /*name*/, 0 /*version*/, SharedLibraryInfo.TYPE_BUILTIN,
-                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/);
+                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/,
+                false /*isNative*/);
 
         SharedLibraryInfo androidTestBase = new SharedLibraryInfo(
                 "/system/framework/android.test.base.jar", null /*packageName*/,
                 null /*codePaths*/, null /*name*/, 0 /*version*/, SharedLibraryInfo.TYPE_BUILTIN,
-                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/);
+                null /*declaringPackage*/, null /*dependentPackages*/, null /*dependencies*/,
+                false /*isNative*/);
 
         ApplicationLoaders.getDefault().createAndCacheNonBootclasspathSystemClassLoaders(
                 new SharedLibraryInfo[]{
diff --git a/core/tests/coretests/src/android/app/ApplicationLoadersTest.java b/core/tests/coretests/src/android/app/ApplicationLoadersTest.java
index 4b9910c..19e7f80 100644
--- a/core/tests/coretests/src/android/app/ApplicationLoadersTest.java
+++ b/core/tests/coretests/src/android/app/ApplicationLoadersTest.java
@@ -42,7 +42,7 @@
         return new SharedLibraryInfo(
                 zip, null /*packageName*/, null /*codePaths*/, null /*name*/, 0 /*version*/,
                 SharedLibraryInfo.TYPE_BUILTIN, null /*declaringPackage*/,
-                null /*dependentPackages*/, null /*dependencies*/);
+                null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/);
     }
 
     @Test
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 55f9fee..db5eb84 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -5717,7 +5717,8 @@
                             getPackagesUsingSharedLibraryLPr(libInfo, flags, userId),
                             (libInfo.getDependencies() == null
                                     ? null
-                                    : new ArrayList<>(libInfo.getDependencies())));
+                                    : new ArrayList<>(libInfo.getDependencies())),
+                            libInfo.isNative());
 
                     if (result == null) {
                         result = new ArrayList<>();
@@ -5786,7 +5787,8 @@
                             libraryInfo.getLongVersion(), libraryInfo.getType(),
                             libraryInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr(
                             libraryInfo, flags, userId), libraryInfo.getDependencies() == null
-                            ? null : new ArrayList<>(libraryInfo.getDependencies()));
+                            ? null : new ArrayList<>(libraryInfo.getDependencies()),
+                            libraryInfo.isNative());
 
                     if (result == null) {
                         result = new ArrayList<>();
diff --git a/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackageUtils.java b/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackageUtils.java
index 0a56e13..ab25a7c 100644
--- a/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackageUtils.java
+++ b/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackageUtils.java
@@ -94,7 +94,7 @@
                 SharedLibraryInfo.TYPE_STATIC,
                 new VersionedPackage(pkg.getManifestPackageName(),
                         pkg.getLongVersionCode()),
-                null, null);
+                null, null, false /* isNative */);
     }
 
     public static SharedLibraryInfo createSharedLibraryForDynamic(AndroidPackage pkg, String name) {
@@ -103,7 +103,7 @@
                 SharedLibraryInfo.VERSION_UNDEFINED,
                 SharedLibraryInfo.TYPE_DYNAMIC, new VersionedPackage(pkg.getPackageName(),
                 pkg.getLongVersionCode()),
-                null, null);
+                null, null, false /* isNative */);
     }
 
     /**
diff --git a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
index 3846be0..34cefec 100644
--- a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
@@ -134,7 +134,7 @@
 
     private List<SharedLibraryInfo> createMockSharedLibrary(String [] sharedLibrary) {
         SharedLibraryInfo info = new SharedLibraryInfo(null, null, Arrays.asList(sharedLibrary),
-                null, 0L, SharedLibraryInfo.TYPE_STATIC, null, null, null);
+                null, 0L, SharedLibraryInfo.TYPE_STATIC, null, null, null, false /* isNative */);
         ArrayList<SharedLibraryInfo> libraries = new ArrayList<>();
         libraries.add(info);
         return libraries;