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

Commit f74332f2 authored by Kelvin Zhang's avatar Kelvin Zhang Committed by Automerger Merge Worker
Browse files

Merge "Add API to ApexManager for compressed APEX" am: 4890c809 am:...

Merge "Add API to ApexManager for compressed APEX" am: 4890c809 am: bce6d733 am: 99344858 am: 2e9e91b5

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1675675

Change-Id: I31f73839dbce91df5418c0c6a8c5b6a7a4ceff4e
parents 9c6eb7c6 2e9e91b5
Loading
Loading
Loading
Loading
+38 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import android.apex.ApexInfo;
import android.apex.ApexInfoList;
import android.apex.ApexInfoList;
import android.apex.ApexSessionInfo;
import android.apex.ApexSessionInfo;
import android.apex.ApexSessionParams;
import android.apex.ApexSessionParams;
import android.apex.CompressedApexInfoList;
import android.apex.IApexService;
import android.apex.IApexService;
import android.content.pm.ApplicationInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInfo;
@@ -373,6 +374,21 @@ public abstract class ApexManager {
     */
     */
    public abstract void markBootCompleted();
    public abstract void markBootCompleted();


    /**
     * Estimate how much storage space is needed on /data/ for decompressing apexes
     * @param infoList List of apexes that are compressed in target build.
     * @return Size, in bytes, the amount of space needed on /data/
     */
    public abstract long calculateSizeForCompressedApex(CompressedApexInfoList infoList)
            throws RemoteException;

    /**
     * Reserve space on /data so that apexes can be decompressed after OTA
     * @param infoList List of apexes that are compressed in target build.
     */
    public abstract void reserveSpaceForCompressedApex(CompressedApexInfoList infoList)
            throws RemoteException;

    /**
    /**
     * Dumps various state information to the provided {@link PrintWriter} object.
     * Dumps various state information to the provided {@link PrintWriter} object.
     *
     *
@@ -946,6 +962,18 @@ public abstract class ApexManager {
            }
            }
        }
        }


        @Override
        public long calculateSizeForCompressedApex(CompressedApexInfoList infoList)
                throws RemoteException {
            return waitForApexService().calculateSizeForCompressedApex(infoList);
        }

        @Override
        public void reserveSpaceForCompressedApex(CompressedApexInfoList infoList)
                throws RemoteException {
            waitForApexService().reserveSpaceForCompressedApex(infoList);
        }

        /**
        /**
         * Dump information about the packages contained in a particular cache
         * Dump information about the packages contained in a particular cache
         * @param packagesCache the cache to print information about.
         * @param packagesCache the cache to print information about.
@@ -1202,6 +1230,16 @@ public abstract class ApexManager {
            // No-op
            // No-op
        }
        }


        @Override
        public long calculateSizeForCompressedApex(CompressedApexInfoList infoList) {
            throw new UnsupportedOperationException();
        }

        @Override
        public void reserveSpaceForCompressedApex(CompressedApexInfoList infoList) {
            throw new UnsupportedOperationException();
        }

        @Override
        @Override
        void dump(PrintWriter pw, String packageName) {
        void dump(PrintWriter pw, String packageName) {
            // No-op
            // No-op