# HG changeset patch # User nikita@localhost # Date 1245864690 -7200 # Node ID ee4c051de429dae4f166d44b8465e489d7f32c60 # Parent b4112a39526c6336fb2a310673aaf02602c44383 merge diff -r b4112a39526c -r ee4c051de429 src/com/beem/project/beem/service/PrivacyListManagerAdapter.java --- a/src/com/beem/project/beem/service/PrivacyListManagerAdapter.java Wed Jun 24 13:04:52 2009 +0200 +++ b/src/com/beem/project/beem/service/PrivacyListManagerAdapter.java Wed Jun 24 19:31:30 2009 +0200 @@ -11,6 +11,7 @@ import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.PrivacyItem; +import org.jivesoftware.smack.packet.PrivacyItem.PrivacyRule; import android.os.RemoteException; import android.util.Log; @@ -26,50 +27,71 @@ private PrivacyListManager mAdaptee = null; private List mBlockedUser = new ArrayList(); private XMPPConnection mConnection; - + private MyPrivacyListListener privacyPacketListener = new MyPrivacyListListener(); + public PrivacyListManagerAdapter(XMPPConnection connection) { mConnection = connection; + mAdaptee = PrivacyListManager.getInstanceFor(mConnection); + mAdaptee.addListener(privacyPacketListener); } - + public List getBlockedUsers() { return mBlockedUser; } - - public void addBlockedUser(String jid) { + + public synchronized void addBlockedUser(String jid) { if (mAdaptee == null) { - PrivacyListManager.getInstanceFor(mConnection); - if (mAdaptee == null) { - Log.e(TAG, "pas bon"); - } - mAdaptee.addListener(new MyPrivacyListListener()); + mAdaptee = PrivacyListManager.getInstanceFor(mConnection); + mAdaptee.addListener(privacyPacketListener); } - - Log.d(TAG, "addBlockedUser"); - PrivacyItem pItem = new PrivacyItem("jid", false, 0); - pItem.setValue(jid); - pItem.setFilterPresence_out(false); List pItemList = new ArrayList(); + PrivacyItem pItem = new PrivacyItem("jid", true, 1); + pItem.setFilterMessage(true); + pItem.setValue(jid); pItemList.add(pItem); + + pItem = new PrivacyItem("subscription", true, 2); + pItem.setValue(PrivacyRule.SUBSCRIPTION_BOTH); + pItemList.add(pItem); + try { - mAdaptee.createPrivacyList(jid, pItemList); + if (mAdaptee.getPrivacyList("default") == null) { + + } + + } catch (XMPPException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ClassCastException e) { + e.printStackTrace(); + try { + mAdaptee.createPrivacyList("default", pItemList); + } catch (XMPPException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + try { + mAdaptee.setActiveListName("default"); + mAdaptee.setDefaultListName("default"); } catch (XMPPException e) { // TODO Auto-generated catch block e.printStackTrace(); } + + Log.d(TAG, "addBlockedUser"); } - + class MyPrivacyListListener implements PrivacyListListener { @Override public void setPrivacyList(String listName, List listItem) { Log.d(TAG,"setPrivacyList"); - } @Override public void updatedPrivacyList(String listName) { Log.d(TAG,"updatedPrivacyList"); - } } diff -r b4112a39526c -r ee4c051de429 src/com/beem/project/beem/service/XmppConnectionAdapter.java --- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java Wed Jun 24 13:04:52 2009 +0200 +++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java Wed Jun 24 19:31:30 2009 +0200 @@ -72,6 +72,7 @@ public XmppConnectionAdapter(final XMPPConnection con, final String login, final String password, BeemService service) { mAdaptee = con; + PrivacyListManager.getInstanceFor(mAdaptee); mLogin = login; mPassword = password; mService = service; @@ -111,11 +112,6 @@ @Override public boolean connectSync() throws RemoteException { try { - try { - PrivacyListManager.getInstanceFor(mAdaptee); - } catch (NullPointerException e) { - Log.e(TAG, "pas normal", e); - } mAdaptee.connect(); mAdaptee.addConnectionListener(mConListener); mAdaptee.login(mLogin, mPassword, "BEEM"); @@ -187,7 +183,7 @@ sdm = new ServiceDiscoveryManager(mAdaptee); sdm.addFeature("http://jabber.org/protocol/disco#info"); JingleManager.setJingleServiceEnabled(); - // sdm.addFeature("http://jabber.org/protocol/nick"); + sdm.addFeature("jabber:iq:privacy"); } /** diff -r b4112a39526c -r ee4c051de429 src/com/beem/project/beem/ui/ContactDialog.java --- a/src/com/beem/project/beem/ui/ContactDialog.java Wed Jun 24 13:04:52 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactDialog.java Wed Jun 24 19:31:30 2009 +0200 @@ -81,11 +81,11 @@ @Override public void onClick(View v) { try { - xmppFacade.blockUser("beem.test@gmail.com"); + xmppFacade.blockUser(mContact.getJID()); } catch (RemoteException e) { - // TODO Auto-generated catch block e.printStackTrace(); - } + } + dismiss(); } }