snapuserd: Use snapshots during install

If on Androd 12, continue to use snapshots

Bug: 304829384
Test: OTA on Pixel
Change-Id: I94890c308e7f297b695ddbd71659ebb1cf4d278c
Signed-off-by: Akilesh Kailash <akailash@google.com>
This commit is contained in:
Akilesh Kailash 2024-03-25 18:35:04 -07:00
parent ad55fad080
commit c375878b8e

View file

@ -34,6 +34,21 @@ namespace android {
namespace snapshot {
bool Daemon::IsUserspaceSnapshotsEnabled() {
const std::string UNKNOWN = "unknown";
const std::string vendor_release =
android::base::GetProperty("ro.vendor.build.version.release_or_codename", UNKNOWN);
// If the vendor is on Android S, install process will forcefully take the
// userspace snapshots path.
//
// We will not reach here post OTA reboot as the binary will be from vendor
// ramdisk which is on Android S.
if (vendor_release.find("12") != std::string::npos) {
LOG(INFO) << "Userspace snapshots enabled as vendor partition is on Android: "
<< vendor_release;
return true;
}
return android::base::GetBoolProperty("ro.virtual_ab.userspace.snapshots.enabled", false);
}