123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef BASE_ANDROID_RADIO_UTILS_H_
- #define BASE_ANDROID_RADIO_UTILS_H_
- #include "base/android/jni_android.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
- namespace base {
- namespace android {
- // These values are persisted to logs. Entries should not be renumbered and
- // numeric values should never be reused. Keep in sync with RadioSignalLevel
- // in //tools/metrics/histograms/enums.xml.
- enum class RadioSignalLevel {
- kNoneOrUnknown = 0,
- kPoor = 1,
- kModerate = 2,
- kGood = 3,
- kGreat = 4,
- kMaxValue = kGreat,
- };
- enum class RadioDataActivity {
- kNone = 0,
- kIn = 1,
- kOut = 2,
- kInOut = 3,
- kDormant = 4,
- };
- enum class RadioConnectionType {
- kUnknown = 0,
- kWifi = 1,
- kCell = 2,
- };
- class BASE_EXPORT RadioUtils {
- public:
- static bool IsSupported();
- static RadioConnectionType GetConnectionType();
- static absl::optional<RadioSignalLevel> GetCellSignalLevel();
- static absl::optional<RadioDataActivity> GetCellDataActivity();
- };
- } // namespace android
- } // namespace base
- #endif // BASE_ANDROID_RADIO_UTILS_H_
|