+ 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());\r
+ }\r
+ downloadButton.setText(R.string.filedetails_open);\r
+ downloadButton.setOnClickListener(new OnClickListener() {\r
+ @Override\r
+ public void onClick(View v) {\r
+ Intent i = new Intent(Intent.ACTION_VIEW);\r
+ i.setDataAndType(Uri.parse("file://"+mFile.getStoragePath()), mFile.getMimetype());\r
+ List list = getActivity().getPackageManager().queryIntentActivities(i, PackageManager.MATCH_DEFAULT_ONLY);\r
+ if (list.size() > 0) {\r
+ startActivity(i);\r
+ } else {\r
+ Toast.makeText(getActivity(), "There is no application to handle file " + mFile.getFileName(), Toast.LENGTH_SHORT).show();\r
+ }\r
+ }\r
+ });\r
+ } else {\r
+ // Make download button effective\r
+ downloadButton.setOnClickListener(this);\r
+ }\r