56 std::string& command);
126 const std::string& ln,
127 const std::string& sn,
245 static int GetValueInRange(
const std::pair<int, int>& range,
int percent);
247 const SignalStrength& signal_strength);
Definition: channel_monitor.h:35
Definition: data_service.h:23
Definition: misc_service.h:25
Definition: modem_service.h:63
int32_t service_id_
Definition: modem_service.h:113
Definition: network_service.h:299
KeepSignalStrengthChangingLoop(NetworkService &network_service)
Definition: network_service.cpp:1286
NetworkService & network_service_
Definition: network_service.h:307
std::atomic_flag loop_started_
Definition: network_service.h:308
void UpdateSignalStrengthCallback()
Definition: network_service.cpp:1299
Definition: network_service.h:30
void InitializeNetworkOperator()
Definition: network_service.cpp:154
NetworkService(const NetworkService &)=delete
NetworkService & operator=(const NetworkService &)=delete
bool isRadioOff() const
Definition: network_service.h:86
void InitializeServiceState()
Definition: network_service.cpp:128
RadioState
Definition: network_service.h:103
@ RADIO_STATE_OFF
Definition: network_service.h:104
@ RADIO_STATE_ON
Definition: network_service.h:105
NetworkService(int32_t service_id_, ChannelMonitor *channel_monitor, ThreadLooper *thread_looper)
Definition: network_service.cpp:37
bool WakeupFromSleep()
Definition: network_service.cpp:336
~NetworkService()=default
void HandleQueryNetworkSelectionMode(const Client &client)
Definition: network_service.cpp:517
void HandleRadioPowerReq(const Client &client)
Definition: network_service.cpp:300
std::vector< NetworkOperator > operator_list_
Definition: network_service.h:143
void HandleSecurityAlgorithmUpdate(const std::string &command)
Definition: network_service.cpp:1273
MiscService * misc_service_
Definition: network_service.h:99
static int GetValueInRange(const std::pair< int, int > &range, int percent)
Definition: network_service.cpp:1132
void HandleRequestOperator(const Client &client)
Definition: network_service.cpp:542
ModemTechnology current_network_mode_
Definition: network_service.h:288
void OnDataRegisterStateChanged()
Definition: network_service.cpp:1094
std::string current_operator_numeric_
Definition: network_service.h:144
void HandleIdentifierDisclosure(const std::string &command)
Definition: network_service.cpp:1268
void UpdateRegisterState(RegistrationState state)
Definition: network_service.cpp:1005
void HandleNetworkRegistration(cuttlefish::SharedFD client, std::string &command)
int getModemTechFromPrefer(int preferred_mask)
Definition: network_service.cpp:989
OperatorSelectionMode oper_selection_mode_
Definition: network_service.h:145
void InitializeSimOperator()
Definition: network_service.cpp:178
RegistrationState GetVoiceRegistrationState() const
Definition: network_service.cpp:1282
OperatorSelectionMode
Definition: network_service.h:135
@ OPER_SELECTION_MANUAL_AUTOMATIC
Definition: network_service.h:140
@ OPER_SELECTION_SET_FORMAT
Definition: network_service.h:139
@ OPER_SELECTION_AUTOMATIC
Definition: network_service.h:136
@ OPER_SELECTION_MANUAL
Definition: network_service.h:137
@ OPER_SELECTION_DEREGISTRATION
Definition: network_service.h:138
void HandleReceiveRemoteVoiceDataReg(const Client &client, std::string &command)
Definition: network_service.cpp:1207
ModemTechnology getTechFromNetworkType(NetworkRegistrationStatus::AccessTechnoloy act)
Definition: network_service.cpp:756
void SetupDependency(MiscService *misc, SimService *sim, DataService *data)
Definition: network_service.cpp:245
void OnSignalStrengthChanged()
Definition: network_service.cpp:1278
NetworkRegistrationStatus data_registration_status_
Definition: network_service.h:286
void HandleSetPreferredNetworkType(const Client &client, std::string &command)
Definition: network_service.cpp:1031
DataService * data_service_
Definition: network_service.h:101
RadioState radio_state_
Definition: network_service.h:107
void AdjustSignalStrengthValue(int &value, const std::pair< int, int > &range)
void HandleVoiceNetworkRegistration(const Client &client, std::string &command)
Definition: network_service.cpp:829
void HandleSetNetworkSelectionMode(const Client &client, std::string &command)
Definition: network_service.cpp:595
SimService * sim_service_
Definition: network_service.h:100
std::atomic< time_t > android_last_signal_time_
Definition: network_service.h:297
int preferred_network_mode_
Definition: network_service.h:289
KeepSignalStrengthChangingLoop keep_signal_strength_changing_loop_
Definition: network_service.h:311
void OnSimStatusChanged(SimService::SimStatus sim_status)
Definition: network_service.cpp:253
void HandleQueryAvailableNetwork(const Client &client)
Definition: network_service.cpp:576
void HandleGetPreferredNetworkType(const Client &client)
Definition: network_service.cpp:956
std::atomic< bool > first_signal_strength_request_
Definition: network_service.h:296
void HandleReceiveRemoteSignal(const Client &client, std::string &command)
Definition: network_service.cpp:1251
int signal_strength_percent_
Definition: network_service.h:243
std::vector< CommandHandler > InitializeCommandHandlers()
Definition: network_service.cpp:46
void HandleSignalStrength(const Client &client)
Definition: network_service.cpp:432
void HandleReceiveRemoteCTEC(const Client &client, std::string &command)
Definition: network_service.cpp:1223
NetworkRegistrationStatus voice_registration_status_
Definition: network_service.h:285
NetworkRegistrationStatus::AccessTechnoloy getNetworkTypeFromTech(ModemTechnology modemTech)
Definition: network_service.cpp:741
RegistrationState
Definition: network_service.h:75
@ NET_REGISTRATION_ROAMING
Definition: network_service.h:81
@ NET_REGISTRATION_SEARCHING
Definition: network_service.h:78
@ NET_REGISTRATION_HOME
Definition: network_service.h:77
@ NET_REGISTRATION_EMERGENCY
Definition: network_service.h:82
@ NET_REGISTRATION_UNREGISTERED
Definition: network_service.h:76
@ NET_REGISTRATION_DENIED
Definition: network_service.h:79
@ NET_REGISTRATION_UNKNOWN
Definition: network_service.h:80
void HandleQuerySupportedTechs(const Client &client)
Definition: network_service.cpp:968
int modem_radio_capability_
Definition: network_service.h:290
static std::string BuildCSQCommandResponse(const SignalStrength &signal_strength)
Definition: network_service.cpp:1138
void HandleDataNetworkRegistration(const Client &client, std::string &command)
Definition: network_service.cpp:900
SignalStrength GetCurrentSignalStrength()
Definition: network_service.cpp:1169
bool IsHasNetwork()
Definition: network_service.cpp:451
void HandleRadioPower(const Client &client, std::string &command)
Definition: network_service.cpp:311
void OnVoiceRegisterStateChanged()
Definition: network_service.cpp:1071
ModemTechnology
Definition: network_service.h:65
@ M_MODEM_TECH_GSM
Definition: network_service.h:66
@ M_MODEM_TECH_TDSCDMA
Definition: network_service.h:70
@ M_MODEM_TECH_LTE
Definition: network_service.h:71
@ M_MODEM_TECH_NR
Definition: network_service.h:72
@ M_MODEM_TECH_CDMA
Definition: network_service.h:68
@ M_MODEM_TECH_WCDMA
Definition: network_service.h:67
@ M_MODEM_TECH_EVDO
Definition: network_service.h:69
Definition: shared_fd.h:124
Definition: sim_service.h:28
SimStatus
Definition: sim_service.h:72
Definition: thread_looper.h:51
#define data
Definition: dict.c:56
std::string_view misc
Definition: android_composite_disk_config.cc:54
Definition: alloc_driver.h:20
Definition: network_service.h:110
std::string short_name
Definition: network_service.h:120
NetworkOperator(const std::string &number, const std::string &ln, const std::string &sn, OperatorState state)
Definition: network_service.h:125
std::string numeric
Definition: network_service.h:118
OperatorState operator_state
Definition: network_service.h:121
std::string long_name
Definition: network_service.h:119
OperatorState
Definition: network_service.h:111
@ OPER_STATE_FORBIDDEN
Definition: network_service.h:115
@ OPER_STATE_AVAILABLE
Definition: network_service.h:113
@ OPER_STATE_UNKNOWN
Definition: network_service.h:112
@ OPER_STATE_CURRENT
Definition: network_service.h:114
NetworkOperator()
Definition: network_service.h:123
Definition: network_service.h:251
NetworkRegistrationStatus()
Definition: network_service.h:275
RegistrationState registration_state
Definition: network_service.h:281
AccessTechnoloy network_type
Definition: network_service.h:282
AccessTechnoloy
Definition: network_service.h:258
@ ACCESS_TECH_HSUPA
Definition: network_service.h:264
@ ACCESS_TECH_E_UTRA_NR
Definition: network_service.h:272
@ ACCESS_TECH_EGPRS
Definition: network_service.h:262
@ ACCESS_TECH_GSM
Definition: network_service.h:259
@ ACCESS_TECH_E_UTRAN
Definition: network_service.h:268
@ ACCESS_TECH_NG_RAN
Definition: network_service.h:271
@ ACCESS_TECH_GSM_COMPACT
Definition: network_service.h:260
@ ACCESS_TECH_HSPA
Definition: network_service.h:265
@ ACCESS_TECH_EC_GSM_IoT
Definition: network_service.h:267
@ ACCESS_TECH_E_UTRA
Definition: network_service.h:269
@ ACCESS_TECH_UTRAN
Definition: network_service.h:261
@ ACCESS_TECH_HSDPA
Definition: network_service.h:263
@ ACCESS_TECH_NR
Definition: network_service.h:270
@ ACCESS_TECH_EUTRAN
Definition: network_service.h:266
RegistrationUnsolMode
Definition: network_service.h:252
@ REGISTRATION_UNSOL_DISABLED
Definition: network_service.h:253
@ REGISTRATION_UNSOL_ENABLED_FULL
Definition: network_service.h:255
@ REGISTRATION_UNSOL_ENABLED
Definition: network_service.h:254
RegistrationUnsolMode unsol_mode
Definition: network_service.h:280
Definition: network_service.h:148
int gsm_rssi
Definition: network_service.h:149
int32_t nr_ss_rsrp
Definition: network_service.h:195
int32_t nr_ss_rsrq
Definition: network_service.h:198
int lte_rsrp
Definition: network_service.h:166
int32_t nr_csi_sinr
Definition: network_service.h:210
SignalStrength()
Definition: network_service.h:214
int lte_ta
Definition: network_service.h:182
int evdo_ecio
Definition: network_service.h:162
int lte_rssi
Definition: network_service.h:165
int cdma_dbm
Definition: network_service.h:152
int evdo_snr
Definition: network_service.h:163
int cdma_ecio
Definition: network_service.h:156
int evdo_dbm
Definition: network_service.h:161
int32_t nr_csi_rsrq
Definition: network_service.h:207
int lte_cqi
Definition: network_service.h:178
int32_t nr_ss_sinr
Definition: network_service.h:201
int lte_rssnr
Definition: network_service.h:174
int wcdma_ber
Definition: network_service.h:193
int lte_rsrq
Definition: network_service.h:170
int wcdma_rssi
Definition: network_service.h:192
int32_t nr_csi_rsrp
Definition: network_service.h:204
int gsm_ber
Definition: network_service.h:150
int tdscdma_rscp
Definition: network_service.h:188