X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/435b31ba4f3597cc7a43270cd4a54fb0180956c1..3727806652d401fbac7e4137af51fd0c38422402:/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 5dbb56eb..e4b33f12 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java @@ -29,10 +29,10 @@ import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; +import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; -import android.widget.VideoView; import com.actionbarsherlock.app.SherlockFragment; @@ -53,7 +53,7 @@ public class FileDetailFragment extends SherlockFragment implements public static final String FILE = "FILE"; private Intent mIntent; - private View mView; + //private View mView; private DownloadFinishReceiver mDownloadFinishReceiver; private OCFile mFile; @@ -73,8 +73,7 @@ public class FileDetailFragment extends SherlockFragment implements * to contain {@link FileDetailFragment#FILE} with an OCFile and also * {@link FileDownloader#EXTRA_ACCOUNT} with the account. * - * @param nonEmptyFragment - * True, to enable file detail rendering + * @param intent Intent with an account and a file in it for rendering */ public FileDetailFragment(Intent intent) { mLayout = R.layout.file_details_fragment; @@ -101,9 +100,8 @@ public class FileDetailFragment extends SherlockFragment implements /** * Use this method to signal this Activity that it shall update its view. * - * @param intent - * The {@link Intent} that contains extra information about this - * file The intent needs to have these extras: + * @param intent The {@link Intent} that contains extra information about + * this file The intent needs to have these extras: *
* * {@link FileDetailFragment#FILE}: An {@link OCFile} @@ -124,28 +122,20 @@ public class FileDetailFragment extends SherlockFragment implements setFiletype(DisplayUtils.convertMIMEtoPrettyPrint(mFile .getMimetype())); setFilesize(mFile.getFileLength()); - - // set file preview if available and possible - VideoView videoView = (VideoView) mView - .findViewById(R.id.videoView1); - videoView.setVisibility(View.INVISIBLE); - if (mFile.getPath() == null) { - ImageView imageView = (ImageView) getView().findViewById( - R.id.imageView2); - imageView.setImageResource(R.drawable.download); - imageView.setOnClickListener(this); - } else { + + // Update preview + if (mFile.getStoragePath() != null) { if (mFile.getMimetype().startsWith("image/")) { - ImageView imageView = (ImageView) mView - .findViewById(R.id.imageView2); - Bitmap bmp = BitmapFactory.decodeFile(mFile.getPath()); - imageView.setImageBitmap(bmp); - } else if (mFile.getMimetype().startsWith("video/")) { - videoView.setVisibility(View.VISIBLE); - videoView.setVideoPath(mFile.getPath()); - videoView.start(); + ImageView preview = (ImageView) getView().findViewById( + R.id.fdPreview); + Bitmap bmp = BitmapFactory.decodeFile(mFile.getStoragePath()); + preview.setImageBitmap(bmp); } } + + // Make download button effective + Button downloadButton = (Button) getView().findViewById(R.id.fdDownloadBtn); + downloadButton.setOnClickListener(this); } } @@ -153,38 +143,40 @@ public class FileDetailFragment extends SherlockFragment implements public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = null; - view = inflater.inflate(mLayout, container, false); - mIntent = getActivity().getIntent(); - mView = view; - - // make sure we are not using the empty layout - if (mEmptyLayout == false) { - updateFileDetails(); - } - return view; } @Override - public View getView() { - return mView == null ? super.getView() : mView; - }; + public void onStart() { + super.onStart(); + + // Fill in required information about file displaying + if(mIntent == null){ + mIntent = getActivity().getIntent(); + } + + // Fill in the details if the layout is not empty + if(!mEmptyLayout){ + updateFileDetails(); + } + + } private void setFilename(String filename) { - TextView tv = (TextView) getView().findViewById(R.id.textView1); + TextView tv = (TextView) getView().findViewById(R.id.fdFilename); if (tv != null) tv.setText(filename); } private void setFiletype(String mimetype) { - TextView tv = (TextView) getView().findViewById(R.id.textView2); + TextView tv = (TextView) getView().findViewById(R.id.fdType); if (tv != null) tv.setText(mimetype); } private void setFilesize(long filesize) { - TextView tv = (TextView) getView().findViewById(R.id.textView3); + TextView tv = (TextView) getView().findViewById(R.id.fdSize); if (tv != null) tv.setText(DisplayUtils.bitsToHumanReadable(filesize)); } @@ -211,8 +203,7 @@ public class FileDetailFragment extends SherlockFragment implements Intent i = new Intent(getActivity(), FileDownloader.class); i.putExtra(FileDownloader.EXTRA_ACCOUNT, mIntent.getParcelableExtra(FileDownloader.EXTRA_ACCOUNT)); - i.putExtra(FileDownloader.EXTRA_FILE_PATH, - mIntent.getStringExtra(FileDownloader.EXTRA_FILE_PATH)); + i.putExtra(FileDownloader.EXTRA_FILE_PATH, mFile.getPath()); getActivity().startService(i); }