I am using smack 4.1 now. All i want to reload/refresh roster after sending a presence and get the changes in new roster. For example
- I have an entry of user 'A' with type none and status null in Roster
- then i have sent an subscribe presence for above entry of user 'A'
- now i want to fire a reload and wait till roster not get refreshed(its different from Roster.reloadAndWait() method provided in smack)
- After roster refresh i would get entry of user 'A' as type=none and status=subscribe.
So my question here
Is there a simple blocking call to reload fresh roster? According to my study roster.reload() would send an IQ to reload but it won't block the call till reload. reloadAndWait() method also does the same thing from 2nd and onward calls with the help of boolean isLoaded. reloadAndWait method would only block the call for first time if its not loaded(correct me if wrong).
Is there any way to get a callback when roster reload operation completes(sync or async) in smack?
Is it possible to make a request for reload of a single RosterEntry?
Is it good practice to verify the impact of presence change through roster refresh?
Thanks for your valuable suggestion and answer