Fix check of monitor_until_

Intention was to have max value as special one, but initialization was
missing. In this patch we use null value as special.

BUG: 23755250

Change-Id: I6e7d81d8bd8b403448a6982d6844fa1f81b3d558
diff --git a/libweave/src/privet/wifi_bootstrap_manager.cc b/libweave/src/privet/wifi_bootstrap_manager.cc
index 9948301..1f79606 100644
--- a/libweave/src/privet/wifi_bootstrap_manager.cc
+++ b/libweave/src/privet/wifi_bootstrap_manager.cc
@@ -109,10 +109,12 @@
   UpdateState(State::kMonitoring);
 
   if (network_->GetConnectionState() == NetworkState::kConnected) {
-    monitor_until_ = base::Time::Max();
+    monitor_until_ = {};
   } else {
-    if (monitor_until_ == base::Time::Max())
+    if (monitor_until_.is_null()) {
       monitor_until_ = base::Time::Now() + base::TimeDelta::FromMinutes(2);
+      VLOG(2) << "Waiting for connection until: " << monitor_until_;
+    }
 
     // Schedule timeout timer taking into account already offline time.
     task_runner_->PostDelayedTask(
diff --git a/libweave/src/weave_unittest.cc b/libweave/src/weave_unittest.cc
index 0629dac..0f7e274 100644
--- a/libweave/src/weave_unittest.cc
+++ b/libweave/src/weave_unittest.cc
@@ -427,6 +427,7 @@
       .WillOnce(InvokeWithoutArgs([this, offline_from]() {
         EXPECT_GT(task_runner_.GetClock()->Now() - offline_from,
                   base::TimeDelta::FromMinutes(1));
+        task_runner_.Break();
       }));
   task_runner_.Run();
 }
@@ -474,4 +475,21 @@
   task_runner_.Run();
 }
 
+TEST_F(WeaveWiFiSetupTest, StartOfflineWithSsid) {
+  EXPECT_CALL(config_store_, LoadSettings())
+      .WillRepeatedly(Return(R"({"last_configured_ssid": "TEST_ssid"})"));
+  EXPECT_CALL(network_, GetConnectionState())
+      .WillRepeatedly(Return(NetworkState::kOffline));
+
+  auto offline_from = task_runner_.GetClock()->Now();
+  EXPECT_CALL(network_, EnableAccessPoint(MatchesRegex("DEVICE_NAME.*prv")))
+      .WillOnce(InvokeWithoutArgs([this, &offline_from]() {
+        EXPECT_GT(task_runner_.GetClock()->Now() - offline_from,
+                  base::TimeDelta::FromMinutes(1));
+        task_runner_.Break();
+      }));
+
+  StartDevice();
+}
+
 }  // namespace weave