import android.widget.ArrayAdapter;\r
import android.widget.EditText;\r
import android.widget.TextView;\r
+import android.widget.Toast;\r
\r
import com.actionbarsherlock.app.ActionBar;\r
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;\r
import eu.alefzero.owncloud.datamodel.DataStorageManager;\r
import eu.alefzero.owncloud.datamodel.FileDataStorageManager;\r
import eu.alefzero.owncloud.datamodel.OCFile;\r
+import eu.alefzero.owncloud.files.services.FileDownloader;\r
import eu.alefzero.owncloud.files.services.FileUploader;\r
import eu.alefzero.owncloud.syncadapter.FileSyncService;\r
import eu.alefzero.owncloud.ui.fragment.FileDetailFragment;\r
private String[] mDirs = null;\r
\r
private DataStorageManager mStorageManager;\r
- private SyncBroadcastReceiver syncBroadcastReceiver;\r
+ private SyncBroadcastReceiver mSyncBroadcastReceiver;\r
+ private UploadFinishReceiver mUploadFinishReceiver;\r
\r
private View mLayoutView = null;\r
private FileListFragment mFileList;\r
\r
// Listen for sync messages\r
IntentFilter syncIntentFilter = new IntentFilter(FileSyncService.SYNC_MESSAGE);\r
- syncBroadcastReceiver = new SyncBroadcastReceiver();\r
- registerReceiver(syncBroadcastReceiver, syncIntentFilter);\r
+ mSyncBroadcastReceiver = new SyncBroadcastReceiver();\r
+ registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);\r
+ \r
+ // Listen for upload messages\r
+ IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.UPLOAD_FINISH_MESSAGE);\r
+ mUploadFinishReceiver = new UploadFinishReceiver();\r
+ registerReceiver(mUploadFinishReceiver, uploadIntentFilter);\r
\r
// Storage manager initialization\r
mStorageManager = new FileDataStorageManager(\r
protected void onPause() {\r
Log.i(getClass().toString(), "onPause() start");\r
super.onPause();\r
- if (syncBroadcastReceiver != null) {\r
- unregisterReceiver(syncBroadcastReceiver);\r
- syncBroadcastReceiver = null;\r
+ if (mSyncBroadcastReceiver != null) {\r
+ unregisterReceiver(mSyncBroadcastReceiver);\r
+ mSyncBroadcastReceiver = null;\r
+ }\r
+ if (mUploadFinishReceiver != null) {\r
+ unregisterReceiver(mUploadFinishReceiver);\r
+ mUploadFinishReceiver = null;\r
}\r
getIntent().putExtra(FileDetailFragment.EXTRA_FILE, mCurrentDir);\r
Log.i(getClass().toString(), "onPause() end");\r
\r
@Override\r
public void run() {\r
- WebdavClient wdc = new WebdavClient(Uri.parse(mAm.getUserData(\r
- mAccount, AccountAuthenticator.KEY_OC_URL)));\r
+ WebdavClient wdc = new WebdavClient(mAccount, getApplicationContext());\r
\r
String username = mAccount.name.substring(0,\r
mAccount.name.lastIndexOf('@'));\r
Log.d("FileDisplay", "sync of account " + account_name\r
+ " is in_progress: " + inProgress);\r
setSupportProgressBarIndeterminateVisibility(inProgress);\r
+ \r
+ long OCDirId = intent.getLongExtra(FileSyncService.SYNC_FOLDER, -1);\r
+ if (OCDirId > 0) {\r
+ OCFile syncDir = mStorageManager.getFileById(OCDirId);\r
+ if (syncDir != null && (\r
+ (mCurrentDir == null && syncDir.getFileName().equals("/")) ||\r
+ syncDir.equals(mCurrentDir))\r
+ ) {\r
+ FileListFragment fileListFragment = (FileListFragment) getSupportFragmentManager().findFragmentById(R.id.fileList);\r
+ if (fileListFragment != null) { \r
+ fileListFragment.listDirectory();\r
+ }\r
+ }\r
+ }\r
+ \r
if (!inProgress) {\r
FileListFragment fileListFragment = (FileListFragment) getSupportFragmentManager()\r
.findFragmentById(R.id.fileList);\r
}\r
\r
}\r
+ \r
+\r
+ private class UploadFinishReceiver extends BroadcastReceiver {\r
+ /**\r
+ * Once the file upload has finished -> update view\r
+ * @author David A. Velasco\r
+ * {@link BroadcastReceiver} to enable upload feedback in UI\r
+ */\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ long parentDirId = intent.getLongExtra(FileUploader.EXTRA_PARENT_DIR_ID, -1);\r
+ OCFile parentDir = mStorageManager.getFileById(parentDirId);\r
+ \r
+ if (parentDir != null && (\r
+ (mCurrentDir == null && parentDir.getFileName().equals("/")) ||\r
+ parentDir.equals(mCurrentDir))\r
+ ) {\r
+ FileListFragment fileListFragment = (FileListFragment) getSupportFragmentManager().findFragmentById(R.id.fileList);\r
+ if (fileListFragment != null) { \r
+ fileListFragment.listDirectory();\r
+ }\r
+ }\r
+ }\r
+ \r
+ }\r
\r
+ \r
@Override\r
public void onClick(View v) {\r
if (v.getId() == R.id.setup_account) {\r