X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/e9ba0ebbfae76d20f74f296259f694844504836f..9d4ce6becd3973fb8aff57a2ac2c8b9c9df8a2ec:/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..28419e62 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,26 +23,24 @@ 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; 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 +56,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 +92,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,28 +103,27 @@ 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); + public void onCancel(String callerTag) { + ComponentsGetter cg = (ComponentsGetter)getActivity(); + cg.getFileOperationsHelper().removeFile(mTargetFile, true); FileDataStorageManager storageManager = cg.getStorageManager(); - boolean containsKeepInSync = false; + boolean containsFavorite = false; if (mTargetFile.isFolder()) { - Vector files = storageManager.getFolderContent(mTargetFile); + // TODO Enable when "On Device" is recovered ? + Vector files = storageManager.getFolderContent(mTargetFile/*, false*/); for(OCFile file: files) { - containsKeepInSync = file.keepInSync() || containsKeepInSync; + containsFavorite = file.isFavorite() || containsFavorite; - if (containsKeepInSync) + if (containsFavorite) 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) { + // Remove etag for parent, if file is a favorite + // or is a folder and contains favorite + if (mTargetFile.isFavorite() || containsFavorite) { OCFile folder = null; if (mTargetFile.isFolder()) { folder = mTargetFile; @@ -139,20 +134,10 @@ implements ConfirmationDialogFragmentListener { folder.setEtag(""); storageManager.saveFile(folder); } - - // Trigger MediaScan - triggerMediaScan(path); } @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