Idle Enabled shouldn't override a custom Away status

Description

reported at http://www.igniterealtime.org/community/message/198132

Currently Idle Enabled option overrides custom Away status message with text "Away" when desktop is locked or screensaver turns on. While it is ok to override other presences with "Away" message (client is idle, so other presences probably are wrong), one may want to keep custom Away message showing, like "Discussion, 20 mins" instead of "Away". This issue was probably introduced after switching to Away after locking the desktop was implemented. There should be a check for a current status, and if it is a custom Away status, then Spark should leave it as it is.

Environment

Windows

Activity

Show:
wroot
January 24, 2010, 1:09 AM

Ok. Testing with current SVN. Now it doesnt override custom Away status. But what do you think about overriding DND? Well, this should be another ticket, but maybe you dont agree with that? When i see DND status i assume that user doesnt want or can talk, but he's still online. So, if one sets DND and then goes away for hour or so, then DND status telling nothing useful. I think in such situation showing Extended Away is more suitable, so i think Away should override everything except the custom Away. Dont know about On the phone status. Probably it should be changing on and off automatically, unless someone sets it manually. In that case it should be override too.

wroot
January 15, 2010, 6:29 PM

i can't test that patch http://www.igniterealtime.org/community/message/199666 either. NetBeans cant apply it. I have latest SVN code synced, dont know why it doesnt go.

As about your questions. I think that Spark should change to status text "Away" (not "Away+Original status") if Idle is enabled and if current status was anything except custom Away. This could be Online, custom Online, DND, custom DND and so on.

The only status which should be preserved is custom Away. For me it is the only logical variant to preserve status.

Konstantin Zolotarev
January 15, 2010, 3:50 PM

As for me Away status must change to the IDLE status. What will say wroot ?

Michael Will
January 14, 2010, 10:53 PM

I think it was better to change the Status only if the presence is Available or Chat.

private void setIdle() {
latestPresence = SparkManager.getWorkspace().getStatusBar().getPresence();
if ((latestPresence.getMode() == Presence.Mode.available ) ||
latestPresence.getMode() == Presence.Mode.chat)
{
Presence presence = new Presence(Presence.Type.available, Res.getString("status.away"), 1, Presence.Mode.away);
SparkManager.getSessionManager().changePresence(presence);
}
}

The code from konstantin use only the status information:
If I have a Custom Online Message this is used for the away message.

Example:
From:
Online - Please talk with me
change to:
Away - Please talk with me

But wroot opened the issue. wroot, it's your turn!

Fixed

Priority

Minor

Assignee

Michael Will

Reporter

wroot