diff options
author | Sjoerd Simons <sjoerd@luon.net> | 2013-01-03 11:42:13 +0100 |
---|---|---|
committer | Sjoerd Simons <sjoerd@luon.net> | 2013-01-03 15:30:47 +0100 |
commit | 55ce28ebe490bc803dd524970ebb187402bb6031 (patch) | |
tree | 9add34c7bd5b98583fa64feb6ed04c2a7d168dfb /libempathy | |
parent | 05c170e3de251f2161e9ff5bb1eac4785cdc91da (diff) |
Recognize both handheld and phone clienttypes as mobile devices
Empathy currently displays a phone icon for clients which indicate that
they're phones. However some mobile clients use the "handheld" client
type instead (e.g. Xabber on android devices).
While changing things around, i've also refactored the code a bit to
ensure that the determination will stay consistent in the various
location if it's changed in future.
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-utils.c | 14 | ||||
-rw-r--r-- | libempathy/empathy-utils.h | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index a7ae0bdd..191544fb 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -1122,6 +1122,20 @@ while_finish: *can_video_call = can_video; } +gboolean +empathy_client_types_contains_mobile_device (const GStrv types) { + int i; + + if (types == NULL) + return FALSE; + + for (i = 0; types[i] != NULL; i++) + if (!tp_strdiff (types[i], "phone") || !tp_strdiff (types[i], "handheld")) + return TRUE; + + return FALSE; +} + static FolksIndividual * create_individual_from_persona (FolksPersona *persona) { diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h index a310d2b0..3950c5be 100644 --- a/libempathy/empathy-utils.h +++ b/libempathy/empathy-utils.h @@ -115,6 +115,9 @@ void empathy_individual_can_audio_video_call (FolksIndividual *individual, gboolean *can_video_call, EmpathyContact **out_contact); +gboolean empathy_client_types_contains_mobile_device ( + const GStrv types); + FolksIndividual * empathy_create_individual_from_tp_contact ( TpContact *contact); |