diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2022-05-20 15:13:25 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2022-05-25 11:15:29 +0200 |
commit | 9fa1b32e34e24a710b1badece7becaa44e83fb94 (patch) | |
tree | 6a7b12d2ba86288e3b687fc12a842d847631d257 /cli | |
parent | 63d02f9da251f8e83c837ed7fc7358bd4ea339a4 (diff) |
cli: don't print signal quality unless modem is enabled
We don't have a clear way to report "unknown" signal quality, so for
now just skip printing it altogether in the mmcli human output if the
modem is not yet enabled.
Diffstat (limited to 'cli')
-rw-r--r-- | cli/mmcli-modem.c | 2 | ||||
-rw-r--r-- | cli/mmcli-output.c | 12 | ||||
-rw-r--r-- | cli/mmcli-output.h | 3 |
3 files changed, 11 insertions, 6 deletions
diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c index f8fa6c1b..54ed3414 100644 --- a/cli/mmcli-modem.c +++ b/cli/mmcli-modem.c @@ -383,7 +383,7 @@ print_modem_info (void) mmcli_output_state (mm_modem_get_state (ctx->modem), mm_modem_get_state_failed_reason (ctx->modem)); mmcli_output_string (MMC_F_STATUS_POWER_STATE, mm_modem_power_state_get_string (mm_modem_get_power_state (ctx->modem))); mmcli_output_string_list (MMC_F_STATUS_ACCESS_TECH, access_technologies_string); - mmcli_output_signal_quality (signal_quality, signal_quality_recent); + mmcli_output_signal_quality (mm_modem_get_state (ctx->modem), signal_quality, signal_quality_recent); mmcli_output_string_multiline (MMC_F_MODES_SUPPORTED, supported_modes_string); mmcli_output_string_take (MMC_F_MODES_CURRENT, g_strdup_printf ("allowed: %s; preferred: %s", diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c index 14367bf5..ff0dd23a 100644 --- a/cli/mmcli-output.c +++ b/cli/mmcli-output.c @@ -594,13 +594,17 @@ mmcli_output_listitem (MmcF field, /* (Custom) Signal quality output */ void -mmcli_output_signal_quality (guint value, - gboolean recent) +mmcli_output_signal_quality (MMModemState state, + guint value, + gboolean recent) { /* Merge value and recent flag in a single item in human output */ if (selected_type == MMC_OUTPUT_TYPE_HUMAN) { - output_item_new_take_single (MMC_F_STATUS_SIGNAL_QUALITY_VALUE, - g_strdup_printf ("%u%% (%s)", value, recent ? "recent" : "cached")); + if (state >= MM_MODEM_STATE_ENABLED) + output_item_new_take_single (MMC_F_STATUS_SIGNAL_QUALITY_VALUE, + g_strdup_printf ("%u%% (%s)", value, recent ? "recent" : "cached")); + else + output_item_new_take_single (MMC_F_STATUS_SIGNAL_QUALITY_VALUE, NULL); return; } diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h index 180debd4..309fc8e9 100644 --- a/cli/mmcli-output.h +++ b/cli/mmcli-output.h @@ -381,7 +381,8 @@ void mmcli_output_listitem (MmcF field, /******************************************************************************/ /* Custom output management */ -void mmcli_output_signal_quality (guint value, +void mmcli_output_signal_quality (MMModemState state, + guint value, gboolean recent); void mmcli_output_start_date (guint64 value); void mmcli_output_state (MMModemState state, |