projects
/
pub
/
Android
/
ownCloud.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://gitorious.org/owncloud/android-devel
[pub/Android/ownCloud.git]
/
src
/
eu
/
alefzero
/
owncloud
/
files
/
services
/
FileUploader.java
diff --git
a/src/eu/alefzero/owncloud/files/services/FileUploader.java
b/src/eu/alefzero/owncloud/files/services/FileUploader.java
index
5d748c9
..
9f2e3e7
100644
(file)
--- a/
src/eu/alefzero/owncloud/files/services/FileUploader.java
+++ b/
src/eu/alefzero/owncloud/files/services/FileUploader.java
@@
-1,6
+1,7
@@
package eu.alefzero.owncloud.files.services;
import java.io.File;
package eu.alefzero.owncloud.files.services;
import java.io.File;
+import java.util.List;
import eu.alefzero.owncloud.AccountUtils;
import eu.alefzero.owncloud.R;
import eu.alefzero.owncloud.AccountUtils;
import eu.alefzero.owncloud.R;
@@
-9,7
+10,6
@@
import eu.alefzero.owncloud.datamodel.FileDataStorageManager;
import eu.alefzero.owncloud.datamodel.OCFile;
import eu.alefzero.owncloud.files.interfaces.OnDatatransferProgressListener;
import eu.alefzero.owncloud.utils.OwnCloudVersion;
import eu.alefzero.owncloud.datamodel.OCFile;
import eu.alefzero.owncloud.files.interfaces.OnDatatransferProgressListener;
import eu.alefzero.owncloud.utils.OwnCloudVersion;
-import eu.alefzero.webdav.OnUploadProgressListener;
import eu.alefzero.webdav.WebdavClient;
import android.accounts.Account;
import android.accounts.AccountManager;
import eu.alefzero.webdav.WebdavClient;
import android.accounts.Account;
import android.accounts.AccountManager;
@@
-32,6
+32,9
@@
import android.widget.Toast;
public class FileUploader extends Service implements OnDatatransferProgressListener {
public class FileUploader extends Service implements OnDatatransferProgressListener {
+ public static final String UPLOAD_FINISH_MESSAGE = "UPLOAD_FINISH";
+ public static final String EXTRA_PARENT_DIR_ID = "PARENT_DIR_ID";
+
public static final String KEY_LOCAL_FILE = "LOCAL_FILE";
public static final String KEY_REMOTE_FILE = "REMOTE_FILE";
public static final String KEY_ACCOUNT = "ACCOUNT";
public static final String KEY_LOCAL_FILE = "LOCAL_FILE";
public static final String KEY_REMOTE_FILE = "REMOTE_FILE";
public static final String KEY_ACCOUNT = "ACCOUNT";
@@
-167,10
+170,18
@@
public class FileUploader extends Service implements OnDatatransferProgressListe
Log.d(TAG, "Will upload " + mTotalDataToSend + " bytes, with " + mLocalPaths.length + " files");
for (int i = 0; i < mLocalPaths.length; ++i) {
Log.d(TAG, "Will upload " + mTotalDataToSend + " bytes, with " + mLocalPaths.length + " files");
for (int i = 0; i < mLocalPaths.length; ++i) {
- String mimeType = MimeTypeMap.getSingleton()
- .getMimeTypeFromExtension(
- mLocalPaths[i].substring(mLocalPaths[i]
+
+ String mimeType;
+ try {
+ mimeType = MimeTypeMap.getSingleton()
+ .getMimeTypeFromExtension(
+ mLocalPaths[i].substring(mLocalPaths[i]
.lastIndexOf('.') + 1));
.lastIndexOf('.') + 1));
+ } catch (IndexOutOfBoundsException e) {
+ Log.e(TAG, "Trying to find out MIME type of a file without extension: " + mLocalPaths[i]);
+ mimeType = "application/octet-stream";
+ }
+
mResult = false;
mCurrentIndexUpload = i;
if (wc.putFile(mLocalPaths[i], mRemotePaths[i], mimeType)) {
mResult = false;
mCurrentIndexUpload = i;
if (wc.putFile(mLocalPaths[i], mRemotePaths[i], mimeType)) {
@@
-182,12
+193,16
@@
public class FileUploader extends Service implements OnDatatransferProgressListe
new_file.setLastSyncDate(0);
new_file.setStoragePath(mLocalPaths[i]);
File f = new File(mRemotePaths[i]);
new_file.setLastSyncDate(0);
new_file.setStoragePath(mLocalPaths[i]);
File f = new File(mRemotePaths[i]);
- new_file.setParentId(storageManager.getFileByPath(f.getParent().endsWith("/")?f.getParent():f.getParent()+"/").getFileId());
+ long parentDirId = storageManager.getFileByPath(f.getParent().endsWith("/")?f.getParent():f.getParent()+"/").getFileId();
+ new_file.setParentId(parentDirId);
storageManager.saveFile(new_file);
storageManager.saveFile(new_file);
+
+ Intent end = new Intent(UPLOAD_FINISH_MESSAGE);
+ end.putExtra(EXTRA_PARENT_DIR_ID, parentDirId);
+ sendBroadcast(end);
}
}
+
}
}
- // notification.contentView.setProgressBar(R.id.status_progress,
- // mLocalPaths.length-1, mLocalPaths.length-1, false);
mNotificationManager.cancel(42);
run();
}
mNotificationManager.cancel(42);
run();
}