update_engine: Add ChannelDowngradeBehavior
Add the ChannelDowngradeBehaviorPolicy to update_engine.
It will be used to decide whether to rollback and powerwash or wait
until the target channel catches up on a channel downgrade
(e.g. beta to stable).
BUG=chromium:1122531
TEST=FEATURES=test emerge-amd64-generic update_engine
TEST=manual test on device
Change-Id: Iad075e1019084fafec8509c23f2bd55e9755b39e
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2379690
Tested-by: Miriam Polzer <mpolzer@google.com>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/update_manager/rollback_prefs.h b/update_manager/rollback_prefs.h
index 9567701..6cbc447 100644
--- a/update_manager/rollback_prefs.h
+++ b/update_manager/rollback_prefs.h
@@ -35,6 +35,19 @@
kMaxValue = 4
};
+// Whether the device should do rollback and powerwash on channel downgrade.
+// Matches chrome_device_policy.proto's
+// |AutoUpdateSettingsProto::ChannelDowngradeBehavior|.
+enum class ChannelDowngradeBehavior {
+ kUnspecified = 0,
+ kWaitForVersionToCatchUp = 1,
+ kRollback = 2,
+ kAllowUserToConfigure = 3,
+ // These values must be kept up to date.
+ kFirstValue = kUnspecified,
+ kLastValue = kAllowUserToConfigure
+};
+
} // namespace chromeos_update_manager
#endif // UPDATE_ENGINE_UPDATE_MANAGER_ROLLBACK_PREFS_H_