X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/429024cc5791f9564dbc132fca5d5bb6f8a9627d..f767bf3f01e93c52f438d256b2af15b04abecf51:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index c62a28d5..1c5cb380 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -213,17 +213,15 @@ public class FileDisplayActivity extends FileActivity implements if (mDualPane && getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG) == null) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if (mChosenFile != null) { - if (PreviewMediaFragment.canBePreviewed(mChosenFile)) { - if (mChosenFile.isDown()) { - int startPlaybackPosition = getIntent().getIntExtra(PreviewVideoActivity.EXTRA_START_POSITION, 0); - boolean autoplay = getIntent().getBooleanExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, true); - transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mChosenFile, getAccount(), startPlaybackPosition, autoplay), FileDetailFragment.FTAG); - } else { - transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + if (!mChosenFile.isDown()) { + transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + if (getIntent().getBooleanExtra(EXTRA_WAITING_TO_PREVIEW, false)) { mWaitingToPreview = mChosenFile; } - } else { - transaction.replace(R.id.file_details_container, new FileDetailFragment(mChosenFile, getAccount()), FileDetailFragment.FTAG); + } else if (PreviewMediaFragment.canBePreviewed(mChosenFile)) { + int startPlaybackPosition = getIntent().getIntExtra(PreviewVideoActivity.EXTRA_START_POSITION, 0); + boolean autoplay = getIntent().getBooleanExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, true); + transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mChosenFile, getAccount(), startPlaybackPosition, autoplay), FileDetailFragment.FTAG); } mChosenFile = null; @@ -828,9 +826,15 @@ public class FileDisplayActivity extends FileActivity implements // update the right panel if (success && waitedPreview) { mWaitingToPreview = mStorageManager.getFileById(mWaitingToPreview.getFileId()); // update the file from database, for the local storage path - FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); - transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mWaitingToPreview, getAccount(), 0, true), FileDetailFragment.FTAG); - transaction.commit(); + if (PreviewMediaFragment.canBePreviewed(mWaitingToPreview)) { + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mWaitingToPreview, getAccount(), 0, true), FileDetailFragment.FTAG); + transaction.commit(); + } else { + detailsFragment.updateFileDetails(false, (success)); + openFile(mWaitingToPreview); + + } mWaitingToPreview = null; } else { @@ -876,35 +880,40 @@ public class FileDisplayActivity extends FileActivity implements */ @Override public void onFileClick(OCFile file, boolean onOrientationChange) { - if (file != null && PreviewImageFragment.canBePreviewed(file)) { - // preview image - it handles the download, if needed - startPreviewImage(file); - - } else if (file != null && PreviewMediaFragment.canBePreviewed(file)) { - if (file.isDown()) { - // general preview - if (!onOrientationChange) { - startMediaPreview(file, 0, true, onOrientationChange); - } else { - int startPlaybackPosition = 0; - boolean autoplay = true; - Fragment fragment = getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG); - if (fragment != null && file.isVideo()) { - PreviewMediaFragment videoFragment = (PreviewMediaFragment)fragment; - startPlaybackPosition = videoFragment.getPosition(); - autoplay = videoFragment.isPlaying(); + if (file != null) { + if (PreviewImageFragment.canBePreviewed(file)) { + // preview image - it handles the download, if needed + startPreviewImage(file); + + } else if (PreviewMediaFragment.canBePreviewed(file)) { + if (file.isDown()) { + // general preview + if (!onOrientationChange) { + startMediaPreview(file, 0, true, onOrientationChange); + } else { + int startPlaybackPosition = 0; + boolean autoplay = true; + Fragment fragment = getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG); + if (fragment != null && file.isVideo()) { + PreviewMediaFragment videoFragment = (PreviewMediaFragment)fragment; + startPlaybackPosition = videoFragment.getPosition(); + autoplay = videoFragment.isPlaying(); + } + startMediaPreview(file, startPlaybackPosition, autoplay, onOrientationChange); } - startMediaPreview(file, startPlaybackPosition, autoplay, onOrientationChange); + + } else { + // automatic download, preview on finish + startDownloadForPreview(file, onOrientationChange); + } + } else if (file.isDown()) { + // details view + startDetails(file, onOrientationChange); } else { - // automatic download, preview on finish startDownloadForPreview(file, onOrientationChange); - } - } else { - // details view - startDetails(file, onOrientationChange); } }