X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/edd38b807da409ee833dbf293255ab27252e672a..fd1704c49cfabc9607bc67d35b6f36afca0591ff:/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 c1c4d2a6..c34e79ce 100644 --- 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; +import java.net.URLDecoder; import eu.alefzero.owncloud.AccountUtils; import eu.alefzero.owncloud.R; @@ -15,6 +16,7 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.app.Notification; import android.app.NotificationManager; +import android.app.PendingIntent; import android.app.Service; import android.content.Intent; import android.net.Uri; @@ -147,7 +149,10 @@ public class FileUploader extends Service implements OnDatatransferProgressListe mNotification.contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.progressbar_layout); mNotification.contentView.setProgressBar(R.id.status_progress, 100, 0, false); mNotification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon); - + // dvelasco ; contentIntent MUST be assigned to avoid app crashes in versions previous to Android 4.x ; + // BUT an empty Intent is not a very elegant solution; something smart should happen when a user 'clicks' on an upload in the notification bar + mNotification.contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT); + mNotificationManager.notify(42, mNotification); WebdavClient wc = new WebdavClient(ocUri); @@ -171,13 +176,15 @@ public class FileUploader extends Service implements OnDatatransferProgressListe mCurrentIndexUpload = i; if (wc.putFile(mLocalPaths[i], mRemotePaths[i], mimeType)) { mResult |= true; - OCFile new_file = new OCFile(mRemotePaths[i]); + String decRemotePath = URLDecoder.decode(mRemotePaths[i]); + OCFile new_file = new OCFile(decRemotePath); // FyleSyncAdapter and this MUST use the same encoding when creating a new OCFile new_file.setMimetype(mimeType); new_file.setFileLength(new File(mLocalPaths[i]).length()); new_file.setModificationTimestamp(System.currentTimeMillis()); new_file.setLastSyncDate(0); - new_file.setStoragePath(mLocalPaths[i]); - new_file.setParentId(storageManager.getFileByPath(mRemotePaths[i].substring(0, mRemotePaths[i].lastIndexOf('/')+1)).getFileId()); + new_file.setStoragePath(mLocalPaths[i]); + File f = new File(URLDecoder.decode(mRemotePaths[i])); + new_file.setParentId(storageManager.getFileByPath(f.getParent().endsWith("/")?f.getParent():f.getParent()+"/").getFileId()); storageManager.saveFile(new_file); } }