Просмотр исходного кода

download file if "use server version"

tobiasKaminsky 9 лет назад
Родитель
Сommit
e1ab4a41aa

+ 10 - 0
src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java

@@ -23,6 +23,7 @@
 package com.owncloud.android.ui.activity;
 
 import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.files.services.FileDownloader;
 import com.owncloud.android.files.services.FileUploader;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
@@ -58,11 +59,20 @@ public class ConflictsResolveActivity extends FileActivity implements OnConflict
                 finish();
                 return;
             case OVERWRITE:
+                // use local version -> overwrite on server
                 i.putExtra(FileUploader.KEY_FORCE_OVERWRITE, true);
                 break;
             case KEEP_BOTH:
                 i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_MOVE);
                 break;
+            case SERVER:
+                // use server version -> delete local, request download
+                Intent intent = new Intent(this, FileDownloader.class);
+                intent.putExtra(FileDownloader.EXTRA_ACCOUNT, getAccount());
+                intent.putExtra(FileDownloader.EXTRA_FILE, getFile());
+                startService(intent);
+                finish();
+                return;
             default:
                 Log_OC.wtf(TAG, "Unhandled conflict decision " + decision);
                 return;

+ 3 - 2
src/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java

@@ -42,7 +42,8 @@ public class ConflictsResolveDialog extends DialogFragment {
     public static enum Decision { 
         CANCEL,
         KEEP_BOTH,
-        OVERWRITE
+        OVERWRITE,
+        SERVER
     }
     
     OnConflictDecisionMadeListener mListener;
@@ -85,7 +86,7 @@ public class ConflictsResolveDialog extends DialogFragment {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                if (mListener != null)
-                                   mListener.conflictDecisionMade(Decision.CANCEL);
+                                   mListener.conflictDecisionMade(Decision.SERVER);
                            }
                    })
                    .create();