From 28488bebc8ed407796fd0329a855899c2f9bdff5 Mon Sep 17 00:00:00 2001 From: Vladimir Ananiev Date: Mon, 17 Jan 2011 21:42:05 +0300 Subject: [PATCH 1/1] Jabber: Android built-in gtalk client detection --- .../protocol/account/roster/jsoftwaredetection.cpp | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/jabber/src/protocol/account/roster/jsoftwaredetection.cpp b/jabber/src/protocol/account/roster/jsoftwaredetection.cpp index 88e00e9..c4d7f8f 100644 --- a/jabber/src/protocol/account/roster/jsoftwaredetection.cpp +++ b/jabber/src/protocol/account/roster/jsoftwaredetection.cpp @@ -106,10 +106,17 @@ void JSoftwareDetection::handlePresence(const jreen::Presence &presence) QString node; if (jreen::Capabilities *caps = presence.findExtension().data()) { qDebug() << "handle caps" << caps->node(); - static const QRegExp regExp("^http://.*google.com/.*client/caps$"); - Q_ASSERT(regExp.isValid()); QString capsNode = caps->node(); - if(regExp.exactMatch(capsNode)) { + if(capsNode == "http://www.android.com/gtalk/client/caps") { + QString software = "GTalk (Android)"; + QString softwareVersion = caps->ver(); + QString client = getClientDescription(software, softwareVersion, QString()); + updateClientData(resource, client, software, softwareVersion, QString(), "gtalk-android"); + return; + } + static const QRegExp regExp("^http://.*google.com/.*client/caps$"); + Q_ASSERT(regExp.isValid()); + if(regExp.exactMatch(capsNode)) { QString software = "GTalk"; if(capsNode.startsWith("http://mail.")) software += " (GMail)"; -- 1.7.1