Solving modified date and length conflicts
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / ConflictsResolveActivity.java
1 package com.owncloud.android.ui.activity;
2
3 import com.actionbarsherlock.app.SherlockFragmentActivity;
4 import com.owncloud.android.files.services.FileUploader;
5 import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
6 import com.owncloud.android.ui.dialog.ConflictsResolveDialog.Decision;
7 import com.owncloud.android.ui.dialog.ConflictsResolveDialog.OnConflictDecisionMadeListener;
8
9 import android.accounts.Account;
10 import android.content.Intent;
11 import android.os.Bundle;
12 import android.util.Log;
13
14 public class ConflictsResolveActivity extends SherlockFragmentActivity implements OnConflictDecisionMadeListener {
15
16 private String TAG = ConflictsResolveActivity.class.getSimpleName();
17
18 private String mRemotePath;
19
20 private String mLocalPath;
21
22 private Account mOCAccount;
23
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 mRemotePath = getIntent().getStringExtra("remotepath");
28 mLocalPath = getIntent().getStringExtra("localpath");
29 mOCAccount = getIntent().getParcelableExtra("account");
30 ConflictsResolveDialog d = ConflictsResolveDialog.newInstance(mRemotePath, this);
31 d.showDialog(this);
32 }
33
34 @Override
35 public void ConflictDecisionMade(Decision decision) {
36 Intent i = new Intent(getApplicationContext(), FileUploader.class);
37
38 switch (decision) {
39 case CANCEL:
40 return;
41 case OVERWRITE:
42 i.putExtra(FileUploader.KEY_FORCE_OVERWRITE, true);
43 case KEEP_BOTH: // fallthrough
44 break;
45 default:
46 Log.wtf(TAG, "Unhandled conflict decision " + decision);
47 return;
48 }
49 i.putExtra(FileUploader.KEY_ACCOUNT, mOCAccount);
50 i.putExtra(FileUploader.KEY_REMOTE_FILE, mRemotePath);
51 i.putExtra(FileUploader.KEY_LOCAL_FILE, mLocalPath);
52 i.putExtra(FileUploader.KEY_UPLOAD_TYPE, FileUploader.UPLOAD_SINGLE_FILE);
53
54 startService(i);
55 finish();
56 }
57 }