public class FileDetailFragment extends SherlockFragment implements\r
OnClickListener {\r
\r
- public static final String FILE = "FILE";\r
+ public static final String EXTRA_FILE = "FILE";\r
\r
private DownloadFinishReceiver mDownloadFinishReceiver;\r
private Intent mIntent;\r
mDownloadFinishReceiver = null;\r
}\r
\r
+ @Override\r
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
+ Bundle savedInstanceState) {\r
+ View view = null;\r
+ view = inflater.inflate(mLayout, container, false);\r
+ mView = view;\r
+ if(mLayout == R.layout.file_details_fragment){\r
+ // Phones will launch an activity with this intent\r
+ if(mIntent == null){\r
+ mIntent = getActivity().getIntent();\r
+ }\r
+ updateFileDetails();\r
+ }\r
+ \r
+ return view;\r
+ }\r
+\r
+ @Override\r
+ public View getView() {\r
+ return super.getView() == null ? mView : super.getView();\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View v) {\r
+ Toast.makeText(getActivity(), "Downloading", Toast.LENGTH_LONG).show();\r
+ Intent i = new Intent(getActivity(), FileDownloader.class);\r
+ i.putExtra(FileDownloader.EXTRA_ACCOUNT,\r
+ mIntent.getParcelableExtra(FileDownloader.EXTRA_ACCOUNT));\r
+ i.putExtra(FileDownloader.EXTRA_FILE_PATH, mFile.getPath());\r
+ getActivity().startService(i);\r
+ }\r
+\r
+ /**\r
+ * Can be used to get the file that is currently being displayed.\r
+ * @return The file on the screen.\r
+ */\r
+ public OCFile getDisplayedFile(){\r
+ return mFile;\r
+ }\r
+ \r
/**\r
* Use this method to signal this Activity that it shall update its view.\r
* \r
* this file The intent needs to have these extras:\r
* <p>\r
* \r
- * {@link FileDetailFragment#FILE}: An {@link OCFile}\r
+ * {@link FileDetailFragment#EXTRA_FILE}: An {@link OCFile}\r
* {@link FileDownloader#EXTRA_ACCOUNT}: The Account that file\r
* belongs to (required for downloading)\r
*/\r
updateFileDetails();\r
}\r
\r
+ /**\r
+ * Updates the view with all relevant details about that file.\r
+ */\r
private void updateFileDetails() {\r
- mFile = mIntent.getParcelableExtra(FILE);\r
+ mFile = mIntent.getParcelableExtra(EXTRA_FILE);\r
Button downloadButton = (Button) getView().findViewById(R.id.fdDownloadBtn);\r
\r
if (mFile != null) {\r
} catch (OutOfMemoryError e) {\r
Log.e(TAG, "Out of memory occured for file with size " + mFile.getFileLength());\r
}\r
- downloadButton.setText("Open file");\r
+ downloadButton.setText(R.string.filedetails_open);\r
downloadButton.setOnClickListener(new OnClickListener() {\r
@Override\r
public void onClick(View v) {\r
}\r
}\r
\r
+ /**\r
+ * Updates the filename in view\r
+ * @param filename to set\r
+ */\r
private void setFilename(String filename) {\r
TextView tv = (TextView) getView().findViewById(R.id.fdFilename);\r
if (tv != null)\r
tv.setText(filename);\r
}\r
\r
+ /**\r
+ * Updates the MIME type in view\r
+ * @param mimetype to set\r
+ */\r
private void setFiletype(String mimetype) {\r
TextView tv = (TextView) getView().findViewById(R.id.fdType);\r
if (tv != null)\r
tv.setText(mimetype);\r
}\r
\r
+ /**\r
+ * Updates the file size in view\r
+ * @param filesize in bytes to set\r
+ */\r
private void setFilesize(long filesize) {\r
TextView tv = (TextView) getView().findViewById(R.id.fdSize);\r
if (tv != null)\r
tv.setText(DisplayUtils.bytesToHumanReadable(filesize));\r
}\r
\r
+ /**\r
+ * Updates the time that the file was created in view\r
+ * @param milliseconds Unix time to set\r
+ */\r
private void setTimeCreated(long milliseconds){\r
TextView tv = (TextView) getView().findViewById(R.id.fdCreated);\r
if(tv != null){\r
}\r
}\r
\r
+ /**\r
+ * Updates the time that the file was last modified\r
+ * @param milliseconds Unix time to set\r
+ */\r
private void setTimeModified(long milliseconds){\r
TextView tv = (TextView) getView().findViewById(R.id.fdModified);\r
if(tv != null){\r
}\r
}\r
\r
- @Override\r
- public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
- Bundle savedInstanceState) {\r
- View view = null;\r
- view = inflater.inflate(mLayout, container, false);\r
- mView = view;\r
- if(mLayout == R.layout.file_details_fragment){\r
- // Phones will launch an activity with this intent\r
- if(mIntent == null){\r
- mIntent = getActivity().getIntent();\r
- }\r
- updateFileDetails();\r
- }\r
- \r
- return view;\r
- }\r
- \r
- \r
-\r
- @Override\r
- public View getView() {\r
- return super.getView() == null ? mView : super.getView();\r
- }\r
-\r
- @Override\r
- public void onClick(View v) {\r
- Toast.makeText(getActivity(), "Downloading", Toast.LENGTH_LONG).show();\r
- Intent i = new Intent(getActivity(), FileDownloader.class);\r
- i.putExtra(FileDownloader.EXTRA_ACCOUNT,\r
- mIntent.getParcelableExtra(FileDownloader.EXTRA_ACCOUNT));\r
- i.putExtra(FileDownloader.EXTRA_FILE_PATH, mFile.getPath());\r
- getActivity().startService(i);\r
- }\r
-\r
+ /**\r
+ * Once the file download has finished -> update view\r
+ * @author Bartek Przybylski\r
+ */\r
private class DownloadFinishReceiver extends BroadcastReceiver {\r
@Override\r
public void onReceive(Context context, Intent intent) {\r