metricsd: Add more assert clause.

This CL adds two more checks:
* When populating a closed log with the metadata, make sure the
  SystemProfileSetter is not null.
* When using the update engine client library, check if the update
  engine client object was created correctly. The returning object can
  be null if update engine's binder service is not running.

Bug: 26731548

Change-Id: I8a615c87f33e15a163d56ccfa3a932a0908aac5f
diff --git a/uploader/metrics_log.cc b/uploader/metrics_log.cc
index 39655e6..fcaa8c1 100644
--- a/uploader/metrics_log.cc
+++ b/uploader/metrics_log.cc
@@ -85,5 +85,6 @@
 }
 
 bool MetricsLog::PopulateSystemProfile(SystemProfileSetter* profile_setter) {
+  CHECK(profile_setter);
   return profile_setter->Populate(uma_proto());
 }
diff --git a/uploader/system_profile_cache.cc b/uploader/system_profile_cache.cc
index 70f6afd..e6f6617 100644
--- a/uploader/system_profile_cache.cc
+++ b/uploader/system_profile_cache.cc
@@ -80,6 +80,10 @@
   } else {
     reader.Load();
     auto client = update_engine::UpdateEngineClient::CreateInstance();
+    if (!client) {
+      LOG(ERROR) << "failed to create the update engine client";
+      return false;
+    }
     if (!client->GetChannel(&channel)) {
       LOG(ERROR) << "failed to read the current channel from update engine.";
       return false;