Index: net/android/cellular_signal_strength.h |
diff --git a/net/android/cellular_signal_strength.h b/net/android/cellular_signal_strength.h |
index 4165a73da782acd0e38ba19bbd5dec5daba87f5d..24d8d32a24a240f1f0addd3eddc1000d76960df1 100644 |
--- a/net/android/cellular_signal_strength.h |
+++ b/net/android/cellular_signal_strength.h |
@@ -8,29 +8,38 @@ |
#include <jni.h> |
#include <stdint.h> |
-#include "base/compiler_specific.h" |
+#include "base/android/scoped_java_ref.h" |
+#include "base/macros.h" |
+#include "base/optional.h" |
+#include "base/threading/thread_checker.h" |
#include "net/base/net_export.h" |
namespace net { |
namespace android { |
-namespace cellular_signal_strength { |
+/* |
+ * CellularSignalStrength interacts with the corresponding Java class to provide |
+ * signal strength values on cellular networks. The class is not thread-safe. |
+ */ |
+class NET_EXPORT_PRIVATE CellularSignalStrength { |
+ public: |
+ CellularSignalStrength(); |
-// Returns true if the signal strength (in dbM) of the currently registered |
-// cellular connection is available, and sets |*signal_strength_dbm| to that |
-// value. |
-NET_EXPORT bool GetSignalStrengthDbm(int32_t* signal_strength_dbm) |
- WARN_UNUSED_RESULT; |
+ ~CellularSignalStrength(); |
-// Returns true if the signal strength level (between 0 and 4, both inclusive) |
-// of the currently registered cellular connection is available, and sets |
-// |*signal_strength_level| to that value with lower value indicating lower |
-// signal strength. |
-NET_EXPORT bool GetSignalStrengthLevel(int32_t* signal_strength_level) |
- WARN_UNUSED_RESULT; |
+ // Returns the signal strength level (between 0 and 4, both inclusive) of the |
+ // currently registered cellular connection. If the value is unavailable, an |
+ // empty value is returned. |
+ base::Optional<int32_t> GetSignalStrengthLevel() const; |
-} // namespace cellular_signal_strength |
+ private: |
+ base::android::ScopedJavaGlobalRef<jobject> j_cellular_signal_strength_; |
+ |
+ THREAD_CHECKER(thread_checker_); |
+ |
+ DISALLOW_COPY_AND_ASSIGN(CellularSignalStrength); |
+}; |
} // namespace android |