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

Unified Diff: chromeos/components/tether/device_status_util.h

Issue 2917813002: [CrOS Tether] Move the DeviceStatus normalizer code from HostScanner into its own file. (Closed)
Patch Set: Fix spelling error typo. Created 3 years, 7 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
« no previous file with comments | « chromeos/components/tether/BUILD.gn ('k') | chromeos/components/tether/device_status_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/components/tether/device_status_util.h
diff --git a/chromeos/components/tether/device_status_util.h b/chromeos/components/tether/device_status_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..4b0c0a09bb30e1a7e36b0d155ab067519157e842
--- /dev/null
+++ b/chromeos/components/tether/device_status_util.h
@@ -0,0 +1,39 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROMEOS_COMPONENTS_TETHER_DEVICE_STATUS_UTIL_H_
+#define CHROMEOS_COMPONENTS_TETHER_DEVICE_STATUS_UTIL_H_
+
+#include "chromeos/components/tether/proto/tether.pb.h"
+
+namespace chromeos {
+
+namespace tether {
+
+// Normalizes the values contained in |device_status| and outputs the normalized
+// values for carrier, battery percentage, and signal strength. The values are
+// normalized according to the following rules:
+// (1) Carrier: If the proto's cell_provider field is present and non-empty,
+// it is output; otherwise, the "unknown-carrier" constant is output.
+// (2) Battery percentage: If the proto's battery_percentage field is present
+// and within the range [0, 100], it is output; if the field is present
+// but not in [0, 100], 0 is output if the input is <0 and 100 is output
+// if the input is >100; if the field is not present, 100 is output.
+// (3) Signal strength: If the proto's connection_strength field is present
+// and within the range [0, 4], it is multiplied by 25 and output in a new
+// range [0, 100]; if the field is present but not in [0, 4], 0 is output
+// if the input is <0 and 100 is output if the input >4; if the field is
+// not present, 100 is output. Note that the multipier is needed because
+// Android's connection strength is a value from 0 to 4, while Chrome OS's
+// signal strength ranges from 0 to 100.
+void NormalizeDeviceStatus(const DeviceStatus& status,
+ std::string* carrier_out,
+ int32_t* battery_percentage_out,
+ int32_t* signal_strength_out);
+
+} // namespace tether
+
+} // namespace chromeos
+
+#endif // CHROMEOS_COMPONENTS_TETHER_DEVICE_STATUS_UTIL_H_
« no previous file with comments | « chromeos/components/tether/BUILD.gn ('k') | chromeos/components/tether/device_status_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698