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 |