From 0c2f2815caa5392b116fb9d84ecd49ef09d8a007 Mon Sep 17 00:00:00 2001 From: Antara Borwankar Date: Mon, 13 May 2019 14:20:12 +0530 Subject: [PATCH] radio-settings: handling of dual mode technology preference Handled two new dual mode technology preferences "umts,gsm" and "lte,umts". --- src/radio-settings.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/radio-settings.c b/src/radio-settings.c index 7fd92df9..7283aa98 100644 --- a/src/radio-settings.c +++ b/src/radio-settings.c @@ -71,9 +71,15 @@ static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m) return "umts"; case OFONO_RADIO_ACCESS_MODE_LTE: return "lte"; - default: - return NULL; } + + if (m == (OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM)) + return "umts,gsm"; + + if (m == (OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS)) + return "lte,umts"; + + return NULL; } static gboolean radio_access_mode_from_string(const char *str, @@ -92,6 +98,12 @@ static gboolean radio_access_mode_from_string(const char *str, } else if (g_str_equal(str, "lte")) { *mode = OFONO_RADIO_ACCESS_MODE_LTE; return TRUE; + } else if (g_str_equal(str, "umts,gsm")) { + *mode = OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM; + return TRUE; + } else if (g_str_equal(str, "lte,umts")) { + *mode = OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS; + return TRUE; } return FALSE;