+                            bmp = BitmapFactory.decodeFile(mFile.getStoragePath(), options);\r
+                        }\r
+                        preview.setImageBitmap(bmp);\r
+                    }\r
+                } catch (OutOfMemoryError e) {\r
+                    preview.setVisibility(View.INVISIBLE);\r
+                    Log.e(TAG, "Out of memory occured for file with size " + mFile.getFileLength());\r
+                    \r
+                } catch (NoSuchFieldError e) {\r
+                    preview.setVisibility(View.INVISIBLE);\r
+                    Log.e(TAG, "Error from access to unexisting field despite protection " + mFile.getFileLength());\r
+                    \r
+                } catch (Throwable t) {\r
+                    preview.setVisibility(View.INVISIBLE);\r
+                    Log.e(TAG, "Unexpected error while creating image preview " + mFile.getFileLength(), t);\r
+                }\r
+                downloadButton.setText(R.string.filedetails_open);\r
+                downloadButton.setOnClickListener(new OnClickListener() {\r
+                    @Override\r
+                    public void onClick(View v) {\r
+                        String storagePath = mFile.getStoragePath();\r
+                        try {\r
+                            Intent i = new Intent(Intent.ACTION_VIEW);\r
+                            i.setDataAndType(Uri.parse("file://"+ storagePath), mFile.getMimetype());\r
+                            i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);\r
+                            startActivity(i);\r
+                            \r
+                        } catch (Throwable t) {\r
+                            Log.e(TAG, "Fail when trying to open with the mimeType provided from the ownCloud server: " + mFile.getMimetype());\r
+                            boolean toastIt = true; \r
+                            String mimeType = "";\r
+                            try {\r
+                                Intent i = new Intent(Intent.ACTION_VIEW);\r
+                                mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(storagePath.substring(storagePath.lastIndexOf('.') + 1));\r
+                                if (mimeType != mFile.getMimetype()) {\r
+                                    i.setDataAndType(Uri.parse("file://"+mFile.getStoragePath()), mimeType);\r
+                                    i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);\r
+                                    startActivity(i);\r
+                                    toastIt = false;\r
+                                }\r
+                                \r
+                            } catch (IndexOutOfBoundsException e) {\r
+                                Log.e(TAG, "Trying to find out MIME type of a file without extension: " + storagePath);\r
+                                \r
+                            } catch (ActivityNotFoundException e) {\r
+                                Log.e(TAG, "No activity found to handle: " + storagePath + " with MIME type " + mimeType + " obtained from extension");\r
+                                \r
+                            } catch (Throwable th) {\r
+                                Log.e(TAG, "Unexpected problem when opening: " + storagePath, th);\r
+                                \r
+                            } finally {\r
+                                if (toastIt) {\r
+                                    Toast.makeText(getActivity(), "There is no application to handle file " + mFile.getFileName(), Toast.LENGTH_SHORT).show();\r
+                                }\r
+                            }\r
+                            \r
+                        }\r
+                    }\r
+                });\r
+            } else {\r
+                // Make download button effective\r
+                downloadButton.setOnClickListener(this);\r
+            }\r