Browse Source

fix wrong upload behaviour

tobiasKaminsky 8 years ago
parent
commit
af859dfbda

+ 3 - 3
res/values/attrs.xml

@@ -16,9 +16,9 @@
 	</string-array>
 
 	<string-array name="pref_behaviour_entryValues" translatable="false">
-		<item>NOTHING</item>
-		<item>MOVE</item>
-		<item>DELETE</item>
+		<item>LOCAL_BEHAVIOUR_FORGET</item>
+		<item>LOCAL_BEHAVIOUR_MOVE</item>
+		<item>LOCAL_BEHAVIOUR_DELETE</item>
 	</string-array>
 
 	<string-array name="upload_files_behaviour" translatable="false">

+ 5 - 3
src/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java

@@ -151,7 +151,7 @@ public class SyncedFolderPreferencesDialogFragment extends DialogFragment {
         mUploadOnChargingCheckbox.setChecked(mSyncedFolder.getChargingOnly());
         mUploadUseSubfoldersCheckbox.setChecked(mSyncedFolder.getSubfolderByDate());
 
-        mUploadBehaviorSummary.setText(mUploadBehaviorItemStrings[mSyncedFolder.getUploadAction()]);
+        mUploadBehaviorSummary.setText(mUploadBehaviorItemStrings[mSyncedFolder.getUploadActionInteger()]);
     }
 
     /**
@@ -236,11 +236,13 @@ public class SyncedFolderPreferencesDialogFragment extends DialogFragment {
                         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                         builder.setTitle(R.string.prefs_instant_behaviour_dialogTitle)
                                 .setSingleChoiceItems(getResources().getTextArray(R.array.pref_behaviour_entries),
-                                        mSyncedFolder.getUploadAction(),
+                                        mSyncedFolder.getUploadActionInteger(),
                                         new
                                                 DialogInterface.OnClickListener() {
                                                     public void onClick(DialogInterface dialog, int which) {
-                                                        mSyncedFolder.setUploadAction(which);
+                                                        mSyncedFolder.setUploadAction(
+                                                        getResources().getTextArray(
+                                                                R.array.pref_behaviour_entryValues)[which].toString());
                                                         mUploadBehaviorSummary.setText(SyncedFolderPreferencesDialogFragment
                                                                 .this.mUploadBehaviorItemStrings[which]);
                                                         dialog.dismiss();

+ 25 - 2
src/com/owncloud/android/ui/dialog/parcel/SyncedFolderParcelable.java

@@ -24,6 +24,7 @@ import android.os.Parcel;
 import android.os.Parcelable;
 
 import com.owncloud.android.datamodel.SyncedFolderDisplayItem;
+import com.owncloud.android.files.services.FileUploader;
 
 /**
  * Parcelable for {@link SyncedFolderDisplayItem} objects to transport them from/to dialog fragments.
@@ -166,8 +167,30 @@ public class SyncedFolderParcelable implements Parcelable {
         return mUploadAction;
     }
 
-    public void setUploadAction(Integer mUploadAction) {
-        this.mUploadAction = mUploadAction;
+    public Integer getUploadActionInteger() {
+        switch (mUploadAction) {
+            case FileUploader.LOCAL_BEHAVIOUR_FORGET:
+                return 0;
+            case FileUploader.LOCAL_BEHAVIOUR_MOVE:
+                return 1;
+            case FileUploader.LOCAL_BEHAVIOUR_DELETE:
+                return 2;
+        }
+        return 0;
+    }
+
+    public void setUploadAction(String mUploadAction) {
+        switch (mUploadAction) {
+            case "LOCAL_BEHAVIOUR_FORGET":
+                this.mUploadAction = FileUploader.LOCAL_BEHAVIOUR_FORGET;
+                break;
+            case "LOCAL_BEHAVIOUR_MOVE":
+                this.mUploadAction = FileUploader.LOCAL_BEHAVIOUR_MOVE;
+                break;
+            case "LOCAL_BEHAVIOUR_DELETE":
+                this.mUploadAction = FileUploader.LOCAL_BEHAVIOUR_DELETE;
+                break;
+        }
     }
 
     public long getId() {