// Path: example/src/main/java/im/getsocial/demo/dialog/action_dialog/ActionDialog.java
// public class ActionDialog {
// 	private final List<Action> _actionList;
// 	private final AlertDialog.Builder _dialog;
// 
// 	public ActionDialog(Context context) {
// 		_dialog = new AlertDialog.Builder(context)
// 				.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
// 					@Override
// 					public void onClick(DialogInterface dialogInterface, int i) {
// 						dialogInterface.dismiss();
// 					}
// 				});
// 		_actionList = new ArrayList<>();
// 	}
// 
// 	public ActionDialog addAction(Action action) {
// 		_actionList.add(action);
// 		return this;
// 	}
// 
// 	public ActionDialog addActions(List<Action> actions) {
// 		_actionList.addAll(actions);
// 		return this;
// 	}
// 
// 	public ActionDialog setTitle(String title) {
// 		_dialog.setTitle(title);
// 		return this;
// 	}
// 
// 	public void show() {
// 		List<String> items = new ArrayList<>(_actionList.size());
// 		for (Action action : _actionList) {
// 			items.add(action._title);
// 		}
// 		_dialog.setItems(items.toArray(new String[items.size()]),
// 				new DialogInterface.OnClickListener() {
// 					@Override
// 					public void onClick(DialogInterface dialogInterface, int i) {
// 						_actionList.get(i).execute();
// 						dialogInterface.dismiss();
// 					}
// 				})
// 				.show();
// 	}
// 
// 	public abstract static class Action {
// 		private final String _title;
// 
// 		public Action(String title) {
// 			_title = title;
// 		}
// 
// 		public abstract void execute();
// 	}
// 
// }
// 
// Path: example/src/main/java/im/getsocial/demo/utils/EditTextWOCopyPaste.java
// public class EditTextWOCopyPaste extends AppCompatEditText {
// 	public EditTextWOCopyPaste(Context context) {
// 		super(context);
// 		configure();
// 	}
// 
// 	public EditTextWOCopyPaste(Context context, AttributeSet attrs) {
// 		super(context, attrs);
// 		configure();
// 	}
// 
// 	public EditTextWOCopyPaste(Context context, AttributeSet attrs, int defStyleAttr) {
// 		super(context, attrs, defStyleAttr);
// 		configure();
// 	}
// 
// 	private void configure() {
// 		setCustomSelectionActionModeCallback(new ActionMode.Callback() {
// 			@Override
// 			public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
// 				return false;
// 			}
// 
// 			@Override
// 			public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
// 				return false;
// 			}
// 
// 			@Override
// 			public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
// 				return false;
// 			}
// 
// 			@Override
// 			public void onDestroyActionMode(ActionMode actionMode) {
// 				// do nothing here
// 			}
// 		});
// 		setLongClickable(false);
// 		setTextIsSelectable(false);
// 	}
// 
// }


import android.app.AlertDialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.google.android.gms.common.util.Strings;
import java.util.Collections;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import im.getsocial.demo.R;
import im.getsocial.demo.dialog.action_dialog.ActionDialog;
import im.getsocial.demo.utils.EditTextWOCopyPaste;
import im.getsocial.sdk.Callback;
import im.getsocial.sdk.Communities;
import im.getsocial.sdk.CompletionCallback;
import im.getsocial.sdk.FailureCallback;
import im.getsocial.sdk.GetSocialError;
import im.getsocial.sdk.common.PagingQuery;
import im.getsocial.sdk.common.PagingResult;
import im.getsocial.sdk.communities.ActivitiesQuery;
import im.getsocial.sdk.communities.GetSocialActivity;
                        }

                        @Override
                        public void cancel() {
                            // do nothing
                        }
                    });
                }
            });

            if (!_item.isBookmarked()) {
                dialog.addAction(new ActionDialog.Action("Bookmark") {
                    @Override
                    public void execute() {
                        FailureCallback failureCallback = error -> {
                            hideLoading();
                            _log.logErrorAndToast("Failed to add bookmark, error: " + error.getMessage());
                        };

                        Communities.bookmark(_item.getId(),
                                () -> updateActivity(_item, () -> {
                                    hideLoading();
                                    showAlert("Success", "Bookmark added");
                                }, failureCallback), failureCallback);
                    }
                });
            } else {
                dialog.addAction(new ActionDialog.Action("Remove bookmark") {
                    @Override
                    public void execute() {
// Path: example/src/main/java/im/getsocial/demo/dialog/action_dialog/ActionDialog.java
// public class ActionDialog {
// 	private final List<Action> _actionList;
// 	private final AlertDialog.Builder _dialog;
// 
// 	public ActionDialog(Context context) {
// 		_dialog = new AlertDialog.Builder(context)
// 				.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
// 					@Override
// 					public void onClick(DialogInterface dialogInterface, int i) {
// 						dialogInterface.dismiss();
// 					}
// 				});
// 		_actionList = new ArrayList<>();
// 	}
// 
// 	public ActionDialog addAction(Action action) {
// 		_actionList.add(action);
// 		return this;
// 	}
// 
// 	public ActionDialog addActions(List<Action> actions) {
// 		_actionList.addAll(actions);
// 		return this;
// 	}
// 
// 	public ActionDialog setTitle(String title) {
// 		_dialog.setTitle(title);
// 		return this;
// 	}
// 
// 	public void show() {
// 		List<String> items = new ArrayList<>(_actionList.size());
// 		for (Action action : _actionList) {
// 			items.add(action._title);
// 		}
// 		_dialog.setItems(items.toArray(new String[items.size()]),
// 				new DialogInterface.OnClickListener() {
// 					@Override
// 					public void onClick(DialogInterface dialogInterface, int i) {
// 						_actionList.get(i).execute();
// 						dialogInterface.dismiss();
// 					}
// 				})
// 				.show();
// 	}
// 
// 	public abstract static class Action {
// 		private final String _title;
// 
// 		public Action(String title) {
// 			_title = title;
// 		}
// 
// 		public abstract void execute();
// 	}
// 
// }
// 
// Path: example/src/main/java/im/getsocial/demo/utils/EditTextWOCopyPaste.java
// public class EditTextWOCopyPaste extends AppCompatEditText {
// 	public EditTextWOCopyPaste(Context context) {
// 		super(context);
// 		configure();
// 	}
// 
// 	public EditTextWOCopyPaste(Context context, AttributeSet attrs) {
// 		super(context, attrs);
// 		configure();
// 	}
// 
// 	public EditTextWOCopyPaste(Context context, AttributeSet attrs, int defStyleAttr) {
// 		super(context, attrs, defStyleAttr);
// 		configure();
// 	}
// 
// 	private void configure() {
// 		setCustomSelectionActionModeCallback(new ActionMode.Callback() {
// 			@Override
// 			public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
// 				return false;
// 			}
// 
// 			@Override
// 			public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
// 				return false;
// 			}
// 
// 			@Override
// 			public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
// 				return false;
// 			}
// 
// 			@Override
// 			public void onDestroyActionMode(ActionMode actionMode) {
// 				// do nothing here
// 			}
// 		});
// 		setLongClickable(false);
// 		setTextIsSelectable(false);
// 	}
// 
// }


// Path: example/src/main/java/im/getsocial/demo/fragment/FeedFragment.java
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.google.android.gms.common.util.Strings;
import java.util.Collections;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import im.getsocial.demo.R;
import im.getsocial.demo.dialog.action_dialog.ActionDialog;
import im.getsocial.demo.utils.EditTextWOCopyPaste;
import im.getsocial.sdk.Callback;
import im.getsocial.sdk.Communities;
import im.getsocial.sdk.CompletionCallback;
import im.getsocial.sdk.FailureCallback;
import im.getsocial.sdk.GetSocialError;
import im.getsocial.sdk.common.PagingQuery;
import im.getsocial.sdk.common.PagingResult;
import im.getsocial.sdk.communities.ActivitiesQuery;
import im.getsocial.sdk.communities.GetSocialActivity;

                        }

                        @Override
                        public void cancel() {
                            // do nothing
                        }
                    });
                }
            });

            if (!_item.isBookmarked()) {
                dialog.addAction(new ActionDialog.Action("Bookmark") {
                    @Override
                    public void execute() {
                        FailureCallback failureCallback = error -> {
                            hideLoading();
                            _log.logErrorAndToast("Failed to add bookmark, error: " + error.getMessage());
                        };

                        Communities.bookmark(_item.getId(),
                                () -> updateActivity(_item, () -> {
                                    hideLoading();
                                    showAlert("Success", "Bookmark added");
                                }, failureCallback), failureCallback);
                    }
                });
            } else {
                dialog.addAction(new ActionDialog.Action("Remove bookmark") {
                    @Override
                    public void execute() {
                        FailureCallback failureCallback = error -> {