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

Commit a029c072 authored by Mathieu Chartier's avatar Mathieu Chartier
Browse files

Unlink app image if copy fails for A/B OTA

Usually this happens when the app was recompiled with interpret-only.
In this case, move_ab_path will fail for the app image. If this
occurs, delete the existing app image to not have a stale one wasting
storage space.

Test: Make fake AB ota, delete the a/b generated app image, take the
OTA, ensure there is no stale app image after reboot. Also tested
that other apps with valid app images still had an image.

Bug: 31323617
Change-Id: I699b5eb3dc8f82759c284a1d299865b2c3a890d0
parent 4df766b0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2186,6 +2186,9 @@ int move_ab(const char* apk_path, const char* instruction_set, const char* oat_d
        bool art_success = true;
        if (!a_image_path.empty()) {
            art_success = move_ab_path(b_image_path, a_image_path);
            if (!art_success) {
                unlink(a_image_path.c_str());
            }
        }

        success = art_success || kIgnoreAppImageFailure;