Skip to content

Commit

Permalink
permanently delete logic
Browse files Browse the repository at this point in the history
  • Loading branch information
yashwanthgajji committed Dec 1, 2024
1 parent f24f89b commit b809edc
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 12 deletions.
15 changes: 13 additions & 2 deletions app/src/main/java/com/amaze/filemanager/ui/ItemPopupMenu.java
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,19 @@ public boolean onMenuItemClick(MenuItem item) {
case R.id.delete:
ArrayList<LayoutElementParcelable> positions = new ArrayList<>();
positions.add(rowItem);
GeneralDialogCreation.deleteFilesDialog(
context, mainActivity, positions, utilitiesProvider.getAppTheme());
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
boolean deletePermanently = sharedPreferences.getBoolean(
PreferencesConstants.PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION,
PreferencesConstants.DEFAULT_PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION
);
if (deletePermanently) {
Toast.makeText(context, context.getString(R.string.deleting), Toast.LENGTH_SHORT)
.show();
mainActivity.mainActivityHelper.deleteFilesPermanently(positions);
} else {
GeneralDialogCreation.deleteFilesDialog(
context, mainActivity, positions, utilitiesProvider.getAppTheme());
}
return true;
case R.id.restore:
ArrayList<LayoutElementParcelable> p2 = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.slf4j.LoggerFactory;

import com.amaze.filemanager.R;
import com.amaze.filemanager.adapters.data.LayoutElementParcelable;
import com.amaze.filemanager.application.AppConfig;
import com.amaze.filemanager.database.TabHandler;
import com.amaze.filemanager.database.models.explorer.Tab;
Expand Down Expand Up @@ -59,6 +60,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.DecelerateInterpolator;
import android.widget.Toast;

import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
Expand Down Expand Up @@ -506,11 +508,29 @@ private void initLeftAndRightDragListeners(boolean destroy) {
new DragToTrashListener(
() -> {
if (mainFragment != null) {
GeneralDialogCreation.deleteFilesDialog(
requireContext(),
requireMainActivity(),
mainFragment.adapter.getCheckedItems(),
requireMainActivity().getAppTheme());
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(requireContext());
boolean deletePermanently = sharedPreferences.getBoolean(
PreferencesConstants.PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION,
PreferencesConstants.DEFAULT_PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION
);
if (deletePermanently) {
Toast.makeText(
requireContext(),
requireContext().getString(R.string.deleting),
Toast.LENGTH_SHORT
).show();
requireMainActivity().mainActivityHelper.deleteFilesPermanently(
mainFragment.adapter.getCheckedItems()
);
} else {
GeneralDialogCreation.deleteFilesDialog(
requireContext(),
requireMainActivity(),
mainFragment.adapter.getCheckedItems(),
requireMainActivity().getAppTheme()
);
}
} else {
AppConfig.toast(requireContext(), getString(R.string.operation_unsuccesful));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import android.widget.Toast
import androidx.appcompat.view.ActionMode
import androidx.appcompat.widget.AppCompatTextView
import androidx.drawerlayout.widget.DrawerLayout
import androidx.preference.PreferenceManager
import com.amaze.filemanager.R
import com.amaze.filemanager.adapters.data.LayoutElementParcelable
import com.amaze.filemanager.fileoperations.filesystem.OpenMode
Expand All @@ -38,6 +39,7 @@ import com.amaze.filemanager.filesystem.PasteHelper
import com.amaze.filemanager.filesystem.files.FileUtils
import com.amaze.filemanager.ui.activities.MainActivity
import com.amaze.filemanager.ui.dialogs.GeneralDialogCreation
import com.amaze.filemanager.ui.fragments.preferencefragments.PreferencesConstants
import com.amaze.filemanager.ui.selection.SelectionPopupMenu.Companion.invokeSelectionDropdown
import java.io.File
import java.lang.ref.WeakReference
Expand Down Expand Up @@ -237,12 +239,27 @@ class MainActivityActionMode(private val mainActivityReference: WeakReference<Ma
true
}
R.id.delete -> {
GeneralDialogCreation.deleteFilesDialog(
mainActivity,
mainActivity,
checkedItems,
mainActivity.utilsProvider.appTheme,
val sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(mainActivity)
val deletePermanently = sharedPreferences.getBoolean(
PreferencesConstants.PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION,
PreferencesConstants.DEFAULT_PREFERENCE_DELETE_PERMANENTLY_WITHOUT_CONFIRMATION
)
if (deletePermanently) {
Toast.makeText(
mainActivity,
mainActivity.getString(R.string.deleting),
Toast.LENGTH_SHORT
).show()
mainActivity.mainActivityHelper.deleteFilesPermanently(checkedItems)
} else {
GeneralDialogCreation.deleteFilesDialog(
mainActivity,
mainActivity,
checkedItems,
mainActivity.utilsProvider.appTheme,
)
}
true
}
R.id.restore -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

import com.afollestad.materialdialogs.MaterialDialog;
import com.amaze.filemanager.R;
import com.amaze.filemanager.adapters.data.LayoutElementParcelable;
import com.amaze.filemanager.application.AppConfig;
import com.amaze.filemanager.asynchronous.asynctasks.DeleteTask;
import com.amaze.filemanager.asynchronous.management.ServiceWatcherUtil;
Expand Down Expand Up @@ -685,6 +686,15 @@ public void deleteFiles(ArrayList<HybridFileParcelable> files, boolean doDeleteP
else Toast.makeText(mainActivity, R.string.not_allowed, Toast.LENGTH_SHORT).show();
}

public void deleteFilesPermanently(ArrayList<LayoutElementParcelable> files) {
final ArrayList<HybridFileParcelable> itemsToDelete = new ArrayList<>();
for (int i = 0; i < files.size(); i++) {
final LayoutElementParcelable layoutElement = files.get(i);
itemsToDelete.add(layoutElement.generateBaseFile());
}
deleteFiles(itemsToDelete, true);
}

public void extractFile(@NonNull File file) {
final File parent = file.getParentFile();
if (parent == null) {
Expand Down

0 comments on commit b809edc

Please sign in to comment.