void DeleteList(GroceryListClass inputList, AdapterView.ItemLongClickEventArgs e)
        {
            e.View.Animate()
            .SetDuration(750)
            .Alpha(0)
            .WithEndAction(new Runnable(() =>
            {
                //local list delete
                AppData.currentLists.Remove(inputList);

                if (inputList.Owner.Uid == AppData.currentUser.Uid)
                {
                    //deleting list from cloud
                    DeleteListFromCloud.Delete(inputList);
                    ReadWrite.WriteData();
                }
                else    // if its not the current users list
                {
                    InvitationClass thisInvite = new InvitationClass()
                    {
                        Name  = inputList.Name,
                        Owner = inputList.Owner
                    };
                    RemoveInvitation.Remove(thisInvite);
                }

                groceryAdapter.NotifyDataSetChanged();

                e.View.Alpha = 1;
            }));
        }
        void NewListSave(string inputListName)
        {
            GroceryListClass newList = new GroceryListClass
            {
                Name  = inputListName,
                Items = new List <ItemClass>(),
                Owner = AppData.currentUser
            };

            AppData.currentLists.Add(newList);
            ReadWrite.WriteData();         //write offline

            SaveListOnCloud.Save(newList); //save online

            groceryAdapter.NotifyDataSetChanged();
        }
        private void DeleteListAlert(object sender, AdapterView.ItemLongClickEventArgs e)
        {
            GroceryListClass toDeleteList = AppData.currentLists[e.Position];

            AlertDialog.Builder alert = new AlertDialog.Builder(this);

            if (toDeleteList.Owner.Uid == AppData.currentUser.Uid)
            {
                alert.SetTitle("Confirm Delete");
                alert.SetMessage("Are you sure you want to delete the list " + toDeleteList.Name + "?");
            }
            else
            {
                alert.SetTitle("Remove Invitation");
                alert.SetMessage("Are you sure you want to remove this invitation from " + toDeleteList.Owner.Name + "?");
            }

            alert.SetPositiveButton("Delete", (senderAlert, eAlert) => DeleteList(toDeleteList, e));
            alert.SetNegativeButton("Cancel", (senderAlert, eAlert) => { });
            Dialog dialog = alert.Create();

            dialog.Show();
        }