Merge branch 'trz/rename' into trz/rebase

This commit is contained in:
lookshe 2016-03-20 15:14:42 +01:00
commit 50dad467ee

View file

@ -104,29 +104,7 @@ public class ResizePictureUserDecisionListener implements UserDecisionListener {
}
message.setCounterpart(conversation.getNextCounterpart());
message.setType(Message.TYPE_IMAGE);
ConversationsPlusApplication.executeFileAdding(new Runnable() {
@Override
public void run() {
try {
Bitmap resizedAndRotatedImage = ImageUtil.resizeAndRotateImage(uri);
DownloadableFile file = FileBackend.compressImageAndCopyToPrivateStorage(message, resizedAndRotatedImage);
String filePath = file.getAbsolutePath();
long imageSize = file.getSize();
int imageWidth = resizedAndRotatedImage.getWidth();
int imageHeight = resizedAndRotatedImage.getHeight();
MessageUtil.updateMessageWithImageDetails(message, filePath, imageSize, imageWidth, imageHeight);
if (conversation.getNextEncryption() == Message.ENCRYPTION_PGP) {
xmppConnectionService.getPgpEngine().encrypt(message, callback);
} else {
callback.success(message);
}
} catch (final UiException e) {
Logging.e("pictureresizesending", "Error while sending resized picture. " + e.getMessage());
callback.error(e.getResId(), message);
}
}
});
ConversationsPlusApplication.executeFileAdding(new OnYesRunnable(message, uri));
}
@Override
@ -140,46 +118,92 @@ public class ResizePictureUserDecisionListener implements UserDecisionListener {
}
message.setCounterpart(conversation.getNextCounterpart());
message.setType(Message.TYPE_IMAGE);
ConversationsPlusApplication.executeFileAdding(new Runnable() {
@Override
public void run() {
InputStream is = null;
try {
is = StreamUtil.openInputStreamFromContentResolver(uri);
long imageSize = is.available();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(is, null, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String filePath = FileUtils.getPath(uri);
MessageUtil.updateMessageWithImageDetails(message, filePath, imageSize, imageWidth, imageHeight);
if (conversation.getNextEncryption() == Message.ENCRYPTION_PGP) {
xmppConnectionService.getPgpEngine().encrypt(message, callback);
} else {
callback.success(message);
}
} catch (FileNotFoundException e) {
Logging.e("picturesending", "File not found to send not resized. " + e.getMessage());
callback.error(R.string.error_file_not_found, message);
} catch (IOException e) {
Logging.e("picturesending", "Error while sending not resized picture. " + e.getMessage());
callback.error(R.string.error_io_exception, message);
} finally {
if (null != is) {
try {
is.close();
} catch (IOException e) {
Logging.w("picturesending", "Error while closing stream for sending not resized picture. " + e.getMessage());
}
}
}
}
});
ConversationsPlusApplication.executeFileAdding(new OnNoRunnable(message, uri));
}
@Override
public void onRemember(UserDecision decision) {
ConversationsPlusPreferences.applyResizePicture(decision);
}
private abstract class OnClickRunnable implements Runnable {
protected final Message message;
protected final Uri uri;
public OnClickRunnable(Message message, Uri uri) {
this.message = message;
this.uri = uri;
}
}
private class OnNoRunnable extends OnClickRunnable {
public OnNoRunnable(Message message, Uri uri) {
super(message, uri);
}
@Override
public void run() {
InputStream is = null;
try {
is = StreamUtil.openInputStreamFromContentResolver(uri);
long imageSize = is.available();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(is, null, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String filePath = FileUtils.getPath(uri);
MessageUtil.updateMessageWithImageDetails(message, filePath, imageSize, imageWidth, imageHeight);
if (conversation.getNextEncryption() == Message.ENCRYPTION_PGP) {
xmppConnectionService.getPgpEngine().encrypt(message, callback);
} else {
callback.success(message);
}
} catch (FileNotFoundException e) {
Logging.e("picturesending", "File not found to send not resized. " + e.getMessage());
callback.error(R.string.error_file_not_found, message);
} catch (IOException e) {
Logging.e("picturesending", "Error while sending not resized picture. " + e.getMessage());
callback.error(R.string.error_io_exception, message);
} finally {
if (null != is) {
try {
is.close();
} catch (IOException e) {
Logging.w("picturesending", "Error while closing stream for sending not resized picture. " + e.getMessage());
}
}
}
}
}
private class OnYesRunnable extends OnClickRunnable {
public OnYesRunnable(Message message, Uri uri) {
super(message, uri);
}
@Override
public void run() {
try {
Bitmap resizedAndRotatedImage = ImageUtil.resizeAndRotateImage(uri);
DownloadableFile file = FileBackend.compressImageAndCopyToPrivateStorage(message, resizedAndRotatedImage);
String filePath = file.getAbsolutePath();
long imageSize = file.getSize();
int imageWidth = resizedAndRotatedImage.getWidth();
int imageHeight = resizedAndRotatedImage.getHeight();
MessageUtil.updateMessageWithImageDetails(message, filePath, imageSize, imageWidth, imageHeight);
if (conversation.getNextEncryption() == Message.ENCRYPTION_PGP) {
xmppConnectionService.getPgpEngine().encrypt(message, callback);
} else {
callback.success(message);
}
} catch (final UiException e) {
Logging.e("pictureresizesending", "Error while sending resized picture. " + e.getMessage());
callback.error(e.getResId(), message);
}
}
}
}