Skip to content

Commit e11ec32

Browse files
committed
Replaced AlertDialog with Snackbar while deleting items
1 parent 638d307 commit e11ec32

1 file changed

Lines changed: 16 additions & 19 deletions

File tree

source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import android.Manifest;
44
import android.app.Dialog;
55
import android.app.ProgressDialog;
6+
import android.content.DialogInterface;
7+
import android.support.design.widget.Snackbar;
8+
import android.support.v7.app.AlertDialog;
69
import android.content.Context;
710
import android.content.DialogInterface;
811
import android.content.Intent;
@@ -583,25 +586,19 @@ public boolean onOptionsItemSelected(MenuItem item) {
583586

584587
switch (id) {
585588
case R.id.action_delete:
586-
587-
final AlertDialog dialog = new AlertDialog.Builder(this)
588-
.setTitle(R.string.dialog_delete_title)
589-
.setMessage(R.string.dialog_delete_msg)
590-
.setPositiveButton(R.string.dialog_yes, null)
591-
.setNegativeButton(R.string.dialog_no, null)
592-
.create();
593-
dialog.show();
594-
595-
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
596-
@Override
597-
public void onClick(View v) {
598-
dialog.dismiss();
599-
selectedTemplate.deleteItem(TemplateEditor.this, selectedPosition);
600-
selectedPosition = -1;
601-
restoreSelectedView();
602-
}
603-
});
604-
589+
final int restorePosition = selectedPosition;
590+
final Object object = selectedTemplate.deleteItem(TemplateEditor.this,selectedPosition);
591+
selectedPosition = -1;
592+
restoreSelectedView();
593+
Snackbar.make(findViewById(R.id.relative_layout),
594+
R.string.snackbar_deleted_message,Snackbar.LENGTH_LONG)
595+
.setAction(R.string.snackbar_undo, new View.OnClickListener() {
596+
@Override
597+
public void onClick(View v) {
598+
selectedTemplate.restoreItem(TemplateEditor.this,restorePosition,object);
599+
Snackbar.make(v,R.string.snackbar_restored_message,Snackbar.LENGTH_LONG).show();
600+
}
601+
}).show();
605602
break;
606603
case R.id.action_edit:
607604
selectedTemplate.editItem(this, selectedPosition);

0 commit comments

Comments
 (0)