Browse Source

dismiss pop up when edit button is clicked

pull/34/head
Thodoris1999 7 years ago
parent
commit
2da509c720
  1. 110
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java

110
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java

@ -385,71 +385,59 @@ class TopicAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
holder.userExtraInfo.setOnClickListener(null); holder.userExtraInfo.setOnClickListener(null);
} }
holder.overflowButton.setOnClickListener(new View.OnClickListener() { holder.overflowButton.setOnClickListener(view -> {
@Override //Inflates the popup menu content
public void onClick(View view) { LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//Inflates the popup menu content if (layoutInflater == null) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); return;
if (layoutInflater == null) { }
return; View popUpContent = layoutInflater.inflate(R.layout.activity_topic_overflow_menu, null);
}
View popUpContent = layoutInflater.inflate(R.layout.activity_topic_overflow_menu, null); //Creates the PopupWindow
final PopupWindow popUp = new PopupWindow(holder.overflowButton.getContext());
//Creates the PopupWindow popUp.setContentView(popUpContent);
final PopupWindow popUp = new PopupWindow(holder.overflowButton.getContext()); popUp.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
popUp.setContentView(popUpContent); popUp.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
popUp.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT); popUp.setFocusable(true);
popUp.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
popUp.setFocusable(true); popUpContent.findViewById(R.id.post_share_button).setOnClickListener(v -> {
Intent sendIntent = new Intent(Intent.ACTION_SEND);
popUpContent.findViewById(R.id.post_share_button).setOnClickListener(new View.OnClickListener() { sendIntent.setType("text/plain");
@Override sendIntent.putExtra(Intent.EXTRA_TEXT, currentPost.getPostURL());
public void onClick(View v) { context.startActivity(Intent.createChooser(sendIntent, "Share via"));
Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND); popUp.dismiss();
sendIntent.setType("text/plain"); });
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, currentPost.getPostURL());
context.startActivity(Intent.createChooser(sendIntent, "Share via"));
popUp.dismiss();
}
});
TextView deletePostButton = popUpContent.findViewById(R.id.delete_post);
if (currentPost.getPostDeleteURL() == null || currentPost.getPostDeleteURL().equals("")) {
deletePostButton.setVisibility(View.GONE);
} else {
popUpContent.findViewById(R.id.delete_post).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(holder.overflowButton.getContext())
.setTitle("Delete post")
.setMessage("Do you really want to delete this post?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
viewModel.deletePost(currentPost.getPostDeleteURL());
}
})
.setNegativeButton(android.R.string.no, null).show();
popUp.dismiss();
}
});
}
final TextView editPostButton = popUpContent.findViewById(R.id.edit_post); TextView deletePostButton = popUpContent.findViewById(R.id.delete_post);
if (currentPost.getPostDeleteURL() == null || currentPost.getPostDeleteURL().equals("")) {
deletePostButton.setVisibility(View.GONE);
} else {
popUpContent.findViewById(R.id.delete_post).setOnClickListener(v -> {
new AlertDialog.Builder(holder.overflowButton.getContext())
.setTitle("Delete post")
.setMessage("Do you really want to delete this post?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, (dialog, whichButton) ->
viewModel.deletePost(currentPost.getPostDeleteURL()))
.setNegativeButton(android.R.string.no, null).show();
popUp.dismiss();
});
}
if (viewModel.isEditingPost() || currentPost.getPostEditURL() == null || currentPost.getPostEditURL().equals("")) { final TextView editPostButton = popUpContent.findViewById(R.id.edit_post);
editPostButton.setVisibility(View.GONE);
} else {
editPostButton.setOnClickListener(v -> viewModel.prepareForEdit(position,
postsList.get(position).getPostEditURL()));
}
//Displays the popup if (viewModel.isEditingPost() || currentPost.getPostEditURL() == null || currentPost.getPostEditURL().equals("")) {
popUp.showAsDropDown(holder.overflowButton); editPostButton.setVisibility(View.GONE);
} else {
editPostButton.setOnClickListener(v -> {
viewModel.prepareForEdit(position, postsList.get(position).getPostEditURL());
popUp.dismiss();
});
} }
//Displays the popup
popUp.showAsDropDown(holder.overflowButton);
}); });
//noinspection PointlessBooleanExpression,ConstantConditions //noinspection PointlessBooleanExpression,ConstantConditions

Loading…
Cancel
Save