Roster entry type dynamic?

Hello everyone, I have a quick question about rosters and subscriptions. I am basically confused about something. When i do the following:

final Collection unmodifiableEntries = roster.getEntries();

This returns me the list of users in my contact list right ?

The issue I am having is that if I do entry.getType(), the entry.gettype should either be both, to , from or none right ? I can see that in my openfire I have 2 users which is both and 1 user which is from. For some reason of if I do getentries and check their entry.getype using the smack api, I get 1 of the users as NONE.

I noticed that this happens , if I accept a user’s request to become a friend , it will show BOTH in openfire but when I do roster.getentries, it still shows, from, to or none. If i disconnect the user then log back in, the roster.getentries returns me the correct entries type and everyone is happy.

My question Is: is the roster entries type updated all the time or only shows the entry type at login only?

Many thanks in advance. This has been doing my head in…

To answer to my own question. Do i need a roster listener for that to alert any changes.