1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

Improve sv_ev_roster_received() last activity check

We don't need to do all the timing stuff if last activity is disabled
anyways.
This commit is contained in:
Michael Vetter 2019-08-02 15:52:49 +02:00
parent 5d711639b0
commit 25501a5d8a

View File

@ -153,35 +153,33 @@ sv_ev_roster_received(void)
// send initial presence
resource_presence_t conn_presence = accounts_get_login_presence(account_name);
char *last_activity_str = accounts_get_last_activity(account_name);
if (last_activity_str) {
GDateTime *nowdt = g_date_time_new_now_utc();
if (prefs_get_boolean(PREF_LASTACTIVITY) && last_activity_str) {
GTimeVal lasttv;
GDateTime *nowdt = g_date_time_new_now_utc();
gboolean res = g_time_val_from_iso8601(last_activity_str, &lasttv);
if (res) {
GDateTime *lastdt = g_date_time_new_from_timeval_utc(&lasttv);
GTimeSpan diff_micros = g_date_time_difference(nowdt, lastdt);
int diff_secs = (diff_micros / 1000) / 1000;
if (prefs_get_boolean(PREF_LASTACTIVITY)) {
connection_set_presence_msg(NULL);
cl_ev_presence_send(conn_presence, diff_secs);
} else {
connection_set_presence_msg(NULL);
cl_ev_presence_send(conn_presence, 0);
}
connection_set_presence_msg(NULL);
cl_ev_presence_send(conn_presence, diff_secs);
g_date_time_unref(lastdt);
} else {
connection_set_presence_msg(NULL);
cl_ev_presence_send(conn_presence, 0);
}
free(last_activity_str);
g_date_time_unref(nowdt);
} else {
connection_set_presence_msg(NULL);
cl_ev_presence_send(conn_presence, 0);
}
free(last_activity_str);
const char *fulljid = connection_get_fulljid();
plugins_on_connect(account_name, fulljid);