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

Unified Diff: net/android/cellular_signal_strength.h

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.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

Powered by Google App Engine
This is Rietveld 408576698