RosterListener Bug? User logout send me "Online" status?

I am using version Smack 4.1.5 and I am doing the contact list part now.

The code is as follow:

Roster roster = Roster.getInstanceFor(connection);

roster.addRosterListener(new RosListener(){


public void presenceChanged(Presence presence){

Log.d(TAG, presence.getFrom().toString() + “:” + presence.getStatus().toString())



I use my phone to login as user1 and Spark login as user2

Everything works fine unless, when user2 logout, I receive “Online” as the value of presence.getStatus()!

can anyone tell me whether it is a bug or misuse or whatever