+ public OCFile getFile() {
+ return mFile;
+ }
+
+
+ protected void setFile(OCFile file) {
+ mFile = file;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ try {
+ mContainerActivity = (ContainerActivity) activity;
+
+ } catch (ClassCastException e) {
+ throw new ClassCastException(activity.toString() + " must implement " +
+ ContainerActivity.class.getSimpleName());
+ }
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onDetach() {
+ mContainerActivity = null;
+ super.onDetach();
+ }
+
+
+ /**
+ * Interface to implement by any Activity that includes some instance of FileListFragment
+ * Interface to implement by any Activity that includes some instance of FileFragment
+ */
+ public interface ContainerActivity extends ComponentsGetter {
+
+ /**
+ * Request the parent activity to show the details of an {@link OCFile}.
+ *
+ * @param file File to show details
+ */
+ public void showDetails(OCFile file);
+
+
+ ///// TO UNIFY IN A SINGLE CALLBACK METHOD - EVENT NOTIFICATIONs -> something happened
+ // inside the fragment, MAYBE activity is interested --> unify in notification method
+ /**
+ * Callback method invoked when a the user browsed into a different folder through the
+ * list of files
+ *
+ * @param folder
+ */
+ public void onBrowsedDownTo(OCFile folder);
+
+ /**
+ * Callback method invoked when a the 'transfer state' of a file changes.
+ *
+ * This happens when a download or upload is started or ended for a file.
+ *
+ * This method is necessary by now to update the user interface of the double-pane layout
+ * in tablets because methods {@link FileDownloaderBinder#isDownloading(Account, OCFile)}
+ * and {@link FileUploaderBinder#isUploading(Account, OCFile)}
+ * won't provide the needed response before the method where this is called finishes.
+ *
+ * TODO Remove this when the transfer state of a file is kept in the database
+ * (other thing TODO)
+ *
+ * @param file OCFile which state changed.
+ * @param downloading Flag signaling if the file is now downloading.
+ * @param uploading Flag signaling if the file is now uploading.
+ */
+ public void onTransferStateChanged(OCFile file, boolean downloading, boolean uploading);
+
+
+ }
+