Merge "Add a new API applyPayloadFd() of UpdateEngine"

am: f4b0318d6f

Change-Id: I771090d681ca565392a9aaeb8ecd60026b572ae3
This commit is contained in:
Tao Bao
2019-07-13 09:39:32 -07:00
committed by android-build-merger
2 changed files with 19 additions and 0 deletions

View File

@@ -5471,6 +5471,7 @@ package android.os {
public class UpdateEngine {
ctor public UpdateEngine();
method public void applyPayload(String, long, long, String[]);
method public void applyPayload(java.io.FileDescriptor, long, long, String[]);
method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
method public boolean bind(android.os.UpdateEngineCallback);
method public void cancel();

View File

@@ -21,6 +21,8 @@ import android.os.IUpdateEngine;
import android.os.IUpdateEngineCallback;
import android.os.RemoteException;
import java.io.FileDescriptor;
/**
* UpdateEngine handles calls to the update engine which takes care of A/B OTA
* updates. It wraps up the update engine Binder APIs and exposes them as
@@ -311,6 +313,22 @@ public class UpdateEngine {
}
}
/**
* Applies the payload passed as file descriptor {@code fd} instead of
* using the {@code file://} scheme.
*
* <p>See {@link #applyPayload(String)} for {@code offset}, {@code size} and
* {@code headerKeyValuePairs} parameters.
*/
public void applyPayload(FileDescriptor fd, long offset, long size,
String[] headerKeyValuePairs) {
try {
mUpdateEngine.applyPayloadFd(fd, offset, size, headerKeyValuePairs);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/**
* Permanently cancels an in-progress update.
*