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

Commit 76f824b1 authored by Alex Kershaw's avatar Alex Kershaw
Browse files

Catch exceptions thrown from UpdateEngine#applyPayload.

Note: we can't add a CTS test for this behaviour since the UpdateEngine
is an implementation detail.

Fixes: 124106342
Test: Manually tested
Change-Id: Ib8e6895211b5d39a4d037d383c115011084ea257
parent 2b188f82
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -194,8 +194,17 @@ class AbUpdateInstaller extends UpdateInstaller {
        }

        UpdateEngine updateEngine = buildBoundUpdateEngine();
        try {
            updateEngine.applyPayload(
                    updatePath, mOffsetForUpdate, mSizeForUpdate, headerKeyValuePairs);
        } catch (Exception e) {
            // Prevent an automatic restart when an update is already being processed
            // (http://b/124106342).
            Log.w(UpdateInstaller.TAG, "Failed to install update from file.", e);
            notifyCallbackOnError(
                    InstallSystemUpdateCallback.UPDATE_ERROR_UNKNOWN,
                    "Failed to install update from file.");
        }
    }

    private boolean updateStateForPayload() throws IOException {