+ 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();
+ }
+ startMediaPreview(file, startPlaybackPosition, autoplay, onOrientationChange);
+ }
+
+ } else {
+ // automatic download, preview on finish
+ startDownloadForPreview(file, onOrientationChange);
+
+ }
+ } else {
+ // details view
+ startDetails(file, onOrientationChange);
+ }
+ }
+
+ private void startPreviewImage(OCFile file) {
+ Intent showDetailsIntent = new Intent(this, PreviewImageActivity.class);
+ showDetailsIntent.putExtra(FileDetailFragment.EXTRA_FILE, file);
+ showDetailsIntent.putExtra(FileDetailFragment.EXTRA_ACCOUNT, AccountUtils.getCurrentOwnCloudAccount(this));
+ startActivity(showDetailsIntent);
+ }
+
+ private void startMediaPreview(OCFile file, int startPlaybackPosition, boolean autoplay, boolean onOrientationChange) {
+ if (mDualPane && !onOrientationChange) {