android - Why I'm always getting presence type is unavailable? -


i have developed simple chat application in have used asmack lib , openfire server. when starting chat using same i'm getting presence status unavailable, user available on openfire server.

have tried various things, have tested same code talk.google.com server works well. here i'm setting presence state of user-

                  presence presence  = new presence(presence.type.available); ;                    presence.setstatus("online, programmatically!");                   presence.setpriority(24);                   presence.setmode(presence.mode.available);                   connection.sendpacket(presence);                   try {                     thread.sleep(10000);                   } catch (interruptedexception e1) {                     // todo auto-generated catch block                     e1.printstacktrace();                   } 

and when i'm displaying roster entries i'm getting presence status null, , presence type unavailable, don't know why happen, have tried various things. i'm testing code on 2 different emulator on same machine. due same?

here code displays roster entries , type of presence

                   roster roster = connection.getroster();                   roster.setdefaultsubscriptionmode(roster.subscriptionmode.accept_all);                   roster.addrosterlistener(new rosterlistener() {                       // ignored events public void entriesadded(collection<string> addresses) {}                       public void entriesdeleted(collection<string> addresses) {}                       public void entriesupdated(collection<string> addresses) {}                       public void presencechanged(presence presence) {                           system.out.println("presence changed: " + presence.getfrom() + " " + presence);                       }                       @override                       public void entriesadded(collection<string> arg0) {                           // todo auto-generated method stub                       }                   });                   try { thread.sleep(5000); } catch (interruptedexception e) { }                   collection<rosterentry> entries = roster.getentries();                                   (rosterentry entry : entries) {                                                  presence subscribed = new presence(presence.type.subscribed);                        subscribed.setto(entry.getuser());                        connection.sendpacket(subscribed);                        log.d("jwp", "rosterentry " + entry);                       log.d("jwp", "user: " + entry.getuser());                       log.d("jwp", "name: " + entry.getname());                       log.d("jwp", "status: " + entry.getstatus());                       log.d("jwp", "type: " + entry.gettype());                                      presence entrypresence = roster.getpresence(entry.getuser());                       log.d("jwp", "presence status: "+ entrypresence.getmode());                       log.d("jwp", "presence type: " + entrypresence.gettype());                        presence.type type = entrypresence.gettype();                       if (type == presence.type.available){                           log.d("jwp", "presence avialable");                           log.d("jwp", "presence : " + entrypresence);                       }                   } 


Comments