X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/6c32365704be635c38e0a338b727643fa76120f5..52bd01bcedf1b8f13c49b67ee40a848bae1a9d40:/src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java diff --git a/src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java b/src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java index d0407c8b..62c5f46b 100644 --- a/src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java +++ b/src/com/owncloud/android/ui/activity/ConflictsResolveActivity.java @@ -1,6 +1,26 @@ +/* ownCloud Android client application + * Copyright (C) 2012 Bartek Przybylski + * Copyright (C) 2012-2013 ownCloud Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + package com.owncloud.android.ui.activity; import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.owncloud.android.Log_OC; +import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.services.FileUploader; import com.owncloud.android.ui.dialog.ConflictsResolveDialog; import com.owncloud.android.ui.dialog.ConflictsResolveDialog.Decision; @@ -9,25 +29,37 @@ import com.owncloud.android.ui.dialog.ConflictsResolveDialog.OnConflictDecisionM import android.accounts.Account; import android.content.Intent; import android.os.Bundle; -import android.util.Log; +/** + * Wrapper activity which will be launched if keep-in-sync file will be modified by external + * application. + * + * @author Bartek Przybylski + * + */ public class ConflictsResolveActivity extends SherlockFragmentActivity implements OnConflictDecisionMadeListener { + public static final String EXTRA_FILE = "FILE"; + public static final String EXTRA_ACCOUNT = "ACCOUNT"; + private String TAG = ConflictsResolveActivity.class.getSimpleName(); - private String mRemotePath; + //private String mRemotePath; - private String mLocalPath; + //private String mLocalPath; + private OCFile mFile; private Account mOCAccount; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mRemotePath = getIntent().getStringExtra("remotepath"); - mLocalPath = getIntent().getStringExtra("localpath"); - mOCAccount = getIntent().getParcelableExtra("account"); - ConflictsResolveDialog d = ConflictsResolveDialog.newInstance(mRemotePath, this); + + //mRemotePath = getIntent().getStringExtra("remotepath"); + //mLocalPath = getIntent().getStringExtra("localpath"); + mFile = getIntent().getParcelableExtra(EXTRA_FILE); + mOCAccount = getIntent().getParcelableExtra(EXTRA_ACCOUNT); + ConflictsResolveDialog d = ConflictsResolveDialog.newInstance(mFile.getRemotePath(), this); d.showDialog(this); } @@ -37,18 +69,20 @@ public class ConflictsResolveActivity extends SherlockFragmentActivity implement switch (decision) { case CANCEL: + finish(); return; case OVERWRITE: i.putExtra(FileUploader.KEY_FORCE_OVERWRITE, true); - case KEEP_BOTH: // fallthrough + break; + case KEEP_BOTH: + i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_MOVE); break; default: - Log.wtf(TAG, "Unhandled conflict decision " + decision); + Log_OC.wtf(TAG, "Unhandled conflict decision " + decision); return; } i.putExtra(FileUploader.KEY_ACCOUNT, mOCAccount); - i.putExtra(FileUploader.KEY_REMOTE_FILE, mRemotePath); - i.putExtra(FileUploader.KEY_LOCAL_FILE, mLocalPath); + i.putExtra(FileUploader.KEY_FILE, mFile); i.putExtra(FileUploader.KEY_UPLOAD_TYPE, FileUploader.UPLOAD_SINGLE_FILE); startService(i);