mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-03 15:46:34 +02:00
Added menu to delete non-selectable folders
This commit is contained in:
@@ -90,6 +90,7 @@ public class FragmentFolders extends FragmentBase {
|
||||
static final int REQUEST_SYNC = 1;
|
||||
static final int REQUEST_DELETE_LOCAL = 2;
|
||||
static final int REQUEST_EMPTY_FOLDER = 3;
|
||||
static final int REQUEST_DELETE_FOLDER = 4;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -526,6 +527,10 @@ public class FragmentFolders extends FragmentBase {
|
||||
if (resultCode == RESULT_OK && data != null)
|
||||
onEmptyFolder(data.getBundleExtra("args"));
|
||||
break;
|
||||
case REQUEST_DELETE_FOLDER:
|
||||
if (resultCode == RESULT_OK && data != null)
|
||||
onDeleteFolder(data.getBundleExtra("args"));
|
||||
break;
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
@@ -690,6 +695,41 @@ public class FragmentFolders extends FragmentBase {
|
||||
}.execute(this, args, "folder:delete");
|
||||
}
|
||||
|
||||
private void onDeleteFolder(Bundle args) {
|
||||
new SimpleTask<Void>() {
|
||||
@Override
|
||||
protected Void onExecute(Context context, Bundle args) {
|
||||
long id = args.getLong("id");
|
||||
|
||||
EntityFolder folder;
|
||||
|
||||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
|
||||
folder = db.folder().getFolder(id);
|
||||
if (folder == null)
|
||||
return null;
|
||||
|
||||
db.folder().setFolderTbd(folder.id);
|
||||
|
||||
db.setTransactionSuccessful();
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
|
||||
ServiceSynchronize.reload(context, folder.account, false, "delete folder");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
Log.unexpectedError(getParentFragmentManager(), ex);
|
||||
}
|
||||
}.execute(this, args, "folder:delete");
|
||||
}
|
||||
|
||||
public static class FragmentDialogApply extends FragmentDialogBase {
|
||||
@NonNull
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user