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

Unified Diff: net/android/cellular_signal_strength.cc

Issue 2763853002: Use Android callback API to obtain cellular signal strength (Closed)
Patch Set: ryansturm comments Created 3 years, 9 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 4c236954f7adab841bb53a4b363464eb5ab68c16..93fafaff129e06e1f98546905b1727f55ca9e0ef 100644
--- a/net/android/cellular_signal_strength.cc
+++ b/net/android/cellular_signal_strength.cc
@@ -11,7 +11,7 @@ namespace net {
namespace android {
-namespace cellular_signal_strength {
+namespace {
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net
enum CellularSignalStrengthError {
@@ -26,32 +26,30 @@ 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(),
- base::android::GetApplicationContext());
- 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(),
+ base::android::GetApplicationContext()));
pauljensen 2017/04/13 11:36:30 does this need to be called on the UI thread? if s
tbansal1 2017/06/07 21:39:20 No, it does not have to be called on UI thread. An
}
-bool GetSignalStrengthLevel(int32_t* signal_strength_level) {
- int32_t signal_strength_level_tmp =
+CellularSignalStrength::~CellularSignalStrength() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+}
+
+base::Optional<int32_t> CellularSignalStrength::GetSignalStrengthLevel() const {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ int32_t signal_strength_level =
Java_AndroidCellularSignalStrength_getSignalStrengthLevel(
- base::android::AttachCurrentThread(),
- base::android::GetApplicationContext());
- 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;
+ return signal_strength_level;
}
-} // namespace cellular_signal_strength
-
} // namespace android
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698