summaryrefslogtreecommitdiff
path: root/aosp/dynamic_partition_control_android.cc
diff options
context:
space:
mode:
authoralk3pInjection <webmaster@raspii.tech>2023-04-20 00:08:54 +0800
committeralk3pInjection <webmaster@raspii.tech>2023-04-20 00:08:54 +0800
commit712d8bde0f5e0d99cd58586273adb52ebb6d8562 (patch)
tree8a32c10c7a3a5b187ae5a6a586a59afafd24740a /aosp/dynamic_partition_control_android.cc
parent5a28dad52856f2c2d1f4deb01d735b335f5c94b7 (diff)
parent6222f8d45f9f4e9a96c60144f36f53aa2e806bf4 (diff)
Merge tag 'LA.QSSI.13.0.r1-09800-qssi.0' into tachibanatachibana-mr1tachibana
"LA.QSSI.13.0.r1-09800-qssi.0" Change-Id: I42a38f32f4463cd78b9fac7df6610de4d738c3f8
Diffstat (limited to 'aosp/dynamic_partition_control_android.cc')
-rw-r--r--aosp/dynamic_partition_control_android.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index 27d1d541..334ccdc2 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -98,7 +98,8 @@ constexpr std::chrono::milliseconds kMapTimeout{1000};
constexpr std::chrono::milliseconds kMapSnapshotTimeout{10000};
DynamicPartitionControlAndroid::~DynamicPartitionControlAndroid() {
- Cleanup();
+ UnmapAllPartitions();
+ metadata_device_.reset();
}
static FeatureFlag GetFeatureFlag(const char* enable_prop,
@@ -312,6 +313,12 @@ bool DynamicPartitionControlAndroid::UnmapAllPartitions() {
void DynamicPartitionControlAndroid::Cleanup() {
UnmapAllPartitions();
metadata_device_.reset();
+ if (GetVirtualAbFeatureFlag().IsEnabled()) {
+ snapshot_ = SnapshotManager::New();
+ } else {
+ snapshot_ = SnapshotManagerStub::New();
+ }
+ CHECK(snapshot_ != nullptr) << "Cannot initialize SnapshotManager.";
}
bool DynamicPartitionControlAndroid::DeviceExists(const std::string& path) {