private DataStorageManager mStorageManager;\r
private SyncBroadcastReceiver mSyncBroadcastReceiver;\r
private UploadFinishReceiver mUploadFinishReceiver;\r
+ private DownloadFinishReceiver mDownloadFinishReceiver;\r
\r
private View mLayoutView = null;\r
private FileListFragment mFileList;\r
IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.UPLOAD_FINISH_MESSAGE);\r
mUploadFinishReceiver = new UploadFinishReceiver();\r
registerReceiver(mUploadFinishReceiver, uploadIntentFilter);\r
+ \r
+ // Listen for download messages\r
+ IntentFilter downloadIntentFilter = new IntentFilter(FileDownloader.DOWNLOAD_FINISH_MESSAGE);\r
+ mDownloadFinishReceiver = new DownloadFinishReceiver();\r
+ registerReceiver(mDownloadFinishReceiver, downloadIntentFilter);\r
\r
// Storage manager initialization\r
mStorageManager = new FileDataStorageManager(\r
unregisterReceiver(mUploadFinishReceiver);\r
mUploadFinishReceiver = null;\r
}\r
+ if (mDownloadFinishReceiver != null) {\r
+ unregisterReceiver(mDownloadFinishReceiver);\r
+ mDownloadFinishReceiver = null;\r
+ }\r
+ \r
getIntent().putExtra(FileDetailFragment.EXTRA_FILE, mCurrentDir);\r
Log.i(getClass().toString(), "onPause() end");\r
}\r
}\r
\r
}\r
+ \r
+ \r
+ /**\r
+ * Once the file download has finished -> update view\r
+ */\r
+ private class DownloadFinishReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ boolean downloadWasFine = intent.getBooleanExtra(FileDownloader.EXTRA_DOWNLOAD_RESULT, false);\r
+ String downloadedRemotePath = intent.getStringExtra(FileDownloader.EXTRA_REMOTE_PATH);\r
+ if (downloadWasFine && mCurrentDir != null && mCurrentDir.getFileId() == mStorageManager.getFileByPath(downloadedRemotePath).getParentId()) {\r
+ FileListFragment fileListFragment = (FileListFragment) getSupportFragmentManager().findFragmentById(R.id.fileList);\r
+ if (fileListFragment != null) { \r
+ fileListFragment.listDirectory();\r
+ }\r
+ }\r
+ }\r
+ }\r
\r
\r
@Override\r