|
@@ -62,7 +62,8 @@ import com.owncloud.android.lib.common.utils.Log_OC;
|
|
|
import com.owncloud.android.operations.RefreshFolderOperation;
|
|
|
import com.owncloud.android.ui.activity.ConflictsResolveActivity;
|
|
|
import com.owncloud.android.ui.activity.FileActivity;
|
|
|
-import com.owncloud.android.ui.activity.UploadListActivity;
|
|
|
+import com.owncloud.android.ui.activity.FileDisplayActivity;
|
|
|
+import com.owncloud.android.ui.preview.PreviewImageFragment;
|
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
|
import com.owncloud.android.utils.MimeTypeUtil;
|
|
|
import com.owncloud.android.utils.theme.ViewThemeUtils;
|
|
@@ -760,9 +761,24 @@ public class UploadListAdapter extends SectionedRecyclerViewAdapter<SectionedVie
|
|
|
/**
|
|
|
* Open remote file.
|
|
|
*/
|
|
|
- private void onUploadedItemClick(OCUpload file) {
|
|
|
- if (parentActivity instanceof UploadListActivity uploadListActivity) {
|
|
|
- uploadListActivity.openFile(file.getRemotePath());
|
|
|
+ private void onUploadedItemClick(OCUpload upload) {
|
|
|
+ final OCFile file = parentActivity.getStorageManager().getFileByEncryptedRemotePath(upload.getRemotePath());
|
|
|
+ if (file == null){
|
|
|
+ DisplayUtils.showSnackMessage(parentActivity, R.string.error_retrieving_file);
|
|
|
+ Log_OC.i(TAG, "Could not find uploaded file on remote.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (PreviewImageFragment.canBePreviewed(file)){
|
|
|
+ //show image preview and stay in uploads tab
|
|
|
+ Intent intent = FileDisplayActivity.openFileIntent(parentActivity, parentActivity.getUser().get(), file);
|
|
|
+ parentActivity.startActivity(intent);
|
|
|
+ }else{
|
|
|
+ Intent intent = new Intent(parentActivity, FileDisplayActivity.class);
|
|
|
+ intent.setAction(Intent.ACTION_VIEW);
|
|
|
+ intent.putExtra(FileDisplayActivity.KEY_FILE_PATH, upload.getRemotePath());
|
|
|
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
|
|
+ parentActivity.startActivity(intent);
|
|
|
}
|
|
|
}
|
|
|
|