From d10cd3725698f3a6781873d34badcd620c8b6111 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Fri, 1 Jun 2012 11:35:02 -0700 Subject: [PATCH] Show files immediately after download finishes --- .../todoroo/astrid/files/FilesControlSet.java | 54 ++++++++++--------- astrid/res/values/strings-premium.xml | 1 + 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/files/FilesControlSet.java b/astrid/plugin-src/com/todoroo/astrid/files/FilesControlSet.java index 0fd52844d..04dae9233 100644 --- a/astrid/plugin-src/com/todoroo/astrid/files/FilesControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/files/FilesControlSet.java @@ -147,7 +147,6 @@ public class FilesControlSet extends PopupControlSet { } private void setupFileClickListener(View view, final Metadata m) { - final String fileType = m.containsNonNullValue(FileMetadata.FILE_TYPE) ? m.getValue(FileMetadata.FILE_TYPE) : FileMetadata.FILE_TYPE_OTHER; final String filePath = m.containsNonNullValue(FileMetadata.FILE_PATH) ? m.getValue(FileMetadata.FILE_PATH) : null; if (TextUtils.isEmpty(filePath)) { view.setOnClickListener(new OnClickListener() { @@ -162,39 +161,45 @@ public class FilesControlSet extends PopupControlSet { }, null); } }); - } else if (fileType.startsWith(FileMetadata.FILE_TYPE_AUDIO)) { + } else { view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - RecognizerApi.play(activity, m.getValue(FileMetadata.FILE_PATH), m.getValue(FileMetadata.FILE_TYPE), R.string.audio_err_playback); + showFile(m); } }); + } + } + + private void showFile(Metadata m) { + String fileType = m.containsNonNullValue(FileMetadata.FILE_TYPE) ? m.getValue(FileMetadata.FILE_TYPE) : FileMetadata.FILE_TYPE_OTHER; + String filePath = m.getValue(FileMetadata.FILE_PATH); + + if (fileType.startsWith(FileMetadata.FILE_TYPE_AUDIO)) { + RecognizerApi.play(activity, m.getValue(FileMetadata.FILE_PATH), m.getValue(FileMetadata.FILE_TYPE), R.string.audio_err_playback); } else if (fileType.startsWith(FileMetadata.FILE_TYPE_IMAGE)) { - view.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - AlertDialog image = new AlertDialog.Builder(activity).create(); - ImageView imageView = new ImageView(activity); - imageView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); - Bitmap bitmap = AndroidUtilities.readScaledBitmap(filePath); - - if (bitmap == null) { - Toast.makeText(activity, R.string.file_err_memory, Toast.LENGTH_LONG); - return; - } + AlertDialog image = new AlertDialog.Builder(activity).create(); + ImageView imageView = new ImageView(activity); + imageView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); + Bitmap bitmap = AndroidUtilities.readScaledBitmap(filePath); + + if (bitmap == null) { + Toast.makeText(activity, R.string.file_err_memory, Toast.LENGTH_LONG); + return; + } - imageView.setImageBitmap(bitmap); - image.setView(imageView); + imageView.setImageBitmap(bitmap); + image.setView(imageView); - image.setButton(activity.getString(R.string.DLG_close), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface d, int which) { - return; - } - }); - image.show(); + image.setButton(activity.getString(R.string.DLG_close), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface d, int which) { + return; } }); + image.show(); + } else { + Toast.makeText(activity, R.string.file_err_show, Toast.LENGTH_LONG); } } @@ -265,6 +270,7 @@ public class FilesControlSet extends PopupControlSet { @Override public void run() { refreshMetadata(); + showFile(m); } }); } catch (Exception e) { diff --git a/astrid/res/values/strings-premium.xml b/astrid/res/values/strings-premium.xml index d4d4e0e96..11c34ffc0 100644 --- a/astrid/res/values/strings-premium.xml +++ b/astrid/res/values/strings-premium.xml @@ -31,4 +31,5 @@ Image is too large to fit in memory Error copying file for attachment Error downloading file + Sorry, the system does not yet support this type of file