use of com.cmput301w18t05.taskzilla.controller.NotificationsController in project Taskzilla by CMPUT301W18T05.
the class NotificationsFragment method onCreateView.
/**
* Initializes the fragment, and sets up listeners which checks if any notification
* on the listview has been clicked on.
*
* @param inflater The current view
* @param container
* @param savedInstanceState The state the fragment was in before switching to a new activity/fragment
* @return Current view
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
final ConstraintLayout constraintLayout = (ConstraintLayout) inflater.inflate(R.layout.fragment_notifications, container, false);
notificationList = new ArrayList<>();
notificationListView = constraintLayout.findViewById(R.id.NotificationListView);
notificationsController = new NotificationsController(this, getActivity(), currentUser.getInstance());
adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, notificationList);
notificationListView.setAdapter(adapter);
notificationListView.setClickable(true);
// get all notifications for the user currently available
notificationsController.getNotificationsRequest();
notificationListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
taskId = notificationList.get(i).getTaskID();
if (notificationsController.checkTaskExistRequest(taskId))
viewTask(taskId);
else {
AlertDialog.Builder deleteNotifcationAlert = new AlertDialog.Builder(getContext());
deleteNotifcationAlert.setTitle("Task no longer exists!");
deleteNotifcationAlert.setMessage("Do you want to remove this notification?");
deleteNotifcationAlert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
notificationsController.removeNotificationRequest(taskId, i);
dialogInterface.dismiss();
}
});
deleteNotifcationAlert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
deleteNotifcationAlert.show();
}
}
});
notificationListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
currentNotification = notificationList.get(position);
notificationId = currentNotification.getId();
AlertDialog.Builder alert = new AlertDialog.Builder(getContext());
alert.setTitle("Remove Notification?");
alert.setMessage("Are you sure you want to delete this notification?");
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// remove notification
notificationsController.removeNotificationRequest(notificationId, position);
dialogInterface.dismiss();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alert.show();
return true;
}
});
clear = constraintLayout.findViewById(R.id.clearButton);
clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder alert = new AlertDialog.Builder(getContext());
alert.setTitle("Remove Notification?");
alert.setMessage("Are you sure you want to delete all notifications?");
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// remove notification
notificationsController.removeAllNotificationRequest();
dialogInterface.dismiss();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alert.show();
}
});
return constraintLayout;
}
Aggregations