Skip to content

Commit f716b0c

Browse files
committed
Preview available when user clicks on thumbnail in file detail
1 parent 536eaac commit f716b0c

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

owncloudApp/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

+26
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
import com.owncloud.android.ui.controller.TransferProgressController;
5454
import com.owncloud.android.ui.dialog.RemoveFilesDialogFragment;
5555
import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
56+
import com.owncloud.android.ui.preview.PreviewAudioFragment;
57+
import com.owncloud.android.ui.preview.PreviewImageFragment;
58+
import com.owncloud.android.ui.preview.PreviewTextFragment;
5659
import com.owncloud.android.utils.DisplayUtils;
5760
import com.owncloud.android.utils.MimetypeIconUtil;
5861
import com.owncloud.android.utils.PreferenceUtils;
@@ -329,11 +332,33 @@ public void onClick(View v) {
329332
((FileDisplayActivity) mContainerActivity).cancelTransference(getFile());
330333
break;
331334
}
335+
case R.id.fdIcon: {
336+
displayFile(getFile());
337+
}
332338
default:
333339
Timber.e("Incorrect view clicked!");
334340
}
335341
}
336342

343+
private void displayFile(OCFile file) {
344+
if (PreviewImageFragment.canBePreviewed(file)) {
345+
// preview image - it handles the sync, if needed
346+
((FileDisplayActivity) mContainerActivity).startImagePreview(file);
347+
} else if (PreviewTextFragment.canBePreviewed(file)) {
348+
((FileDisplayActivity) mContainerActivity).startTextPreview(file);
349+
mContainerActivity.getFileOperationsHelper().syncFile(file);
350+
351+
} else if (PreviewAudioFragment.canBePreviewed(file)) {
352+
// media preview
353+
((FileDisplayActivity) mContainerActivity).startAudioPreview(file, 0);
354+
mContainerActivity.getFileOperationsHelper().syncFile(file);
355+
356+
} else {
357+
// sync file content, then open with external apps
358+
((FileDisplayActivity) mContainerActivity).startSyncThenOpen(file);
359+
}
360+
}
361+
337362
/**
338363
* Check if the fragment was created with an empty layout. An empty fragment can't show file details, must be
339364
* replaced.
@@ -424,6 +449,7 @@ private void setFiletype(OCFile file) {
424449
}
425450

426451
ImageView iv = getView().findViewById(R.id.fdIcon);
452+
iv.setOnClickListener(this);
427453

428454
if (iv != null) {
429455
Bitmap thumbnail;

owncloudApp/src/main/res/layout/file_details_fragment.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
android:layout_width="0dp"
4646
android:layout_height="0dp"
4747
android:ellipsize="end"
48-
android:paddingStart="@dimen/standard_margin"
4948
android:gravity="center_vertical"
49+
android:paddingStart="@dimen/standard_margin"
5050
android:text=""
5151
android:textAppearance="?android:attr/textAppearanceLarge"
5252
app:layout_constraintBottom_toBottomOf="@id/fdIcon"

0 commit comments

Comments
 (0)