cleaned up debug log a little bit

Daniel Gultsch created

Change summary

src/eu/siacs/conversations/entities/Contact.java                 |   1 
src/eu/siacs/conversations/persistance/DatabaseBackend.java      |   5 
src/eu/siacs/conversations/persistance/FileBackend.java          |  47 
src/eu/siacs/conversations/services/XmppConnectionService.java   |   3 
src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java     | 134 -
src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java      |   1 
src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java |  18 
7 files changed, 118 insertions(+), 91 deletions(-)

Detailed changes

src/eu/siacs/conversations/entities/Contact.java 🔗

@@ -164,7 +164,6 @@ public class Contact extends AbstractEntity implements Serializable {
 
 	public void updatePresence(String resource, int status) {
 		this.presences.updatePresence(resource, status);
-		Log.d("xmppService","updatingPresence for contact="+this.jid+" resource="+resource+" num="+presences.size());
 	}
 
 	public void removePresence(String resource) {

src/eu/siacs/conversations/persistance/DatabaseBackend.java 🔗

@@ -207,6 +207,10 @@ public class DatabaseBackend extends SQLiteOpenHelper {
 		ContentValues values = contact.getContentValues();
 		if (!updatePresences) {
 			values.remove(Contact.PRESENCES);
+		} else {
+			values.remove(Contact.DISPLAYNAME);
+			values.remove(Contact.PHOTOURI);
+			values.remove(Contact.SYSTEMACCOUNT);
 		}
 		db.update(Contact.TABLENAME, contact.getContentValues(), Contact.UUID
 				+ "=?", args);
@@ -231,7 +235,6 @@ public class DatabaseBackend extends SQLiteOpenHelper {
 			if (cursor.getCount()>=1) {
 				cursor.moveToFirst();
 				contact.setUuid(cursor.getString(0));
-				//contact.setPresences(Presences.fromJsonString(cursor.getString(1)));
 				updateContact(contact,false);
 			} else {
 				contact.setUuid(UUID.randomUUID().toString());

src/eu/siacs/conversations/persistance/FileBackend.java 🔗

@@ -1,5 +1,6 @@
 package eu.siacs.conversations.persistance;
 
+import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -10,6 +11,7 @@ import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
+import android.util.Log;
 import android.util.LruCache;
 
 import eu.siacs.conversations.entities.Conversation;
@@ -25,7 +27,7 @@ public class FileBackend {
 
 	public FileBackend(Context context) {
 		this.context = context;
-		
+
 		int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
 		int cacheSize = maxMemory / 8;
 		thumbnailCache = new LruCache<String, Bitmap>(cacheSize) {
@@ -45,7 +47,7 @@ public class FileBackend {
 		String filename = message.getUuid() + ".webp";
 		return new JingleFile(path + "/" + filename);
 	}
-	
+
 	private Bitmap resize(Bitmap originalBitmap, int size) {
 		int w = originalBitmap.getWidth();
 		int h = originalBitmap.getHeight();
@@ -59,8 +61,8 @@ public class FileBackend {
 				scalledW = size;
 				scalledH = (int) (h / ((double) w / size));
 			}
-			Bitmap scalledBitmap = Bitmap.createScaledBitmap(
-					originalBitmap, scalledW, scalledH, true);
+			Bitmap scalledBitmap = Bitmap.createScaledBitmap(originalBitmap,
+					scalledW, scalledH, true);
 			return scalledBitmap;
 		} else {
 			return originalBitmap;
@@ -78,9 +80,10 @@ public class FileBackend {
 			Bitmap originalBitmap = BitmapFactory.decodeStream(is);
 			is.close();
 			Bitmap scalledBitmap = resize(originalBitmap, IMAGE_SIZE);
-			boolean success = scalledBitmap.compress(Bitmap.CompressFormat.WEBP,75,os);
+			boolean success = scalledBitmap.compress(
+					Bitmap.CompressFormat.WEBP, 75, os);
 			if (!success) {
-				//Log.d("xmppService", "couldnt compress");
+				// Log.d("xmppService", "couldnt compress");
 			}
 			os.close();
 			return file;
@@ -96,16 +99,17 @@ public class FileBackend {
 	}
 
 	public Bitmap getImageFromMessage(Message message) {
-		return BitmapFactory
-				.decodeFile(getJingleFile(message).getAbsolutePath());
+		return BitmapFactory.decodeFile(getJingleFile(message)
+				.getAbsolutePath());
 	}
 
-	public Bitmap getThumbnailFromMessage(Message message, int size) throws FileNotFoundException {
+	public Bitmap getThumbnailFromMessage(Message message, int size)
+			throws FileNotFoundException {
 		Bitmap thumbnail = thumbnailCache.get(message.getUuid());
-		if (thumbnail==null) {
+		if (thumbnail == null) {
 			Bitmap fullsize = BitmapFactory.decodeFile(getJingleFile(message)
 					.getAbsolutePath());
-			if (fullsize==null) {
+			if (fullsize == null) {
 				throw new FileNotFoundException();
 			}
 			thumbnail = resize(fullsize, size);
@@ -113,4 +117,25 @@ public class FileBackend {
 		}
 		return thumbnail;
 	}
+
+	public void removeFiles(Conversation conversation) {
+		String prefix = context.getFilesDir().getAbsolutePath();
+		String path = prefix + "/" + conversation.getAccount().getJid() + "/"
+				+ conversation.getContactJid();
+		File file = new File(path);
+		try {
+			this.deleteFile(file);
+		} catch (IOException e) {
+			Log.d("xmppService",
+					"error deleting file: " + file.getAbsolutePath());
+		}
+	}
+
+	private void deleteFile(File f) throws IOException {
+		if (f.isDirectory()) {
+			for (File c : f.listFiles())
+				deleteFile(c);
+		}
+		f.delete();
+	}
 }

src/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -290,7 +290,7 @@ public class XmppConnectionService extends Service {
 						if ("subscribe".equals(type)) {
 							account.getXmppConnection().addPendingSubscription(fromParts[0]);
 						} else {
-							Log.d(LOGTAG,packet.getFrom()+ " could not be found");
+							//Log.d(LOGTAG,packet.getFrom()+ " could not be found");
 						}
 						return;
 					}
@@ -667,7 +667,6 @@ public class XmppConnectionService extends Service {
 
 			@Override
 			public void onBind(Account account) {
-				Log.d("xmppService","bount. cleaning presences");
 				databaseBackend.clearPresences(account);
 				account.clearPresences(); // self presences
 				if (account.getXmppConnection().hasFeatureRosterManagment()) {

src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java 🔗

@@ -186,8 +186,7 @@ public class JingleConnection {
 			this.transportId = this.mJingleConnectionManager.nextRandomId();
 			content.setCandidates(this.transportId,getCandidatesAsElements());
 			packet.setContent(content);
-			Log.d("xmppService",packet.toString());
-			account.getXmppConnection().sendIqPacket(packet, this.responseListener);
+			this.sendJinglePacket(packet);
 			this.status = STATUS_INITIATED;
 		}
 	}
@@ -219,7 +218,7 @@ public class JingleConnection {
 						public void failed() {
 							content.setCandidates(transportId, getCandidatesAsElements());
 							packet.setContent(content);
-							account.getXmppConnection().sendIqPacket(packet,responseListener);
+							sendJinglePacket(packet);
 						}
 						
 						@Override
@@ -227,13 +226,13 @@ public class JingleConnection {
 							mergeCandidate(candidate);
 							content.setCandidates(transportId, getCandidatesAsElements());
 							packet.setContent(content);
-							account.getXmppConnection().sendIqPacket(packet,responseListener);
+							sendJinglePacket(packet);
 						}
 					});
 				} else {
 					content.setCandidates(transportId, getCandidatesAsElements());
 					packet.setContent(content);
-					account.getXmppConnection().sendIqPacket(packet,responseListener);
+					sendJinglePacket(packet);
 				}
 			}
 		});
@@ -250,8 +249,12 @@ public class JingleConnection {
 		return packet;
 	}
 	
+	private void sendJinglePacket(JinglePacket packet) {
+		Log.d("xmppService",packet.toPrettyString());
+		account.getXmppConnection().sendIqPacket(packet,responseListener);
+	}
+	
 	private void accept(JinglePacket packet) {
-		Log.d("xmppService","session-accept: "+packet.toString());
 		Content content = packet.getJingleContent();
 		mergeCandidates(JingleCandidate.parse(content.getCanditates()));
 		this.status = STATUS_ACCEPTED;
@@ -286,66 +289,72 @@ public class JingleConnection {
 
 	private void connect() {
 		final SocksConnection connection = chooseConnection();
-		this.status = STATUS_TRANSMITTING;
-		final OnFileTransmitted callback = new OnFileTransmitted() {
-			
-			@Override
-			public void onFileTransmitted(JingleFile file) {
-				if (responder.equals(account.getFullJid())) {
-					sendSuccess();
-					mXmppConnectionService.markMessage(message, Message.STATUS_SEND);
-				}
-				Log.d("xmppService","sucessfully transmitted file. sha1:"+file.getSha1Sum());
-			}
-		};
-		if (connection.isProxy()&&(connection.getCandidate().isOurs())) {
-			Log.d("xmppService","candidate "+connection.getCandidate().getCid()+" was our proxy and needs activation");
-			IqPacket activation = new IqPacket(IqPacket.TYPE_SET);
-			activation.setTo(connection.getCandidate().getJid());
-			activation.query("http://jabber.org/protocol/bytestreams").setAttribute("sid", this.getSessionId());
-			activation.query().addChild("activate").setContent(this.getCounterPart());
-			this.account.getXmppConnection().sendIqPacket(activation, new OnIqPacketReceived() {
+		if (connection==null) {
+			Log.d("xmppService","could not find suitable candidate");
+			this.disconnect();
+			this.status = STATUS_FAILED;
+			this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND_FAILED);
+		} else {
+			this.status = STATUS_TRANSMITTING;
+			final OnFileTransmitted callback = new OnFileTransmitted() {
 				
 				@Override
-				public void onIqPacketReceived(Account account, IqPacket packet) {
-					Log.d("xmppService","activation result: "+packet.toString());
-					if (initiator.equals(account.getFullJid())) {
-						Log.d("xmppService","we were initiating. sending file");
-						connection.send(file,callback);
-					} else {
-						connection.receive(file,callback);
-						Log.d("xmppService","we were responding. receiving file");
+				public void onFileTransmitted(JingleFile file) {
+					if (responder.equals(account.getFullJid())) {
+						sendSuccess();
+						mXmppConnectionService.markMessage(message, Message.STATUS_SEND);
 					}
+					Log.d("xmppService","sucessfully transmitted file. sha1:"+file.getSha1Sum());
 				}
-			});
-		} else {
-			if (initiator.equals(account.getFullJid())) {
-				Log.d("xmppService","we were initiating. sending file");
-				connection.send(file,callback);
+			};
+			if (connection.isProxy()&&(connection.getCandidate().isOurs())) {
+				Log.d("xmppService","candidate "+connection.getCandidate().getCid()+" was our proxy and needs activation");
+				IqPacket activation = new IqPacket(IqPacket.TYPE_SET);
+				activation.setTo(connection.getCandidate().getJid());
+				activation.query("http://jabber.org/protocol/bytestreams").setAttribute("sid", this.getSessionId());
+				activation.query().addChild("activate").setContent(this.getCounterPart());
+				this.account.getXmppConnection().sendIqPacket(activation, new OnIqPacketReceived() {
+					
+					@Override
+					public void onIqPacketReceived(Account account, IqPacket packet) {
+						Log.d("xmppService","activation result: "+packet.toString());
+						if (initiator.equals(account.getFullJid())) {
+							Log.d("xmppService","we were initiating. sending file");
+							connection.send(file,callback);
+						} else {
+							connection.receive(file,callback);
+							Log.d("xmppService","we were responding. receiving file");
+						}
+					}
+				});
 			} else {
-				Log.d("xmppService","we were responding. receiving file");
-				connection.receive(file,callback);
+				if (initiator.equals(account.getFullJid())) {
+					Log.d("xmppService","we were initiating. sending file");
+					connection.send(file,callback);
+				} else {
+					Log.d("xmppService","we were responding. receiving file");
+					connection.receive(file,callback);
+				}
 			}
 		}
 	}
 	
 	private SocksConnection chooseConnection() {
-		Log.d("xmppService","choosing connection from "+this.connections.size()+" possibilties");
 		SocksConnection connection = null;
 		Iterator<Entry<String, SocksConnection>> it = this.connections.entrySet().iterator();
 	    while (it.hasNext()) {
 	    	Entry<String, SocksConnection> pairs = it.next();
 	    	SocksConnection currentConnection = pairs.getValue();
-	    	Log.d("xmppService","comparing candidate: "+currentConnection.getCandidate().toString());
+	    	//Log.d("xmppService","comparing candidate: "+currentConnection.getCandidate().toString());
 	        if (currentConnection.isEstablished()&&(currentConnection.getCandidate().isUsedByCounterpart()||(!currentConnection.getCandidate().isOurs()))) {
-	        	Log.d("xmppService","is usable");
+	        	//Log.d("xmppService","is usable");
 	        	if (connection==null) {
 	        		connection = currentConnection;
 	        	} else {
 	        		if (connection.getCandidate().getPriority()<currentConnection.getCandidate().getPriority()) {
 	        			connection = currentConnection;
 	        		} else if (connection.getCandidate().getPriority()==currentConnection.getCandidate().getPriority()) {
-	        			Log.d("xmppService","found two candidates with same priority");
+	        			//Log.d("xmppService","found two candidates with same priority");
 	        			if (initiator.equals(account.getFullJid())) {
 	        				if (currentConnection.getCandidate().isOurs()) {
 	        					connection = currentConnection;
@@ -359,11 +368,6 @@ public class JingleConnection {
 	        	}
 	        }
 	        it.remove();
-	    }
-	    if (connection!=null) {
-	    	Log.d("xmppService","chose candidate: "+connection.getCandidate().getHost());
-	    } else {
-	    	Log.d("xmppService","couldn't find candidate");
 	    }
 		return connection;
 	}
@@ -373,8 +377,7 @@ public class JingleConnection {
 		Reason reason = new Reason();
 		reason.addChild("success");
 		packet.setReason(reason);
-		Log.d("xmppService","sending success. "+packet.toString());
-		this.account.getXmppConnection().sendIqPacket(packet, responseListener);
+		this.sendJinglePacket(packet);
 		this.disconnect();
 		this.status = STATUS_FINISHED;
 		this.mXmppConnectionService.markMessage(this.message, Message.STATUS_RECIEVED);
@@ -391,28 +394,7 @@ public class JingleConnection {
 		this.status = STATUS_CANCELED;
 		this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND_REJECTED);
 	}
-	
-	/*private void openOurCandidates() {
-		for(JingleCandidate candidate : this.candidates) {
-			if (candidate.isOurs()) {
-				final SocksConnection socksConnection = new SocksConnection(this,candidate);
-				connections.put(candidate.getCid(), socksConnection);
-				socksConnection.connect(new OnSocksConnection() {
-					
-					@Override
-					public void failed() {
-						Log.d("xmppService","connection to our candidate failed");
-					}
-					
-					@Override
-					public void established() {
-						Log.d("xmppService","connection to our candidate was successful");
-					}
-				});
-			}
-		}
-	}*/
-	
+
 	private void connectNextCandidate() {
 		for(JingleCandidate candidate : this.candidates) {
 			if ((!connections.containsKey(candidate.getCid())&&(!candidate.isOurs()))) {
@@ -430,11 +412,13 @@ public class JingleConnection {
 			
 			@Override
 			public void failed() {
+				Log.d("xmppService", "connection failed with "+candidate.getHost()+":"+candidate.getPort());
 				connectNextCandidate();
 			}
 			
 			@Override
 			public void established() {
+				Log.d("xmppService", "established connection with "+candidate.getHost()+":"+candidate.getPort());
 				sendCandidateUsed(candidate.getCid());
 				if ((receivedCandidate)&&(status == STATUS_ACCEPTED)) {
 					connect();
@@ -461,7 +445,7 @@ public class JingleConnection {
 		content.setUsedCandidate(this.transportId, cid);
 		packet.setContent(content);
 		Log.d("xmppService","send using candidate: "+cid);
-		this.account.getXmppConnection().sendIqPacket(packet,responseListener);
+		this.sendJinglePacket(packet);
 		this.sentCandidate = true;
 	}
 	
@@ -474,7 +458,7 @@ public class JingleConnection {
 		content.setCandidateError(this.transportId);
 		packet.setContent(content);
 		Log.d("xmppService","send candidate error");
-		this.account.getXmppConnection().sendIqPacket(packet,responseListener);
+		this.sendJinglePacket(packet);
 		this.sentCandidate = true;
 	}
 

src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java 🔗

@@ -69,7 +69,6 @@ public class SocksConnection {
 						inputStream.read(result);
 						int status = result[1];
 						if (status == 0) {
-							Log.d("xmppService", "established connection with "+candidate.getHost()+":"+candidate.getPort()+ "/" + destination);
 							isEstablished = true;
 							callback.established();
 						} else {

src/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java 🔗

@@ -92,4 +92,22 @@ public class JinglePacket extends IqPacket {
 	public boolean isAction(String action) {
 		return action.equalsIgnoreCase(this.getAction());
 	}
+	
+	public String toPrettyString() {
+		StringBuilder output = new StringBuilder();
+		output.append("["+getAction()+ " to:"+getTo()+" ");
+		if (this.content!=null) {
+			if (this.content.getUsedCandidate()!=null) {
+				output.append("used-candidate="+this.content.getUsedCandidate());
+			} else if (this.content.hasCandidateError()) {
+				output.append("candidate-error");
+			} else {
+				for(Element c : this.content.getCanditates()) {
+					output.append("["+c.getAttribute("host")+":"+c.getAttribute("port")+"]");
+				}
+			}
+		}
+		output.append("]");
+		return output.toString();
+	}
 }