X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/fd12caf9ae88c77f98df2819d35bb3ea4994a583..HEAD:/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java diff --git a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java index eacc7267..f8310a1d 100644 --- a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java +++ b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java @@ -1,5 +1,8 @@ -/* ownCloud Android client application - * Copyright (C) 2014 ownCloud Inc. +/** + * ownCloud Android client application + * + * @author David A. Velasco + * Copyright (C) 2015 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, @@ -20,12 +23,11 @@ package com.owncloud.android.ui.dialog; /** * Dialog requiring confirmation before removing a given OCFile. * - * Triggers the removal according to the user response. - * - * @author David A. Velasco + * Triggers the removal according to the user response. */ -import java.io.File; -import java.util.Vector; + +import android.app.Dialog; +import android.os.Bundle; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -33,13 +35,11 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.ui.activity.ComponentsGetter; import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; -import android.app.Dialog; -import android.media.MediaScannerConnection; -import android.os.Bundle; - public class RemoveFileDialogFragment extends ConfirmationDialogFragment implements ConfirmationDialogFragmentListener { + private OCFile mTargetFile; + private static final String ARG_TARGET_FILE = "TARGET_FILE"; /** @@ -55,29 +55,26 @@ implements ConfirmationDialogFragmentListener { int messageStringId = R.string.confirmation_remove_alert; int posBtn = R.string.confirmation_remove_remote; - int neuBtn = -1; + int negBtn = -1; if (file.isFolder()) { messageStringId = R.string.confirmation_remove_folder_alert; posBtn = R.string.confirmation_remove_remote_and_local; - neuBtn = R.string.confirmation_remove_folder_local; + negBtn = R.string.confirmation_remove_local; } else if (file.isDown()) { posBtn = R.string.confirmation_remove_remote_and_local; - neuBtn = R.string.confirmation_remove_local; + negBtn = R.string.confirmation_remove_local; } - args.putInt(ARG_CONF_RESOURCE_ID, messageStringId); args.putStringArray(ARG_CONF_ARGUMENTS, new String[]{file.getFileName()}); args.putInt(ARG_POSITIVE_BTN_RES, posBtn); - args.putInt(ARG_NEUTRAL_BTN_RES, neuBtn); - args.putInt(ARG_NEGATIVE_BTN_RES, R.string.common_cancel); + args.putInt(ARG_NEUTRAL_BTN_RES, R.string.common_no); + args.putInt(ARG_NEGATIVE_BTN_RES, negBtn); args.putParcelable(ARG_TARGET_FILE, file); frag.setArguments(args); return frag; } - - private OCFile mTargetFile; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { @@ -94,12 +91,10 @@ implements ConfirmationDialogFragmentListener { */ @Override public void onConfirmation(String callerTag) { - ComponentsGetter cg = (ComponentsGetter)getSherlockActivity(); + ComponentsGetter cg = (ComponentsGetter)getActivity(); FileDataStorageManager storageManager = cg.getStorageManager(); if (storageManager.getFileById(mTargetFile.getFileId()) != null) { - String path = new File(mTargetFile.getStoragePath()).getParent(); cg.getFileOperationsHelper().removeFile(mTargetFile, false); - triggerMediaScan(path); } } @@ -107,52 +102,13 @@ implements ConfirmationDialogFragmentListener { * Performs the removal of the local copy of the target file */ @Override - public void onNeutral(String callerTag) { - String path = new File(mTargetFile.getStoragePath()).getParent(); - ComponentsGetter cg = (ComponentsGetter)getSherlockActivity(); - cg.getFileOperationsHelper() - .removeFile(mTargetFile, true); - - FileDataStorageManager storageManager = cg.getStorageManager(); - - boolean containsKeepInSync = false; - if (mTargetFile.isFolder()) { - Vector files = storageManager.getFolderContent(mTargetFile); - for(OCFile file: files) { - containsKeepInSync = file.keepInSync() || containsKeepInSync; - - if (containsKeepInSync) - break; - } - } - - // Remove etag for parent, if file is a keep_in_sync - // or is a folder and contains keep_in_sync - if (mTargetFile.keepInSync() || containsKeepInSync) { - OCFile folder = null; - if (mTargetFile.isFolder()) { - folder = mTargetFile; - } else { - folder = storageManager.getFileById(mTargetFile.getParentId()); - } - - folder.setEtag(""); - storageManager.saveFile(folder); - } - - // Trigger MediaScan - triggerMediaScan(path); + public void onCancel(String callerTag) { + ComponentsGetter cg = (ComponentsGetter)getActivity(); + cg.getFileOperationsHelper().removeFile(mTargetFile, true); } @Override - public void onCancel(String callerTag) { + public void onNeutral(String callerTag) { // nothing to do here } - - private void triggerMediaScan(String path){ - MediaScannerConnection.scanFile( - getActivity().getApplicationContext(), - new String[]{path}, - null,null); - } } \ No newline at end of file