X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/d4a339871d8f40ccd9f086becfdd8a6c615700d9..700c9427cdc20a4ef434d8060ab318b7e2655a4f:/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java diff --git a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java index 5fd4003a..f76c2b2a 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java @@ -23,7 +23,9 @@ import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.net.Uri; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -56,6 +58,7 @@ public class FileDetailFragment extends SherlockFragment implements private int mLayout; private View mView; private OCFile mFile; + private static final String TAG = "FileDetailFragment"; /** * Default constructor - contains real layout @@ -124,6 +127,7 @@ public class FileDetailFragment extends SherlockFragment implements private void updateFileDetails() { mFile = mIntent.getParcelableExtra(FILE); + Button downloadButton = (Button) getView().findViewById(R.id.fdDownloadBtn); if (mFile != null) { // set file details @@ -131,20 +135,34 @@ public class FileDetailFragment extends SherlockFragment implements setFiletype(DisplayUtils.convertMIMEtoPrettyPrint(mFile .getMimetype())); setFilesize(mFile.getFileLength()); + setTimeCreated(mFile.getCreationTimestamp()); + setTimeModified(mFile.getModificationTimestamp()); // Update preview if (mFile.getStoragePath() != null) { - if (mFile.getMimetype().startsWith("image/")) { - ImageView preview = (ImageView) getView().findViewById( - R.id.fdPreview); - Bitmap bmp = BitmapFactory.decodeFile(mFile.getStoragePath()); - preview.setImageBitmap(bmp); + try { + if (mFile.getMimetype().startsWith("image/")) { + ImageView preview = (ImageView) getView().findViewById( + R.id.fdPreview); + Bitmap bmp = BitmapFactory.decodeFile(mFile.getStoragePath()); + preview.setImageBitmap(bmp); + } + } catch (OutOfMemoryError e) { + Log.e(TAG, "Out of memory occured for file with size " + mFile.getFileLength()); } + downloadButton.setText("Open file"); + downloadButton.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + Intent i = new Intent(Intent.ACTION_VIEW); + i.setDataAndType(Uri.parse("file://"+mFile.getStoragePath()), mFile.getMimetype()); + startActivity(i); + } + }); + } else { + // Make download button effective + downloadButton.setOnClickListener(this); } - - // Make download button effective - Button downloadButton = (Button) getView().findViewById(R.id.fdDownloadBtn); - downloadButton.setOnClickListener(this); } } @@ -163,7 +181,21 @@ public class FileDetailFragment extends SherlockFragment implements private void setFilesize(long filesize) { TextView tv = (TextView) getView().findViewById(R.id.fdSize); if (tv != null) - tv.setText(DisplayUtils.bitsToHumanReadable(filesize)); + tv.setText(DisplayUtils.bytesToHumanReadable(filesize)); + } + + private void setTimeCreated(long milliseconds){ + TextView tv = (TextView) getView().findViewById(R.id.fdCreated); + if(tv != null){ + tv.setText(DisplayUtils.unixTimeToHumanReadable(milliseconds)); + } + } + + private void setTimeModified(long milliseconds){ + TextView tv = (TextView) getView().findViewById(R.id.fdModified); + if(tv != null){ + tv.setText(DisplayUtils.unixTimeToHumanReadable(milliseconds)); + } } @Override