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

Commit 5e008b51 authored by Winson Chiu's avatar Winson Chiu Committed by Android (Google) Code Review
Browse files

Merge "Expose AndroidPackage#getStorageUuid"

parents c04d8de7 f1e50acb
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -76,6 +76,7 @@ package com.android.server.pm.pkg {
    method @Nullable public String getSdkLibraryName();
    method @Nullable public String getSdkLibraryName();
    method @NonNull public java.util.List<com.android.server.pm.pkg.AndroidPackageSplit> getSplits();
    method @NonNull public java.util.List<com.android.server.pm.pkg.AndroidPackageSplit> getSplits();
    method @Nullable public String getStaticSharedLibraryName();
    method @Nullable public String getStaticSharedLibraryName();
    method @NonNull public java.util.UUID getStorageUuid();
    method public int getTargetSdkVersion();
    method public int getTargetSdkVersion();
    method public boolean isDebuggable();
    method public boolean isDebuggable();
    method public boolean isIsolatedSplitLoading();
    method public boolean isIsolatedSplitLoading();
+5 −0
Original line number Original line Diff line number Diff line
@@ -1334,6 +1334,11 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal,
        return staticSharedLibVersion;
        return staticSharedLibVersion;
    }
    }


    @Override
    public UUID getStorageUuid() {
        return mStorageUuid;
    }

    @Override
    @Override
    public int getTargetSandboxVersion() {
    public int getTargetSandboxVersion() {
        return targetSandboxVersion;
        return targetSandboxVersion;
+9 −0
Original line number Original line Diff line number Diff line
@@ -34,6 +34,7 @@ import android.content.pm.ProviderInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.SigningDetails;
import android.content.pm.SigningDetails;
import android.os.Bundle;
import android.os.Bundle;
import android.os.storage.StorageManager;
import android.processor.immutability.Immutable;
import android.processor.immutability.Immutable;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Pair;
import android.util.Pair;
@@ -58,6 +59,7 @@ import java.security.PublicKey;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.Map;
import java.util.Set;
import java.util.Set;
import java.util.UUID;


/**
/**
 * The representation of an application on disk, as parsed from its split APKs' manifests.
 * The representation of an application on disk, as parsed from its split APKs' manifests.
@@ -110,6 +112,13 @@ public interface AndroidPackage {
    @Nullable
    @Nullable
    String getStaticSharedLibraryName();
    String getStaticSharedLibraryName();


    /**
     * @return The {@link UUID} for use with {@link StorageManager} APIs identifying where this
     * package was installed.
     */
    @NonNull
    UUID getStorageUuid();

    /**
    /**
     * @see ApplicationInfo#targetSdkVersion
     * @see ApplicationInfo#targetSdkVersion
     * @see R.styleable#AndroidManifestUsesSdk_targetSdkVersion
     * @see R.styleable#AndroidManifestUsesSdk_targetSdkVersion
+9 −3
Original line number Original line Diff line number Diff line
@@ -48,11 +48,16 @@ import com.android.server.testutils.mockThrowOnUnmocked
import com.android.server.testutils.whenever
import com.android.server.testutils.whenever
import java.security.KeyPairGenerator
import java.security.KeyPairGenerator
import java.security.PublicKey
import java.security.PublicKey
import java.util.UUID
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.ExperimentalContracts


@ExperimentalContracts
@ExperimentalContracts
class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, PackageImpl::class) {
class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, PackageImpl::class) {


    companion object {
        private val TEST_UUID = UUID.fromString("57554103-df3e-4475-ae7a-8feba49353ac")
    }

    override val defaultImpl = PackageImpl.forTesting("com.example.test")
    override val defaultImpl = PackageImpl.forTesting("com.example.test")
    override val creator = PackageImpl.CREATOR
    override val creator = PackageImpl.CREATOR


@@ -88,8 +93,6 @@ class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, Packag
        "getLongVersionCode",
        "getLongVersionCode",
        // Tested through constructor
        // Tested through constructor
        "getManifestPackageName",
        "getManifestPackageName",
        // Utility methods
        "getStorageUuid",
        // Removal not tested, irrelevant for parcelling concerns
        // Removal not tested, irrelevant for parcelling concerns
        "removeUsesOptionalLibrary",
        "removeUsesOptionalLibrary",
        "clearAdoptPermissions",
        "clearAdoptPermissions",
@@ -101,6 +104,7 @@ class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, Packag
        // Tested manually
        // Tested manually
        "getMimeGroups",
        "getMimeGroups",
        "getRequestedPermissions",
        "getRequestedPermissions",
        "getStorageUuid",
        // Tested through asSplit
        // Tested through asSplit
        "asSplit",
        "asSplit",
        "getSplits",
        "getSplits",
@@ -256,7 +260,7 @@ class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, Packag
    )
    )


    override fun extraParams() = listOf(
    override fun extraParams() = listOf(
        getter(AndroidPackage::getVolumeUuid, "57554103-df3e-4475-ae7a-8feba49353ac"),
        getter(AndroidPackage::getVolumeUuid, TEST_UUID.toString()),
        getter(AndroidPackage::isProfileable, true),
        getter(AndroidPackage::isProfileable, true),
        getter(PackageImpl::getVersionCode, 3),
        getter(PackageImpl::getVersionCode, 3),
        getter(PackageImpl::getVersionCodeMajor, 9),
        getter(PackageImpl::getVersionCodeMajor, 9),
@@ -617,6 +621,8 @@ class AndroidPackageTest : ParcelableComponentTest(AndroidPackage::class, Packag
        expect.that(after.usesStaticLibrariesCertDigests!!.size).isEqualTo(1)
        expect.that(after.usesStaticLibrariesCertDigests!!.size).isEqualTo(1)
        expect.that(after.usesStaticLibrariesCertDigests!![0]).asList()
        expect.that(after.usesStaticLibrariesCertDigests!![0]).asList()
                .containsExactly("testCertDigest2")
                .containsExactly("testCertDigest2")

        expect.that(after.storageUuid).isEqualTo(TEST_UUID)
    }
    }


    private fun testKey() = KeyPairGenerator.getInstance("RSA")
    private fun testKey() = KeyPairGenerator.getInstance("RSA")
+1 −0
Original line number Original line Diff line number Diff line
@@ -54,6 +54,7 @@ class ImmutabilityProcessor : AbstractProcessor() {
            "java.lang.Short",
            "java.lang.Short",
            "java.lang.String",
            "java.lang.String",
            "java.lang.Void",
            "java.lang.Void",
            "java.util.UUID",
            "android.os.Parcelable.Creator",
            "android.os.Parcelable.Creator",
        )
        )