Merge "Add API to ApexManager for compressed APEX" am: 4890c80904 am: bce6d733a8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1675675 Change-Id: Ic5a2ea0dcecfa4e2e2c470457c5ca3b44c65c23b
This commit is contained in:
@@ -25,6 +25,7 @@ import android.apex.ApexInfo;
|
||||
import android.apex.ApexInfoList;
|
||||
import android.apex.ApexSessionInfo;
|
||||
import android.apex.ApexSessionParams;
|
||||
import android.apex.CompressedApexInfoList;
|
||||
import android.apex.IApexService;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
@@ -356,6 +357,21 @@ public abstract class ApexManager {
|
||||
*/
|
||||
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.
|
||||
*
|
||||
@@ -901,6 +917,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
|
||||
* @param packagesCache the cache to print information about.
|
||||
@@ -1152,6 +1180,16 @@ public abstract class ApexManager {
|
||||
// No-op
|
||||
}
|
||||
|
||||
@Override
|
||||
public long calculateSizeForCompressedApex(CompressedApexInfoList infoList) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reserveSpaceForCompressedApex(CompressedApexInfoList infoList) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
void dump(PrintWriter pw, String packageName) {
|
||||
// No-op
|
||||
|
||||
Reference in New Issue
Block a user