Move interfaces to core/java for porting parser 2
1. Move AndroidPackage and AndroidPackageSplit to core/java/c/a/s/p/pkg.
2. Move AndroidPackageSplitImpl to c/j/c/a/i/p/pkg.
3. Make interfaces as common file group and import within
services-non-updatable-sources.
4. Modify related files that used those classes.
Bug: 309596860
Test: build pass and boot to home
Test: atest PackageManagerServiceServerTests
Test: atest PackageManagerComponentOverrideTests
Test: atest PermissionServiceMockingTests
Test: atest PackageManagerServiceUnitTests
Test: atest ModulesUtilsTests
Test: atest ArtServiceTests
Change-Id: I69de59ea5c63c2ce6e804aa64731683a6de37a5e
diff --git a/core/java/Android.bp b/core/java/Android.bp
index dfe3344..fb1e16a 100644
--- a/core/java/Android.bp
+++ b/core/java/Android.bp
@@ -546,6 +546,15 @@
],
}
+// PackageManager common
+filegroup {
+ name: "framework-pm-common-shared-srcs",
+ srcs: [
+ "com/android/server/pm/pkg/AndroidPackage.java",
+ "com/android/server/pm/pkg/AndroidPackageSplit.java",
+ ],
+}
+
java_library {
name: "protolog-lib",
platform_apis: true,
diff --git a/services/core/java/com/android/server/pm/pkg/AndroidPackageSplitImpl.java b/core/java/com/android/internal/pm/pkg/AndroidPackageSplitImpl.java
similarity index 94%
rename from services/core/java/com/android/server/pm/pkg/AndroidPackageSplitImpl.java
rename to core/java/com/android/internal/pm/pkg/AndroidPackageSplitImpl.java
index c0f2c25..3c564e9 100644
--- a/services/core/java/com/android/server/pm/pkg/AndroidPackageSplitImpl.java
+++ b/core/java/com/android/internal/pm/pkg/AndroidPackageSplitImpl.java
@@ -14,12 +14,14 @@
* limitations under the License.
*/
-package com.android.server.pm.pkg;
+package com.android.internal.pm.pkg;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.pm.ApplicationInfo;
+import com.android.server.pm.pkg.AndroidPackageSplit;
+
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -94,8 +96,8 @@
if (this == o) return true;
if (!(o instanceof AndroidPackageSplitImpl)) return false;
AndroidPackageSplitImpl that = (AndroidPackageSplitImpl) o;
- var fieldsEqual = mRevisionCode == that.mRevisionCode && mFlags == that.mFlags && Objects.equals(
- mName, that.mName) && Objects.equals(mPath, that.mPath)
+ var fieldsEqual = mRevisionCode == that.mRevisionCode && mFlags == that.mFlags
+ && Objects.equals(mName, that.mName) && Objects.equals(mPath, that.mPath)
&& Objects.equals(mClassLoaderName, that.mClassLoaderName);
if (!fieldsEqual) return false;
diff --git a/services/core/java/com/android/server/pm/pkg/AndroidPackage.java b/core/java/com/android/server/pm/pkg/AndroidPackage.java
similarity index 98%
rename from services/core/java/com/android/server/pm/pkg/AndroidPackage.java
rename to core/java/com/android/server/pm/pkg/AndroidPackage.java
index 99819c8..4e4f26c 100644
--- a/services/core/java/com/android/server/pm/pkg/AndroidPackage.java
+++ b/core/java/com/android/server/pm/pkg/AndroidPackage.java
@@ -58,7 +58,6 @@
import com.android.internal.pm.pkg.component.ParsedProvider;
import com.android.internal.pm.pkg.component.ParsedService;
import com.android.internal.pm.pkg.component.ParsedUsesPermission;
-import com.android.server.pm.pkg.parsing.ParsingPackageUtils;
import java.security.PublicKey;
import java.util.List;
@@ -691,7 +690,7 @@
/**
* The names of packages to adopt ownership of permissions from, parsed under {@link
- * ParsingPackageUtils#TAG_ADOPT_PERMISSIONS}.
+ * com.android.server.pm.pkg.parsing.ParsingPackageUtils#TAG_ADOPT_PERMISSIONS}.
*
* @see R.styleable#AndroidManifestOriginalPackage_name
* @hide
@@ -796,7 +795,7 @@
/**
* For use with {@link com.android.server.pm.KeySetManagerService}. Parsed in {@link
- * ParsingPackageUtils#TAG_KEY_SETS}.
+ * com.android.server.pm.pkg.parsing.ParsingPackageUtils#TAG_KEY_SETS}.
*
* @see R.styleable#AndroidManifestKeySet
* @see R.styleable#AndroidManifestPublicKey
@@ -905,7 +904,7 @@
* For system use to migrate from an old package name to a new one, moving over data if
* available.
*
- * @see R.styleable#AndroidManifestOriginalPackage}
+ * @see R.styleable#AndroidManifestOriginalPackage
* @hide
*/
@NonNull
@@ -1267,7 +1266,7 @@
/**
* For use with {@link com.android.server.pm.KeySetManagerService}. Parsed in {@link
- * ParsingPackageUtils#TAG_KEY_SETS}.
+ * com.android.server.pm.pkg.parsing.ParsingPackageUtils#TAG_KEY_SETS}.
*
* @see R.styleable#AndroidManifestUpgradeKeySet
* @hide
@@ -1417,6 +1416,7 @@
* @see ApplicationInfo#FLAG_IS_GAME
* @see R.styleable#AndroidManifestApplication_isGame
* @hide
+ * @deprecated
*/
@Deprecated
boolean isGame();
diff --git a/services/core/java/com/android/server/pm/pkg/AndroidPackageSplit.java b/core/java/com/android/server/pm/pkg/AndroidPackageSplit.java
similarity index 100%
rename from services/core/java/com/android/server/pm/pkg/AndroidPackageSplit.java
rename to core/java/com/android/server/pm/pkg/AndroidPackageSplit.java
diff --git a/services/Android.bp b/services/Android.bp
index 02a7a78..5cb8ec6 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -140,6 +140,7 @@
":services.voiceinteraction-sources",
":services.wallpapereffectsgeneration-sources",
":services.wifi-sources",
+ ":framework-pm-common-shared-srcs",
],
visibility: ["//visibility:private"],
}
diff --git a/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java b/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
index c8ac698..9cc0af3 100644
--- a/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
+++ b/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
@@ -50,6 +50,7 @@
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.pm.pkg.AndroidPackageSplitImpl;
import com.android.internal.pm.pkg.component.ParsedActivity;
import com.android.internal.pm.pkg.component.ParsedApexSystemService;
import com.android.internal.pm.pkg.component.ParsedAttribution;
@@ -71,7 +72,6 @@
import com.android.server.pm.parsing.PackageInfoUtils;
import com.android.server.pm.pkg.AndroidPackage;
import com.android.server.pm.pkg.AndroidPackageSplit;
-import com.android.server.pm.pkg.AndroidPackageSplitImpl;
import com.android.server.pm.pkg.SELinuxUtil;
import com.android.server.pm.pkg.component.ComponentMutateUtils;
import com.android.server.pm.pkg.component.ParsedActivityImpl;