Fall back to memory pref if pref dir doesn't exist
Test: Run existing unit tests
Bug: 153004173
Change-Id: Iba5c2d3e7988e78050f05ad00dddf2ebdc03fa22
diff --git a/daemon_state_android.cc b/daemon_state_android.cc
index c9c09b8..3376e64 100644
--- a/daemon_state_android.cc
+++ b/daemon_state_android.cc
@@ -45,17 +45,17 @@
// Initialize prefs.
base::FilePath non_volatile_path;
- // TODO(deymo): Fall back to in-memory prefs if there's no physical directory
- // available.
if (!hardware_->GetNonVolatileDirectory(&non_volatile_path)) {
- LOG(ERROR) << "Failed to get a non-volatile directory.";
- return false;
- }
- Prefs* prefs = new Prefs();
- prefs_.reset(prefs);
- if (!prefs->Init(non_volatile_path.Append(kPrefsSubDirectory))) {
- LOG(ERROR) << "Failed to initialize preferences.";
- return false;
+ prefs_.reset(new MemoryPrefs());
+ LOG(WARNING)
+ << "Could not get a non-volatile directory, fall back to memory prefs";
+ } else {
+ Prefs* prefs = new Prefs();
+ prefs_.reset(prefs);
+ if (!prefs->Init(non_volatile_path.Append(kPrefsSubDirectory))) {
+ LOG(ERROR) << "Failed to initialize preferences.";
+ return false;
+ }
}
// The CertificateChecker singleton is used by the update attempter.