X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/b6eb63a4721fcb739252d1cc5f155152a161bcce..7d1ea9819ce0e08cf17b3d0aeef0211c8ef304c8:/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java diff --git a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java index f0c6004c..781402d9 100644 --- a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java +++ b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java @@ -1,9 +1,10 @@ /* ownCloud Android client application * Copyright (C) 2012 Bartek Przybylski + * Copyright (C) 2012-2013 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or + * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -21,7 +22,7 @@ package com.owncloud.android.files; import java.io.File; import com.owncloud.android.AccountUtils; -import com.owncloud.android.authenticator.AccountAuthenticator; +import com.owncloud.android.authentication.AccountAuthenticator; import com.owncloud.android.db.DbHandler; import com.owncloud.android.files.services.FileUploader; @@ -50,6 +51,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { + Log.d(TAG, "Received: " + intent.getAction()); if (intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION)) { handleConnectivityAction(context, intent); } else if (intent.getAction().equals(NEW_PHOTO_ACTION)) { @@ -65,7 +67,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { // remove successfull uploading, ignore rest for reupload on reconnect if (intent.getBooleanExtra(FileUploader.EXTRA_UPLOAD_RESULT, false)) { DbHandler db = new DbHandler(context); - String localPath = intent.getStringExtra(FileUploader.EXTRA_FILE_PATH); + String localPath = intent.getStringExtra(FileUploader.EXTRA_OLD_FILE_PATH); if (!db.removeIUPendingFile(localPath, intent.getStringExtra(FileUploader.ACCOUNT_NAME))) { Log.w(TAG, "Tried to remove non existing instant upload file " + localPath); @@ -86,7 +88,9 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { return; } - Cursor c = context.getContentResolver().query(intent.getData(), CONTENT_PROJECTION, null, null, null); + Cursor c = context.getContentResolver().query(intent.getData(), + CONTENT_PROJECTION, + null, null, null); if (!c.moveToFirst()) { Log.e(TAG, "Couldn't resolve given uri: " + intent.getDataString()); @@ -98,6 +102,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { String mime_type = c.getString(c.getColumnIndex(Media.MIME_TYPE)); c.close(); + Log.e(TAG, file_path+""); if (!isOnline(context) || (instantUploadViaWiFiOnly(context) && !isConnectedViaWiFi(context))) { @@ -114,12 +119,12 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { // On the other hand this might be only for dynamicly registered // broadcast receivers, needs investigation. IntentFilter filter = new IntentFilter(FileUploader.UPLOAD_FINISH_MESSAGE); - context.registerReceiver(this, filter); + context.getApplicationContext().registerReceiver(this, filter); Intent i = new Intent(context, FileUploader.class); i.putExtra(FileUploader.KEY_ACCOUNT, account); i.putExtra(FileUploader.KEY_LOCAL_FILE, file_path); - i.putExtra(FileUploader.KEY_REMOTE_FILE, INSTANT_UPLOAD_DIR + "/" + file_name); + i.putExtra(FileUploader.KEY_REMOTE_FILE, INSTANT_UPLOAD_DIR + file_name); i.putExtra(FileUploader.KEY_UPLOAD_TYPE, FileUploader.UPLOAD_SINGLE_FILE); i.putExtra(FileUploader.KEY_MIME_TYPE, mime_type); i.putExtra(FileUploader.KEY_INSTANT_UPLOAD, true); @@ -140,6 +145,8 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { DbHandler db = new DbHandler(context); Cursor c = db.getAwaitingFiles(); if (c.moveToFirst()) { + IntentFilter filter = new IntentFilter(FileUploader.UPLOAD_FINISH_MESSAGE); + context.getApplicationContext().registerReceiver(this, filter); do { String account_name = c.getString(c.getColumnIndex("account")); String file_path = c.getString(c.getColumnIndex("path"));