Merge branch 'trz/rename' into trz/rebase
This commit is contained in:
commit
50dad467ee
1 changed files with 83 additions and 59 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue