Ejemplo n.º 1
0
 /// <summary>
 /// Unblock the currently viewed user
 /// </summary>
 /// <param name="sender">The object that invoked the event</param>
 /// <param name="e">The event arguments</param>
 async void MUnblock_Click(object sender, EventArgs e)
 {
     //Try to unblock the user
     if (await Deleter.DeleteObject(URLs.serverURL + URLs.blacklist_user + "/" + MainActivity.credentials.username + "/" + profile.username + "/" + MainActivity.credentials.token))
     {
         Toast.MakeText(this, "Successfully unblocked user!", ToastLength.Short).Show();
     }
     else
     {
         Toast.MakeText(this, "Unable to unblock user", ToastLength.Short).Show();
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Performs the desired action of each menu item when
        /// selected from the drop down menu list.
        /// </summary>
        /// <param name="item">Selected menu item.</param>
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            Dialog dialog = null;

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

            //Choose which action to do: Logout, View Messages, Leave Group, Edit Profile, Delete Account
            switch (item.ItemId)
            {
            case Resource.Id.logout:
                // Create the logout confirmation dialog
                builder.SetMessage(Resource.String.logout_question)
                .SetCancelable(false)
                .SetPositiveButton(Resource.String.yes, (senderAlert, args) =>
                {
                    //Send the logout request to the server
                    Deleter.DeleteObject(MainActivity.serverURL + MainActivity.login_ext + "/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token);

                    userProfile         = null;
                    Intent logoutIntent = new Intent(this, typeof(MainActivity));
                    logoutIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
                    StartActivity(logoutIntent);
                })
                .SetNegativeButton(Resource.String.no, (senderAlert, args) => { });

                //Build and show the logout dialog
                dialog = builder.Create();
                dialog.Show();
                return(true);

            case Resource.Id.viewMessages:
                // Start ViewMessagesActivity
                StartActivity(typeof(ViewInbox));
                return(true);

            case Resource.Id.leaveGroup:
                // Create the leave group confirmation dialog
                builder.SetMessage(Resource.String.leave_group_question)
                .SetCancelable(false)
                .SetPositiveButton(Resource.String.yes, (senderAlert, args) =>
                {
                    //Tell the server to remove the user from their current group
                    Deleter.DeleteObject(MainActivity.serverURL + MainActivity.user_group + "/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token);
                })
                .SetNegativeButton(Resource.String.no, (senderAlert, args) => { });

                //Build and show the leave group dialog
                dialog = builder.Create();
                dialog.Show();
                return(true);

            case Resource.Id.editProfile:
                // Pass profile object and start EditProfileActivity
                Intent editIntent       = new Intent(this, typeof(EditProfileActivity));
                var    serializedObject = JsonConvert.SerializeObject(userProfile);
                editIntent.PutExtra("UserProfile", serializedObject);
                StartActivity(editIntent);
                return(true);

            case Resource.Id.deleteUser:
                // Create the delete user confirmation dialog
                builder.SetMessage(Resource.String.delete_question)
                .SetCancelable(false)
                .SetPositiveButton(Resource.String.yes, (senderAlert, args) =>
                {
                    Deleter.DeleteObject(MainActivity.serverURL + "user/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token);
                    userProfile         = null;
                    Intent deleteIntent = new Intent(this, typeof(MainActivity));
                    deleteIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
                    StartActivity(deleteIntent);
                })
                .SetNegativeButton(Resource.String.no, (senderAlert, args) => { });

                //Build and show the account deletion dialog
                dialog = builder.Create();
                dialog.Show();
                return(true);
            }
            return(base.OnOptionsItemSelected(item));
        }