Merge pull request #2831 from nextcloud/removefilesdialog-cleanup

dialog: Removed unused RemoveFileDialogFragment class.
This commit is contained in:
Tobias Kaminsky 2018-07-18 10:57:34 +02:00 committed by GitHub
commit 0a13c192f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,146 +0,0 @@
/**
* 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,
* 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 <http://www.gnu.org/licenses/>.
*
*/
package com.owncloud.android.ui.dialog;
/**
* Dialog requiring confirmation before removing a given OCFile.
*
* Triggers the removal according to the user response.
*/
import android.app.Dialog;
import android.os.Bundle;
import com.owncloud.android.R;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.ui.activity.ComponentsGetter;
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
import java.util.ArrayList;
import java.util.List;
public class RemoveFileDialogFragment extends ConfirmationDialogFragment
implements ConfirmationDialogFragmentListener {
private OCFile mTargetFile;
private static final String ARG_TARGET_FILE = "TARGET_FILE";
/**
* Public factory method to create new RemoveFileDialogFragment instances.
*
* @param file File to remove.
* @return Dialog ready to show.
*/
public static RemoveFileDialogFragment newInstance(OCFile file) {
RemoveFileDialogFragment frag = new RemoveFileDialogFragment();
Bundle args = new Bundle();
int messageStringId = R.string.confirmation_remove_file_alert;
int localRemoveButton = (!file.isAvailableOffline() && (file.isFolder() || file.isDown())) ?
R.string.confirmation_remove_local : -1;
if (file.isFolder()) {
messageStringId = R.string.confirmation_remove_folder_alert;
}
args.putInt(ARG_MESSAGE_RESOURCE_ID, messageStringId);
args.putStringArray(ARG_MESSAGE_ARGUMENTS, new String[]{file.getFileName()});
args.putInt(ARG_POSITIVE_BTN_RES, R.string.common_yes);
args.putInt(ARG_NEUTRAL_BTN_RES, R.string.common_no);
args.putInt(ARG_NEGATIVE_BTN_RES, localRemoveButton);
args.putParcelable(ARG_TARGET_FILE, file);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
mTargetFile = getArguments().getParcelable(ARG_TARGET_FILE);
setOnConfirmationListener(this);
return dialog;
}
/**
* Performs the removal of the target file, both locally and in the server.
*/
@Override
public void onConfirmation(String callerTag) {
ComponentsGetter cg = (ComponentsGetter)getActivity();
FileDataStorageManager storageManager = cg.getStorageManager();
if (storageManager.getFileById(mTargetFile.getFileId()) != null) {
ArrayList<OCFile> list = new ArrayList<>();
list.add(mTargetFile);
cg.getFileOperationsHelper().removeFiles(list, false, false);
}
}
/**
* Performs the removal of the local copy of the target file
*/
@Override
public void onCancel(String callerTag) {
ComponentsGetter cg = (ComponentsGetter)getActivity();
ArrayList<OCFile> list = new ArrayList<>();
list.add(mTargetFile);
cg.getFileOperationsHelper().removeFiles(list, true, false);
FileDataStorageManager storageManager = cg.getStorageManager();
boolean containsFavorite = false;
if (mTargetFile.isFolder()) {
List<OCFile> files = storageManager.getFolderContent(mTargetFile, false);
for(OCFile file: files) {
containsFavorite = file.isAvailableOffline() || containsFavorite;
if (containsFavorite) {
break;
}
}
}
// Remove etag for parent, if file is a favorite
// or is a folder and contains favorite
if (mTargetFile.isAvailableOffline() || containsFavorite) {
OCFile folder = null;
if (mTargetFile.isFolder()) {
folder = mTargetFile;
} else {
folder = storageManager.getFileById(mTargetFile.getParentId());
}
folder.setEtag("");
storageManager.saveFile(folder);
}
}
@Override
public void onNeutral(String callerTag) {
// nothing to do here
}
}