package com.mercandalli.android.apps.files.support;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.support.v7.widget.PopupMenu;
import android.view.MenuItem;
import android.view.View;
import com.mercandalli.android.apps.files.R;
import com.mercandalli.android.apps.files.file.FileModel;
import com.mercandalli.android.library.base.dialog.DialogUtils;
import com.mercandalli.android.library.base.precondition.Preconditions;
/**
* A simple class that open a Dialog with the actions related to the {@link FileModel}.
*/
public class SupportOverflowActions implements PopupMenu.OnMenuItemClickListener {
private final Activity mActivity;
private final String mDeleteString;
private final SupportManager mSupportManager;
private SupportComment mSupportComment;
public SupportOverflowActions(final Context context) {
Preconditions.checkNotNull(context);
mActivity = (Activity) context;
mSupportManager = SupportManager.getInstance(context);
mDeleteString = context.getString(R.string.delete);
}
@Override
public boolean onMenuItemClick(final MenuItem item) {
final int itemId = item.getItemId();
switch (itemId) {
case R.id.popup_overflow_support_delete:
delete(mSupportComment);
return true;
}
return false;
}
/**
* Show the {@link AlertDialog}.
*/
public void show(
final SupportComment supportComment,
final View overflow) {
Preconditions.checkNotNull(supportComment);
mSupportComment = supportComment;
final PopupMenu popupMenu = new PopupMenu(mActivity, overflow);
popupMenu.getMenuInflater().inflate(R.menu.popup_overflow_support, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(this);
popupMenu.show();
}
//region Actions
private void delete(final SupportComment supportComment) {
DialogUtils.alert(
mActivity,
mDeleteString,
"Delete " + supportComment.getComment() + " ?",
mActivity.getResources().getString(android.R.string.yes),
new DialogUtils.OnDialogUtilsListener() {
@Override
public void onDialogUtilsCalledBack() {
mSupportManager.deleteSupportComment(supportComment);
}
},
mActivity.getResources().getString(android.R.string.no),
null);
}
//endregion Actions
}