ResetStatus deletes snapshots for VAB.

When ResetStatus() is called, delete snapshots to free up space on
VAB devices.

On regular A/B, there is no need to cancel the update completely so that
the update may be resumed next time. However, on VAB devices, a
cancelled update should not occupy previously allocated space.

Test: manually call update_engine_client --cancel when an update is in progress, then
      call update_engine_client --reset_status, then
      call snapshotctl dump to check that snapshots are deleted.
      Then, re-apply the update.

Test: manually kill update_engine when an update is in progress, then
      call update_engine_client --reset_status, then
      call snapshotctl dump to check that snapshots are deleted.
      Then, re-apply the update.

Test: manually apply an update until UPDATED_NEED_REBOOT, then
      call update_engine_client --reset_status, then
      call snapshotctl dump to check that snapshots are deleted.
      Then, re-apply the update.

Test: manually apply an update until UPDATED_NEED_REBOOT, then
      kill update_engine, then
      call update_engine_client --reset_status, then
      call snapshotctl dump to check that snapshots are deleted.
      Then, re-apply the update.

Bug: 147696014

Change-Id: Ic7049772091a34e0e666fd7ae361ef474d5a28aa
Merged-In: Ic7049772091a34e0e666fd7ae361ef474d5a28aa
diff --git a/dynamic_partition_control_android.h b/dynamic_partition_control_android.h
index 1ff59a9..a11889a 100644
--- a/dynamic_partition_control_android.h
+++ b/dynamic_partition_control_android.h
@@ -51,6 +51,8 @@
       PrefsInterface* prefs,
       CleanupPreviousUpdateActionDelegateInterface* delegate) override;
 
+  bool ResetUpdate(PrefsInterface* prefs) override;
+
   // Return the device for partition |partition_name| at slot |slot|.
   // |current_slot| should be set to the current active slot.
   // Note: this function is only used by BootControl*::GetPartitionDevice.