Allow to check if an AB update is being installed
This commit is contained in:
@@ -37,7 +37,7 @@ class ABUpdateInstaller {
|
|||||||
|
|
||||||
private static final String TAG = "ABUpdateInstaller";
|
private static final String TAG = "ABUpdateInstaller";
|
||||||
|
|
||||||
private static boolean sIsInstallingUpdate;
|
private static String sDownloadId;
|
||||||
|
|
||||||
private static final String PAYLOAD_BIN_PATH = "payload.bin";
|
private static final String PAYLOAD_BIN_PATH = "payload.bin";
|
||||||
private static final String PAYLOAD_PROPERTIES_PATH = "payload_properties.txt";
|
private static final String PAYLOAD_PROPERTIES_PATH = "payload_properties.txt";
|
||||||
@@ -70,7 +70,7 @@ class ABUpdateInstaller {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPayloadApplicationComplete(int errorCode) {
|
public void onPayloadApplicationComplete(int errorCode) {
|
||||||
sIsInstallingUpdate = false;
|
sDownloadId = null;
|
||||||
switch (errorCode) {
|
switch (errorCode) {
|
||||||
case UpdateEngine.ErrorCodeConstants.SUCCESS: {
|
case UpdateEngine.ErrorCodeConstants.SUCCESS: {
|
||||||
UpdateDownload update = mUpdaterController.getActualUpdate(mDownloadId);
|
UpdateDownload update = mUpdaterController.getActualUpdate(mDownloadId);
|
||||||
@@ -93,16 +93,23 @@ class ABUpdateInstaller {
|
|||||||
|
|
||||||
static synchronized boolean start(UpdaterController updaterController,
|
static synchronized boolean start(UpdaterController updaterController,
|
||||||
String downloadId) {
|
String downloadId) {
|
||||||
if (sIsInstallingUpdate) {
|
if (sDownloadId != null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ABUpdateInstaller installer = new ABUpdateInstaller(updaterController, downloadId);
|
ABUpdateInstaller installer = new ABUpdateInstaller(updaterController, downloadId);
|
||||||
sIsInstallingUpdate = installer.startUpdate();
|
if (installer.startUpdate()) {
|
||||||
return sIsInstallingUpdate;
|
sDownloadId = downloadId;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static synchronized boolean isInstallingUpdate() {
|
static synchronized boolean isInstallingUpdate() {
|
||||||
return sIsInstallingUpdate;
|
return sDownloadId != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static synchronized boolean isInstallingUpdate(String downloadId) {
|
||||||
|
return sDownloadId != null && sDownloadId.equals(downloadId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ABUpdateInstaller(UpdaterController updaterController, String downloadId) {
|
private ABUpdateInstaller(UpdaterController updaterController, String downloadId) {
|
||||||
|
@@ -519,4 +519,9 @@ public class UpdaterController implements UpdaterControllerInt {
|
|||||||
public boolean isInstallingUpdate() {
|
public boolean isInstallingUpdate() {
|
||||||
return ABUpdateInstaller.isInstallingUpdate();
|
return ABUpdateInstaller.isInstallingUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isInstallingUpdate(String downloadId) {
|
||||||
|
return ABUpdateInstaller.isInstallingUpdate(downloadId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -50,5 +50,7 @@ public interface UpdaterControllerInt {
|
|||||||
|
|
||||||
boolean isVerifyingUpdate();
|
boolean isVerifyingUpdate();
|
||||||
|
|
||||||
|
boolean isInstallingUpdate(String downloadId);
|
||||||
|
|
||||||
boolean isInstallingUpdate();
|
boolean isInstallingUpdate();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user