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

Unified Diff: net/android/cellular_signal_strength.cc

Issue 2763853002: Use Android callback API to obtain cellular signal strength (Closed)
Patch Set: pauljensen comments Created 3 years, 6 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: net/android/cellular_signal_strength.cc
diff --git a/net/android/cellular_signal_strength.cc b/net/android/cellular_signal_strength.cc
index 69888c9e3d22f4f921548e210f616d1941e6ccce..390ff8d34228fe9fc75fe0d5e8511772d4cd347e 100644
--- a/net/android/cellular_signal_strength.cc
+++ b/net/android/cellular_signal_strength.cc
@@ -10,7 +10,7 @@ namespace net {
namespace android {
-namespace cellular_signal_strength {
+namespace {
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net
enum CellularSignalStrengthError {
@@ -25,29 +25,31 @@ static_assert(
INT32_MIN == ERROR_NOT_SUPPORTED,
"CellularSignalStrengthError.ERROR_NOT_SUPPORTED has unexpected value");
-bool GetSignalStrengthDbm(int32_t* signal_strength_dbm) {
- int32_t signal_strength_dbm_tmp =
- Java_AndroidCellularSignalStrength_getSignalStrengthDbm(
- base::android::AttachCurrentThread());
- if (signal_strength_dbm_tmp == ERROR_NOT_SUPPORTED)
- return false;
+} // namespace
- *signal_strength_dbm = signal_strength_dbm_tmp;
- return true;
+CellularSignalStrength::CellularSignalStrength() {
+ j_cellular_signal_strength_.Reset(Java_AndroidCellularSignalStrength_create(
+ base::android::AttachCurrentThread()));
}
-bool GetSignalStrengthLevel(int32_t* signal_strength_level) {
- int32_t signal_strength_level_tmp =
+CellularSignalStrength::~CellularSignalStrength() {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+}
+
+base::Optional<int32_t> CellularSignalStrength::GetSignalStrengthLevel() const {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+
+ int32_t signal_strength_level =
Java_AndroidCellularSignalStrength_getSignalStrengthLevel(
- base::android::AttachCurrentThread());
- if (signal_strength_level_tmp == ERROR_NOT_SUPPORTED)
- return false;
+ base::android::AttachCurrentThread(), j_cellular_signal_strength_);
+ if (signal_strength_level == ERROR_NOT_SUPPORTED)
+ return base::Optional<int32_t>();
- *signal_strength_level = signal_strength_level_tmp;
- return true;
-}
+ DCHECK_LE(0, signal_strength_level);
+ DCHECK_GE(4, signal_strength_level);
-} // namespace cellular_signal_strength
+ return signal_strength_level;
+}
} // namespace android

Powered by Google App Engine
This is Rietveld 408576698