Package org.jivesoftware.smackx.iqlast
Class LastActivityManager
java.lang.Object
org.jivesoftware.smack.Manager
org.jivesoftware.smackx.iqlast.LastActivityManager
A last activity manager for handling information about the last activity
associated with a Jabber ID. A manager handles incoming LastActivity requests
of existing Connections. It also allows to request last activity information
of other users.
LastActivity (XEP-0012) based on the sending JID's type allows for retrieval
of:
- How long a particular user has been idle
- How long a particular user has been logged-out and the message the specified when doing so.
- How long a host has been up.
XMPPConnection con = new XMPPTCPConnection("jabber.org"); con.login("john", "doe"); LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org/Smack");To get the lapsed time since the last user logout is the same as above but with out the resource:
LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org");To get the uptime of a host, you simple send the LastActivity stanza to it, as in the following code example:
LastActivity activity = LastActivity.getLastActivity(con, "jabber.org");
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
disable()
void
enable()
static LastActivityManager
getInstanceFor
(XMPPConnection connection) getLastActivity
(Jid jid) Returns the last activity of a particular jid.boolean
Returns true if Last Activity (XEP-0012) is supported by a given JID.static void
setEnabledPerDefault
(boolean enabledPerDefault) Enable or disable Last Activity for new XMPPConnections.Methods inherited from class org.jivesoftware.smack.Manager
connection, getAuthenticatedConnectionOrThrow, schedule, schedule, scheduleBlocking
-
Method Details
-
setEnabledPerDefault
Enable or disable Last Activity for new XMPPConnections.- Parameters:
enabledPerDefault
- TODO javadoc me please
-
getInstanceFor
-
enable
-
disable
-
getLastActivity
public LastActivity getLastActivity(Jid jid) throws SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException Returns the last activity of a particular jid. If the jid is a full JID (i.e., a JID of the form of 'user@host/resource') then the last activity is the idle time of that connected resource. On the other hand, when the jid is a bare JID (e.g. 'user@host') then the last activity is the lapsed time since the last logout or 0 if the user is currently logged in. Moreover, when the jid is a server or component (e.g., a JID of the form 'host') the last activity is the uptime.- Parameters:
jid
- TODO javadoc me please the JID of the user.- Returns:
- the LastActivity stanza of the jid.
- Throws:
XMPPException.XMPPErrorException
- if there was an XMPP error returned. thrown if a server error has occurred.SmackException.NoResponseException
- if there was no response from the server.SmackException.NotConnectedException
- if the XMPP connection is not connected.InterruptedException
- if the calling thread was interrupted.
-
isLastActivitySupported
public boolean isLastActivitySupported(Jid jid) throws SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException Returns true if Last Activity (XEP-0012) is supported by a given JID.- Parameters:
jid
- a JID to be tested for Last Activity support- Returns:
- true if Last Activity is supported, otherwise false
- Throws:
SmackException.NotConnectedException
- if the XMPP connection is not connected.XMPPException.XMPPErrorException
- if there was an XMPP error returned.SmackException.NoResponseException
- if there was no response from the remote entity.InterruptedException
- if the calling thread was interrupted.
-