X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/efb3989ee67b2d7d7bb16725d7b5bfd172b5d134..1998cc68d6586c6a0b4bc4c9be42b48d17fa5ba7:/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 2a335ad2..676a12c6 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,6 +126,25 @@ 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 + 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"); + } + context.startService(i); } @@ -166,7 +186,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { if (!isOnline(context) || (instantVideoUploadViaWiFiOnly(context) && !isConnectedViaWiFi(context)) - || (instantUploadWhenChargingOnly(context) && !isCharging(context)) + || (instantVideoUploadWhenChargingOnly(context) && !isCharging(context)) ) { return; } @@ -178,6 +198,25 @@ 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 + 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"); + } + context.startService(i); } @@ -190,9 +229,10 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { if (!intent.hasExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY) && isOnline(context) - && (!instantUploadWhenChargingOnly(context) || (instantUploadWhenChargingOnly(context) == isCharging(context) == true)) - && (!instantPictureUploadViaWiFiOnly(context) || (instantPictureUploadViaWiFiOnly(context) == isConnectedViaWiFi(context) == true)) - && (!instantVideoUploadViaWiFiOnly(context) || (instantVideoUploadViaWiFiOnly(context) == isConnectedViaWiFi(context) == true)) + && (!instantUploadWhenChargingOnly(context) || (instantUploadWhenChargingOnly(context) && isCharging(context))) + && (!instantVideoUploadWhenChargingOnly(context) || (instantVideoUploadWhenChargingOnly(context) && isCharging(context))) + && (!instantPictureUploadViaWiFiOnly(context) || (instantPictureUploadViaWiFiOnly(context) && isConnectedViaWiFi(context))) + && (!instantVideoUploadViaWiFiOnly(context) || (instantVideoUploadViaWiFiOnly(context) && isConnectedViaWiFi(context))) ) { DbHandler db = new DbHandler(context); Cursor c = db.getAwaitingFiles(); @@ -221,6 +261,25 @@ 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 + 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"); + } + context.startService(i); } else { @@ -248,8 +307,11 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { public static boolean isCharging(Context context){ IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = context.registerReceiver(null, ifilter); - - int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); + + int status = 0; + if (batteryStatus != null) { + status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); + } return status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; } @@ -272,4 +334,7 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver { public static boolean instantUploadWhenChargingOnly(Context context) { return PreferenceManager.getDefaultSharedPreferences(context).getBoolean("instant_upload_on_charging", false); } + public static boolean instantVideoUploadWhenChargingOnly(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context).getBoolean("instant_video_upload_on_charging", false); + } }