|
@@ -37,12 +37,11 @@ import android.view.View.OnClickListener;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.widget.ArrayAdapter;
|
|
|
import android.widget.Button;
|
|
|
-import android.widget.RadioButton;
|
|
|
+import android.widget.Spinner;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.owncloud.android.R;
|
|
|
import com.owncloud.android.db.PreferenceManager;
|
|
|
-import com.owncloud.android.files.services.FileUploader;
|
|
|
import com.owncloud.android.lib.common.utils.Log_OC;
|
|
|
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
|
|
|
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
|
|
@@ -67,6 +66,7 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
private LocalFileListFragment mFileListFragment;
|
|
|
private Button mCancelBtn;
|
|
|
private Button mUploadBtn;
|
|
|
+ private Spinner mBehaviourSpinner;
|
|
|
private Account mAccountOnCreation;
|
|
|
private DialogFragment mCurrentDialog;
|
|
|
private Menu mOptionsMenu;
|
|
@@ -74,8 +74,10 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
public static final String EXTRA_CHOSEN_FILES =
|
|
|
UploadFilesActivity.class.getCanonicalName() + ".EXTRA_CHOSEN_FILES";
|
|
|
|
|
|
- public static final int RESULT_OK_AND_MOVE = RESULT_FIRST_USER;
|
|
|
-
|
|
|
+ public static final int RESULT_OK_AND_MOVE = RESULT_FIRST_USER;
|
|
|
+ public static final int RESULT_OK_AND_DO_NOTHING = 2;
|
|
|
+ public static final int RESULT_OK_AND_DELETE = 3;
|
|
|
+
|
|
|
private static final String KEY_DIRECTORY_PATH =
|
|
|
UploadFilesActivity.class.getCanonicalName() + ".KEY_DIRECTORY_PATH";
|
|
|
private static final String KEY_ALL_SELECTED =
|
|
@@ -84,9 +86,6 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
private static final String TAG = "UploadFilesActivity";
|
|
|
private static final String WAIT_DIALOG_TAG = "WAIT";
|
|
|
private static final String QUERY_TO_MOVE_DIALOG_TAG = "QUERY_TO_MOVE";
|
|
|
- private RadioButton mRadioBtnCopyFiles;
|
|
|
- private RadioButton mRadioBtnMoveFiles;
|
|
|
-
|
|
|
|
|
|
@Override
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
@@ -130,15 +129,13 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
|
|
|
int localBehaviour = PreferenceManager.getUploaderBehaviour(this);
|
|
|
|
|
|
- mRadioBtnMoveFiles = (RadioButton) findViewById(R.id.upload_radio_move);
|
|
|
- if (localBehaviour == FileUploader.LOCAL_BEHAVIOUR_MOVE){
|
|
|
- mRadioBtnMoveFiles.setChecked(true);
|
|
|
- }
|
|
|
-
|
|
|
- mRadioBtnCopyFiles = (RadioButton) findViewById(R.id.upload_radio_copy);
|
|
|
- if (localBehaviour == FileUploader.LOCAL_BEHAVIOUR_COPY){
|
|
|
- mRadioBtnCopyFiles.setChecked(true);
|
|
|
- }
|
|
|
+ // file upload spinner
|
|
|
+ mBehaviourSpinner = (Spinner) findViewById(R.id.upload_files_spinner_behaviour);
|
|
|
+ ArrayAdapter<CharSequence> behaviourAdapter = ArrayAdapter.createFromResource(this,
|
|
|
+ R.array.upload_files_behaviour, android.R.layout.simple_spinner_item);
|
|
|
+ behaviourAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
|
+ mBehaviourSpinner.setAdapter(behaviourAdapter);
|
|
|
+ mBehaviourSpinner.setSelection(localBehaviour);
|
|
|
|
|
|
// setup the toolbar
|
|
|
setupToolbar();
|
|
@@ -380,8 +377,9 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
if (v.getId() == R.id.upload_files_btn_cancel) {
|
|
|
setResult(RESULT_CANCELED);
|
|
|
finish();
|
|
|
-
|
|
|
- } else if (v.getId() == R.id.upload_files_btn_upload) {
|
|
|
+
|
|
|
+ } else if (v.getId() == R.id.upload_files_btn_upload &&
|
|
|
+ mBehaviourSpinner.getSelectedItemPosition() == 0) {
|
|
|
new CheckAvailableSpaceTask().execute();
|
|
|
}
|
|
|
}
|
|
@@ -441,13 +439,25 @@ public class UploadFilesActivity extends FileActivity implements
|
|
|
Intent data = new Intent();
|
|
|
data.putExtra(EXTRA_CHOSEN_FILES, mFileListFragment.getCheckedFilePaths());
|
|
|
|
|
|
- if (mRadioBtnMoveFiles.isChecked()){
|
|
|
- setResult(RESULT_OK_AND_MOVE, data);
|
|
|
- PreferenceManager.setUploaderBehaviour(getApplicationContext(), FileUploader.LOCAL_BEHAVIOUR_MOVE);
|
|
|
- } else {
|
|
|
- setResult(RESULT_OK, data);
|
|
|
- PreferenceManager.setUploaderBehaviour(getApplicationContext(), FileUploader.LOCAL_BEHAVIOUR_COPY);
|
|
|
+ // set result code
|
|
|
+ switch (mBehaviourSpinner.getSelectedItemPosition()) {
|
|
|
+ case 0: // move to nextcloud folder
|
|
|
+ setResult(RESULT_OK_AND_MOVE, data);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 1: // only upload
|
|
|
+ setResult(RESULT_OK_AND_DO_NOTHING, data);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 2: // upload and delete from source
|
|
|
+ setResult(RESULT_OK_AND_DELETE, data);
|
|
|
+ break;
|
|
|
}
|
|
|
+
|
|
|
+ // store behaviour
|
|
|
+ PreferenceManager.setUploaderBehaviour(getApplicationContext(),
|
|
|
+ mBehaviourSpinner.getSelectedItemPosition());
|
|
|
+
|
|
|
finish();
|
|
|
} else {
|
|
|
// show a dialog to query the user if wants to move the selected files
|