title: I am not getting latest Roster smack (xmpp library)
body: <pre><code>I am using smack/asmack library for chatting purpose in android.
  
  I am using below code for request/accept, connected users,
  </code></pre>
  
  <p>getting users presence and notifications. But it is not working properly.</p>
  
  <pre><code>1.  I have made connection and loged in by below code
  
  public static boolean XMPPConnect() {
          try {
              config = new ConnectionConfiguration(Constant._hostName, 5222);
              SmackConfiguration.setPacketReplyTimeout(1000*60);
              connection = new XMPPConnection(config);
              config.setSASLAuthenticationEnabled(false);
              connection.connect();
          } catch (Exception e) {
              e.printStackTrace();
                          return false;
          }
          return true;
      }
  
  
      public static boolean XMPPLogin(String uname, String password) {
          try {
              connection.login(uname, password);
          } catch (Exception e) {
              e.printStackTrace();
              return false;
          }
          return true;
      }
  
  2.   I have requested user by create entry in roster by below code
      try {
  Roster roster = XMPPSmackConnection.getInstance().connection.getRoster();
  roster.setSubscriptionMode(Roster.SubscriptionMode.accept_all);
  
  //Presence response = new Presence(Presence.Type.subscribe);     //response.setTo(_username);                                              //XMPPSmackConnection.getInstance().connection.sendPacket(response);
                      roster.createEntry(_username+Constant._hostNameWithAt, _username, null);
  
      } catch (Exception e) {
        e.printStackTrace();
      }
  
  3.  I am accepting the request by below code
  
         try{
  Roster roster = XMPPSmackConnection.getInstance().connection.getRoster();               roster.setSubscriptionMode(Roster.SubscriptionMode.accept_all);             _username=_username+Constant._hostNameWithAt;
                          roster.createEntry(_username+Constant._hostNameWithAt, _username, null);
         }catch(Exception e){
         }
  
  
  And I also making request and accepting by subscribe and unsubscribe by
  
  Presence response = new Presence(Presence.Type.subscribe);
  response.setTo(_username);
  XMPPSmackConnection.getInstance().connection.sendPacket(response);
  
  Presence response = new Presence(Presence.Type.subscribed);
  response.setTo(_username);
  XMPPSmackConnection.getInstance().connection.sendPacket(response);
  
  Presence response = new Presence(Presence.Type.unsubscribe);
  response.setTo(_username);
  XMPPSmackConnection.getInstance().connection.sendPacket(response);
  
  Presence response = new Presence(Presence.Type.unsubscribed);
  response.setTo(_username);
  XMPPSmackConnection.getInstance().connection.sendPacket(response);
  
  And another problem is that I am not getting updated roster instantly from openfire server.
  
  try{
  Thread.sleep(5000);
  Roster roster = XMPPSmackConnection.getInstance().connection.getRoster();
      Presence presence;
      if (roster != null) {
      Collection&lt;RosterEntry&gt; entries = roster.getEntries();
      /*   Fetch roster buddies  */
      for (RosterEntry r : entries) {
      presence = roster.getPresence(r.getUser());
      String Usertype = presence.getType().toString();
        if(r.getType().name()=="both"){  
              // For fetch connected  buddies
              Constant._connectedUserNameList.add(r.getUser()); 
        }
      }
  }catch(Exception e){}
  
  
  Can anybody suggest me best way..
  
  Thank You. 
  </code></pre>