Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6032)

Unified Diff: chromeos/dbus/biod/biod_client.cc

Issue 2858003002: Roll src/third_party/cros_system_api/ c6eab9e4d..6139ae009 + API change (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromeos/dbus/biod/biod_client.cc
diff --git a/chromeos/dbus/biod/biod_client.cc b/chromeos/dbus/biod/biod_client.cc
index b5352db28afad8acac6cb5c41d366a5ce96f2377..bca5dc3f1b83b9cbce89aebf8fcaf19e5aee612a 100644
--- a/chromeos/dbus/biod/biod_client.cc
+++ b/chromeos/dbus/biod/biod_client.cc
@@ -9,7 +9,9 @@
#include "base/bind.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
+#include "base/strings/stringprintf.h"
#include "chromeos/dbus/biod/fake_biod_client.h"
+#include "chromeos/dbus/biod/messages.pb.h"
#include "dbus/bus.h"
#include "dbus/message.h"
#include "dbus/object_path.h"
@@ -19,11 +21,6 @@ namespace chromeos {
namespace {
-// TODO(xiaoyinh@): Use the constant from service_constants.h
-// crbug.com/713420
-const char kBiometricsManagerPath[] =
- "/org/chromium/BiometricsDaemon/FpcBiometricsManager";
-
// D-Bus response handler for methods that use void callbacks.
void OnVoidResponse(const VoidDBusMethodCallback& callback,
dbus::Response* response) {
@@ -211,8 +208,9 @@ class BiodClientImpl : public BiodClient {
void Init(dbus::Bus* bus) override {
bus_ = bus;
- biod_proxy_ = bus->GetObjectProxy(biod::kBiodServiceName,
- dbus::ObjectPath(kBiometricsManagerPath));
+ dbus::ObjectPath fpc_bio_path = dbus::ObjectPath(base::StringPrintf(
+ "%s/%s", biod::kBiodServicePath, biod::kFpcBiometricsManagerName));
+ biod_proxy_ = bus->GetObjectProxy(biod::kBiodServiceName, fpc_bio_path);
biod_proxy_->SetNameOwnerChangedCallback(
base::Bind(&BiodClientImpl::NameOwnerChangedReceived,
@@ -338,21 +336,22 @@ class BiodClientImpl : public BiodClient {
void EnrollScanDoneReceived(dbus::Signal* signal) {
dbus::MessageReader reader(signal);
- uint32_t scan_result;
- bool enroll_session_complete;
- if (!reader.PopUint32(&scan_result) ||
- !reader.PopBool(&enroll_session_complete)) {
- LOG(ERROR) << "Error reading signal from biometrics: "
- << signal->ToString();
+ biod::EnrollScanDone protobuf;
+
Daniel Erat 2017/05/03 20:47:34 nit: delete this blank line
xiaoyinh(OOO Sep 11-29) 2017/05/04 00:29:51 Done.
+ if (!reader.PopArrayOfBytesAsProto(&protobuf)) {
+ LOG(ERROR) << "Unable to decode protocol buffer from "
+ << biod::kBiometricsManagerEnrollScanDoneSignal << " signal.";
return;
}
- if (enroll_session_complete)
- current_enroll_session_path_.reset();
+ biod::ScanResult scan_result = protobuf.scan_result();
+ bool enroll_session_complete = protobuf.done();
+ int32_t percent_complete =
+ protobuf.has_percent_complete() ? protobuf.percent_complete() : -1;
Daniel Erat 2017/05/03 20:47:34 i can understand caching percent_complete in a loc
xiaoyinh(OOO Sep 11-29) 2017/05/04 00:29:51 Thanks, changed.
for (auto& observer : observers_) {
- observer.BiodEnrollScanDoneReceived(
- static_cast<biod::ScanResult>(scan_result), enroll_session_complete);
+ observer.BiodEnrollScanDoneReceived(scan_result, enroll_session_complete,
+ percent_complete);
}
}

Powered by Google App Engine
This is Rietveld 408576698