execute video compression on seperate thread
This commit is contained in:
		
							parent
							
								
									e5becc2e12
								
							
						
					
					
						commit
						a3be1e964c
					
				| 
						 | 
					@ -42,6 +42,9 @@ public class AttachFileToConversationRunnable implements Runnable, MediaTranscod
 | 
				
			||||||
		this.isVideoMessage = (mimeType != null && mimeType.startsWith("video/") && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2);
 | 
							this.isVideoMessage = (mimeType != null && mimeType.startsWith("video/") && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public boolean isVideoMessage() {
 | 
				
			||||||
 | 
							return this.isVideoMessage;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private void processAsFile() {
 | 
						private void processAsFile() {
 | 
				
			||||||
		final String path = mXmppConnectionService.getFileBackend().getOriginalPath(uri);
 | 
							final String path = mXmppConnectionService.getFileBackend().getOriginalPath(uri);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -156,6 +156,7 @@ public class XmppConnectionService extends Service {
 | 
				
			||||||
	public static final String ACTION_GCM_TOKEN_REFRESH = "gcm_token_refresh";
 | 
						public static final String ACTION_GCM_TOKEN_REFRESH = "gcm_token_refresh";
 | 
				
			||||||
	public static final String ACTION_GCM_MESSAGE_RECEIVED = "gcm_message_received";
 | 
						public static final String ACTION_GCM_MESSAGE_RECEIVED = "gcm_message_received";
 | 
				
			||||||
	private final SerialSingleThreadExecutor mFileAddingExecutor = new SerialSingleThreadExecutor();
 | 
						private final SerialSingleThreadExecutor mFileAddingExecutor = new SerialSingleThreadExecutor();
 | 
				
			||||||
 | 
						private final SerialSingleThreadExecutor mVideoCompressionExecutor = new SerialSingleThreadExecutor();
 | 
				
			||||||
	private final SerialSingleThreadExecutor mDatabaseExecutor = new SerialSingleThreadExecutor();
 | 
						private final SerialSingleThreadExecutor mDatabaseExecutor = new SerialSingleThreadExecutor();
 | 
				
			||||||
	private ReplacingSerialSingleThreadExecutor mContactMergerExecutor = new ReplacingSerialSingleThreadExecutor(true);
 | 
						private ReplacingSerialSingleThreadExecutor mContactMergerExecutor = new ReplacingSerialSingleThreadExecutor(true);
 | 
				
			||||||
	private final IBinder mBinder = new XmppConnectionBinder();
 | 
						private final IBinder mBinder = new XmppConnectionBinder();
 | 
				
			||||||
| 
						 | 
					@ -487,8 +488,12 @@ public class XmppConnectionService extends Service {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		message.setCounterpart(conversation.getNextCounterpart());
 | 
							message.setCounterpart(conversation.getNextCounterpart());
 | 
				
			||||||
		message.setType(Message.TYPE_FILE);
 | 
							message.setType(Message.TYPE_FILE);
 | 
				
			||||||
		AttachFileToConversationRunnable runnable = new AttachFileToConversationRunnable(this,uri,message,callback);
 | 
							final AttachFileToConversationRunnable runnable = new AttachFileToConversationRunnable(this,uri,message,callback);
 | 
				
			||||||
		mFileAddingExecutor.execute(runnable);
 | 
							if (runnable.isVideoMessage()) {
 | 
				
			||||||
 | 
								mVideoCompressionExecutor.execute(runnable);
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								mFileAddingExecutor.execute(runnable);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public void attachImageToConversation(final Conversation conversation, final Uri uri, final UiCallback<Message> callback) {
 | 
						public void attachImageToConversation(final Conversation conversation, final Uri uri, final UiCallback<Message> callback) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue