use same helper methods for images and files

This commit is contained in:
iNPUTmice 2015-01-18 13:00:57 +01:00
parent d453e5501b
commit d58fadd05f
3 changed files with 19 additions and 61 deletions

View file

@ -487,39 +487,14 @@ public class MessageAdapter extends ArrayAdapter<Message> {
} }
}); });
if (message.getDownloadable() != null && message.getDownloadable().getStatus() != Downloadable.STATUS_UPLOADING) { final Downloadable downloadable = message.getDownloadable();
Downloadable d = message.getDownloadable(); if (downloadable != null && downloadable.getStatus() != Downloadable.STATUS_UPLOADING) {
if (d.getStatus() == Downloadable.STATUS_DOWNLOADING) { if (downloadable.getStatus() == Downloadable.STATUS_OFFER) {
if (message.getType() == Message.TYPE_FILE) { displayDownloadableMessage(viewHolder,message,activity.getString(R.string.download_x_file, UIHelper.getFileDescriptionString(activity, message)));
displayInfoMessage(viewHolder,activity.getString(R.string.receiving_x_file, } else if (downloadable.getStatus() == Downloadable.STATUS_OFFER_CHECK_FILESIZE) {
UIHelper.getFileDescriptionString(activity,message), displayDownloadableMessage(viewHolder, message, activity.getString(R.string.check_image_filesize));
d.getProgress()));
} else { } else {
displayInfoMessage(viewHolder,activity.getString(R.string.receiving_image,d.getProgress())); displayInfoMessage(viewHolder, UIHelper.getMessagePreview(activity, message).first);
}
} else if (d.getStatus() == Downloadable.STATUS_CHECKING) {
displayInfoMessage(viewHolder,activity.getString(R.string.checking_image));
} else if (d.getStatus() == Downloadable.STATUS_DELETED) {
if (message.getType() == Message.TYPE_FILE) {
displayInfoMessage(viewHolder, activity.getString(R.string.file_deleted));
} else {
displayInfoMessage(viewHolder, activity.getString(R.string.image_file_deleted));
}
} else if (d.getStatus() == Downloadable.STATUS_OFFER) {
if (message.getType() == Message.TYPE_FILE) {
displayDownloadableMessage(viewHolder,message,activity.getString(R.string.download_x_file,
UIHelper.getFileDescriptionString(activity,message)));
} else {
displayDownloadableMessage(viewHolder, message,activity.getString(R.string.download_image));
}
} else if (d.getStatus() == Downloadable.STATUS_OFFER_CHECK_FILESIZE) {
displayDownloadableMessage(viewHolder, message,activity.getString(R.string.check_image_filesize));
} else if (d.getStatus() == Downloadable.STATUS_FAILED) {
if (message.getType() == Message.TYPE_FILE) {
displayInfoMessage(viewHolder, activity.getString(R.string.file_transmission_failed));
} else {
displayInfoMessage(viewHolder, activity.getString(R.string.image_transmission_failed));
}
} }
} else if (message.getType() == Message.TYPE_IMAGE && message.getEncryption() != Message.ENCRYPTION_PGP && message.getEncryption() != Message.ENCRYPTION_DECRYPTION_FAILED) { } else if (message.getType() == Message.TYPE_IMAGE && message.getEncryption() != Message.ENCRYPTION_PGP && message.getEncryption() != Message.ENCRYPTION_DECRYPTION_FAILED) {
displayImageMessage(viewHolder, message); displayImageMessage(viewHolder, message);

View file

@ -118,33 +118,17 @@ public class UIHelper {
case Downloadable.STATUS_CHECKING: case Downloadable.STATUS_CHECKING:
return new Pair<>(context.getString(R.string.checking_image),true); return new Pair<>(context.getString(R.string.checking_image),true);
case Downloadable.STATUS_DOWNLOADING: case Downloadable.STATUS_DOWNLOADING:
if (message.getType() == Message.TYPE_FILE) {
return new Pair<>(context.getString(R.string.receiving_x_file, return new Pair<>(context.getString(R.string.receiving_x_file,
getFileDescriptionString(context,message), getFileDescriptionString(context,message),
d.getProgress()),true); d.getProgress()),true);
} else {
return new Pair<>(context.getString(R.string.receiving_image, d.getProgress()),true);
}
case Downloadable.STATUS_OFFER: case Downloadable.STATUS_OFFER:
case Downloadable.STATUS_OFFER_CHECK_FILESIZE: case Downloadable.STATUS_OFFER_CHECK_FILESIZE:
if (message.getType() == Message.TYPE_FILE) {
return new Pair<>(context.getString(R.string.x_file_offered_for_download, return new Pair<>(context.getString(R.string.x_file_offered_for_download,
getFileDescriptionString(context,message)),true); getFileDescriptionString(context,message)),true);
} else {
return new Pair<>(context.getString(R.string.image_offered_for_download),true);
}
case Downloadable.STATUS_DELETED: case Downloadable.STATUS_DELETED:
if (message.getType() == Message.TYPE_FILE) {
return new Pair<>(context.getString(R.string.file_deleted),true); return new Pair<>(context.getString(R.string.file_deleted),true);
} else {
return new Pair<>(context.getString(R.string.image_file_deleted),true);
}
case Downloadable.STATUS_FAILED: case Downloadable.STATUS_FAILED:
if (message.getType() == Message.TYPE_FILE) {
return new Pair<>(context.getString(R.string.file_transmission_failed),true); return new Pair<>(context.getString(R.string.file_transmission_failed),true);
} else {
return new Pair<>(context.getString(R.string.image_transmission_failed),true);
}
default: default:
return new Pair<>("",false); return new Pair<>("",false);
} }
@ -167,13 +151,16 @@ public class UIHelper {
} }
public static String getFileDescriptionString(final Context context, final Message message) { public static String getFileDescriptionString(final Context context, final Message message) {
if (message.getType() == Message.TYPE_IMAGE) {
return context.getString(R.string.image);
}
final String path = message.getRelativeFilePath(); final String path = message.getRelativeFilePath();
if (path == null) { if (path == null) {
return ""; return "";
} }
final String mime; final String mime;
try { try {
mime = URLConnection.guessContentTypeFromName(path); mime = URLConnection.guessContentTypeFromName(path.replace("#",""));
} catch (final StringIndexOutOfBoundsException ignored) { } catch (final StringIndexOutOfBoundsException ignored) {
return context.getString(R.string.file); return context.getString(R.string.file);
} }

View file

@ -72,7 +72,6 @@
<string name="add_contact">Add contact</string> <string name="add_contact">Add contact</string>
<string name="send_failed">delivery failed</string> <string name="send_failed">delivery failed</string>
<string name="send_rejected">rejected</string> <string name="send_rejected">rejected</string>
<string name="receiving_image">Receiving image file (%1$d%%)</string>
<string name="preparing_image">Preparing image for transmission</string> <string name="preparing_image">Preparing image for transmission</string>
<string name="action_clear_history">Clear history</string> <string name="action_clear_history">Clear history</string>
<string name="clear_conversation_history">Clear Conversation History</string> <string name="clear_conversation_history">Clear Conversation History</string>
@ -85,7 +84,6 @@
<string name="send_pgp_message">Send OpenPGP encrypted message</string> <string name="send_pgp_message">Send OpenPGP encrypted message</string>
<string name="your_nick_has_been_changed">Your nickname has been changed</string> <string name="your_nick_has_been_changed">Your nickname has been changed</string>
<string name="download_image">Download Image</string> <string name="download_image">Download Image</string>
<string name="image_offered_for_download"><i>Image file offered for download</i></string>
<string name="send_unencrypted">Send unencrypted</string> <string name="send_unencrypted">Send unencrypted</string>
<string name="decryption_failed">Decryption failed. Maybe you dont have the proper private key.</string> <string name="decryption_failed">Decryption failed. Maybe you dont have the proper private key.</string>
<string name="openkeychain_required">OpenKeychain</string> <string name="openkeychain_required">OpenKeychain</string>
@ -99,8 +97,6 @@
<string name="no_pgp_keys">No OpenPGP Keys found</string> <string name="no_pgp_keys">No OpenPGP Keys found</string>
<string name="contacts_have_no_pgp_keys">Conversations is unable to encrypt your messages because your contacts are not announcing their public key.\n\n<small>Please ask your contacts to setup OpenPGP.</small></string> <string name="contacts_have_no_pgp_keys">Conversations is unable to encrypt your messages because your contacts are not announcing their public key.\n\n<small>Please ask your contacts to setup OpenPGP.</small></string>
<string name="encrypted_message_received"><i>Encrypted message received. Touch to view and decrypt.</i></string> <string name="encrypted_message_received"><i>Encrypted message received. Touch to view and decrypt.</i></string>
<string name="encrypted_image_received"><i>Encrypted image received. Touch to view and decrypt.</i></string>
<string name="image_file"><i>Image received. Touch to view</i></string>
<string name="pref_general">General</string> <string name="pref_general">General</string>
<string name="pref_xmpp_resource">XMPP resource</string> <string name="pref_xmpp_resource">XMPP resource</string>
<string name="pref_xmpp_resource_summary">The name this client identifies itself with</string> <string name="pref_xmpp_resource_summary">The name this client identifies itself with</string>
@ -437,9 +433,9 @@
<string name="pref_enter_is_send_summary">Use enter key to send message</string> <string name="pref_enter_is_send_summary">Use enter key to send message</string>
<string name="pref_display_enter_key">Show enter key</string> <string name="pref_display_enter_key">Show enter key</string>
<string name="pref_display_enter_key_summary">Change the emoticons key to an enter key</string> <string name="pref_display_enter_key_summary">Change the emoticons key to an enter key</string>
<string name="audio">audio file</string> <string name="audio">audio</string>
<string name="video">video file</string> <string name="video">video</string>
<string name="image">image file</string> <string name="image">image</string>
<string name="pdf_document">PDF document</string> <string name="pdf_document">PDF document</string>
<string name="apk">Android App</string> <string name="apk">Android App</string>
<string name="vcard">Contact</string> <string name="vcard">Contact</string>