update_engine: Simplify logic in dbus_service (get p2p enabled status).
This unifies the paths returning default vs set values, resulting in
a logic that's more compact and comprehensible.
BUG=None
TEST=Unit tests.
Change-Id: I7580088eaebdefcddc1e3804fad148ccec948ed8
Reviewed-on: https://chromium-review.googlesource.com/225503
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
diff --git a/dbus_service.cc b/dbus_service.cc
index 36ee494..e7b877d 100644
--- a/dbus_service.cc
+++ b/dbus_service.cc
@@ -380,14 +380,9 @@
GError **error) {
chromeos_update_engine::PrefsInterface* prefs = self->system_state_->prefs();
- // The default for not present setting is false.
- if (!prefs->Exists(chromeos_update_engine::kPrefsP2PEnabled)) {
- *enabled = false;
- return TRUE;
- }
-
- bool p2p_pref = false;
- if (!prefs->GetBoolean(chromeos_update_engine::kPrefsP2PEnabled, &p2p_pref)) {
+ bool p2p_pref = false; // Default if no setting is present.
+ if (prefs->Exists(chromeos_update_engine::kPrefsP2PEnabled) &&
+ !prefs->GetBoolean(chromeos_update_engine::kPrefsP2PEnabled, &p2p_pref)) {
log_and_set_response_error(error, UPDATE_ENGINE_SERVICE_ERROR_FAILED,
"Error getting the P2PEnabled setting.");
return FALSE;