X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/563e6cbdad4dc183f95e18fb254e4a97efbb9a26..a99a28cc61d48eca63803c3d661ea1be14f99aec:/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java?ds=inline diff --git a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java index 33ad1cc1..dc32ecc0 100644 --- a/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java +++ b/src/com/owncloud/android/files/InstantUploadBroadcastReceiver.java @@ -34,6 +34,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.database.Cursor; import android.net.ConnectivityManager; import android.net.NetworkInfo.State; @@ -125,9 +126,34 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { 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); + + // instant upload behaviour + i = addInstantUploadBehaviour(i, context); + context.startService(i); } + private Intent addInstantUploadBehaviour(Intent i, Context context){ + SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(context); + String behaviour = appPreferences.getString("prefs_instant_behaviour", "NOTHING"); + + if (behaviour.equalsIgnoreCase("NOTHING")) { + Log_OC.d(TAG, "upload file and do nothing"); + i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_FORGET); + } else if (behaviour.equalsIgnoreCase("COPY")) { + i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_COPY); + Log_OC.d(TAG, "upload file and copy file to oc folder"); + } else if (behaviour.equalsIgnoreCase("MOVE")) { + i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_MOVE); + Log_OC.d(TAG, "upload file and move file to oc folder"); + } else if (behaviour.equalsIgnoreCase("DELETE")){ + i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_REMOVE); + Log_OC.d(TAG, "upload file and delete file in original place"); + } + + return i; + } + private void handleNewVideoAction(Context context, Intent intent) { Cursor c = null; String file_path = null; @@ -178,6 +204,10 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { 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); + + // instant upload behaviour + i = addInstantUploadBehaviour(i, context); + context.startService(i); } @@ -188,6 +218,19 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { return; } + if (instantPictureUploadViaWiFiOnly(context) && !isConnectedViaWiFi(context)){ + Account account = AccountUtils.getCurrentOwnCloudAccount(context); + if (account == null) { + Log_OC.w(TAG, "No owncloud account found for instant upload, aborting"); + return; + } + + Intent i = new Intent(context, FileUploader.class); + i.putExtra(FileUploader.KEY_ACCOUNT, account); + i.putExtra(FileUploader.KEY_CANCEL_ALL, true); + context.startService(i); + } + if (!intent.hasExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY) && isOnline(context) && (!instantUploadWhenChargingOnly(context) || (instantUploadWhenChargingOnly(context) && isCharging(context))) @@ -199,6 +242,11 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { Cursor c = db.getAwaitingFiles(); if (c.moveToFirst()) { do { + if (instantPictureUploadViaWiFiOnly(context) && + !isConnectedViaWiFi(context)){ + break; + } + String account_name = c.getString(c.getColumnIndex("account")); String file_path = c.getString(c.getColumnIndex("path")); File f = new File(file_path); @@ -222,6 +270,10 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { i.putExtra(FileUploader.KEY_REMOTE_FILE, FileStorageUtils.getInstantUploadFilePath(context, f.getName())); i.putExtra(FileUploader.KEY_UPLOAD_TYPE, FileUploader.UPLOAD_SINGLE_FILE); i.putExtra(FileUploader.KEY_INSTANT_UPLOAD, true); + + // instant upload behaviour + i = addInstantUploadBehaviour(i, context); + context.startService(i); } else {