Example #1
0
        /*
         * Method Name: OnCreate
         * Purpose: To set up the elements on the main menu layout
         */
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.TeacherMainMenu);

            Button addNfcButton             = FindViewById <Button> (Resource.Id.addNewCard);
            Button editEventButton          = FindViewById <Button>(Resource.Id.editEvents);
            Button takePictureButton        = FindViewById <Button>(Resource.Id.takePicture);
            Button makeVoiceRecordingButton = FindViewById <Button>(Resource.Id.makeVoiceRecording);
            Button closeButton = FindViewById <Button>(Resource.Id.cancelButton);

            addNfcButton.Click += delegate
            {
                addNfcButton.SetBackgroundResource(Resource.Drawable.AddUpdateCardClicked);
                Intent addNfcIntent = new Intent(this, typeof(AddUpdateNFcCardActivity));
                StartActivity(addNfcIntent);
            };

            editEventButton.Click += delegate
            {
                editEventButton.SetBackgroundResource(Resource.Drawable.ViewEventsClicked);
                Intent editEventIntent = new Intent(this, typeof(EventListActivity));
                StartActivity(editEventIntent);
            };

            takePictureButton.Click += delegate
            {
                takePictureButton.SetBackgroundResource(Resource.Drawable.TakeAPictureButtonClicked);
                Intent takePictureIntent = new Intent(this, typeof(CameraActivity));
                takePictureIntent.PutExtra("PreviousActivity", "MainMenu");
                StartActivity(takePictureIntent);
            };

            makeVoiceRecordingButton.Click += delegate
            {
                makeVoiceRecordingButton.SetBackgroundResource(Resource.Drawable.MakeARecordingClicked);
                Intent makeVoiceRecordingIntent = new Intent(this, typeof(VoiceRecordingActivity));
                makeVoiceRecordingIntent.PutExtra("PreviousActivity", "MainMenu");
                StartActivity(makeVoiceRecordingIntent);
            };

            CancelButtonComponent cancelButton = new CancelButtonComponent(this);

            cancelButton.Get().Click += (o, e) => {
                closeButton.SetBackgroundResource(Resource.Drawable.TeacherCloseClicked);
                cancelButton.Functionality("QuickMenu", this);
            };
        }
Example #2
0
        /*
         * Method name: OnCreate
         * Purpose: Used to add functionality to the camera page
         */
        protected override void OnCreate(Bundle savedInstanceState)
        {
            //To allow the use of picture URL, found from https://stackoverflow.com/questions/39242026/fileuriexposedexception-in-android-n-with-camera/42632654
            StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
            StrictMode.SetVmPolicy(builder.Build());

            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.PictureViewer);

            Typeface buttonFont = Typeface.CreateFromAsset(Assets, "Kano.otf");

            _previousActivity = Intent.GetStringExtra("PreviousActivity");

            SpinnerComponent spinner = new SpinnerComponent(this, Resource.Id.eventSelector, this);

            spinner.Setup();

            CheckBox eventComplete = FindViewById <CheckBox>(Resource.Id.eventComplete);
            bool     ticked        = false;

            eventComplete.Click += delegate
            {
                if (eventComplete.Checked)
                {
                    ticked = true;
                }
                else
                {
                    ticked = false;
                }
            };

            _imageViewer = _camera.GetImageViewer(Resource.Id.imageView, this);
            _camera.Start(_imageViewer, this, _previousActivity);

            CancelButtonComponent cancelButton = new CancelButtonComponent(this);

            cancelButton.Get().SetTypeface(buttonFont, TypefaceStyle.Bold);
            cancelButton.Get().Click += (o, e) => { cancelButton.Functionality(_previousActivity, this); };

            Button submitButton = FindViewById <Button>(Resource.Id.submitButton);

            submitButton.SetTypeface(buttonFont, TypefaceStyle.Bold);
            bool anotherPicture = false;

            submitButton.Click += (o, e) =>
            {
                if (anotherPicture == false)
                {
                    bool uploadedSuccessful;
                    if (spinner.GetSelected().Equals("New Event"))
                    {
                        uploadedSuccessful = _camera.SaveNewEvent(ticked);
                    }
                    else
                    {
                        uploadedSuccessful = _camera.SaveExistingEvent(spinner, ticked);
                    }


                    if (uploadedSuccessful)
                    {
                        spinner.Disable();
                        eventComplete.Enabled = false;
                        submitButton.Text     = "Take Another Picture";
                        cancelButton.Get().Text          = "Close";
                        AlertBoxComponent voiceRecording = new AlertBoxComponent(this);
                        voiceRecording.RepeateFunctionSetup <VoiceRecordingActivity>("Take Voice Recording",
                                                                                     "Do you want to take a voice recording?", this, this, _previousActivity);
                        voiceRecording.Show();
                        anotherPicture = true;
                    }
                    else
                    {
                        AlertBoxComponent errorUplaodingAlertBox = new AlertBoxComponent(this);
                        errorUplaodingAlertBox.Setup("Cannot Add To Event",
                                                     "This event has already been made into a story and cannot be updated. Select a different event or make a new event.");
                        errorUplaodingAlertBox.Show();
                    }
                }
                else
                {
                    Intent repeatedActivity = new Intent(this, typeof(CameraActivity));
                    repeatedActivity.PutExtra("PreviousActivity", _previousActivity);
                    StartActivity(repeatedActivity);
                }
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.VoiceRecView);
            Typeface buttonFont       = Typeface.CreateFromAsset(Assets, "Kano.otf");
            string   previousActivity = Intent.GetStringExtra("PreviousActivity");

            SpinnerComponent spinner = new SpinnerComponent(this, Resource.Id.eventSelector, this);

            spinner.Setup();

            Button startRecordingButton = FindViewById <Button> (Resource.Id.startRecordingButton);

            startRecordingButton.SetTypeface(buttonFont, TypefaceStyle.Bold);
            startRecordingButton.SetBackgroundColor(Color.ParseColor("#213f5e"));
            startRecordingButton.SetTextColor(Color.White);
            startRecordingButton.SetTextSize(ComplexUnitType.Dip, 15);

            Button playRecordingButton = FindViewById <Button> (Resource.Id.playButton);

            playRecordingButton.SetTypeface(buttonFont, TypefaceStyle.Bold);
            playRecordingButton.SetBackgroundResource(Resource.Drawable.ButtonGenerator);
            playRecordingButton.SetTextColor(Color.White);
            playRecordingButton.SetTextSize(ComplexUnitType.Dip, 15);

            Button submitButton = FindViewById <Button>(Resource.Id.submitButton);

            submitButton.SetTypeface(buttonFont, TypefaceStyle.Bold);
            submitButton.SetBackgroundResource(Resource.Drawable.ButtonGenerator);
            submitButton.SetTextColor(Color.White);
            submitButton.SetTextSize(ComplexUnitType.Dip, 15);
            playRecordingButton.Enabled = false;
            playRecordingButton.SetBackgroundResource(Resource.Drawable.ButtonDimmedGenerator);
            playRecordingButton.SetTextColor(Color.ParseColor("#969a90"));
            VoiceRecording.VoiceRecording voiceRecorder = new VoiceRecording.VoiceRecording();

            CancelButtonComponent cancelButton = new CancelButtonComponent(this);

            cancelButton.Get().SetTypeface(buttonFont, TypefaceStyle.Bold);
            cancelButton.Get().SetBackgroundResource(Resource.Drawable.ButtonGenerator);
            cancelButton.Get().SetTextColor(Color.White);
            cancelButton.Get().SetTextSize(ComplexUnitType.Dip, 15);
            cancelButton.Get().Click += (o, e) => { cancelButton.Functionality(previousActivity, this); };

            startRecordingButton.Click += delegate {
                startRecordingButton.SetTextColor(Color.Black);

                if (startRecordingButton.Text.Equals("Redo voice recording"))
                {
                    voiceRecorder.Begin(startRecordingButton, submitButton, playRecordingButton, true);
                }
                else
                {
                    voiceRecorder.Begin(startRecordingButton, submitButton, playRecordingButton, false);
                }
            };
            playRecordingButton.Click += delegate {
                voiceRecorder.Play();
                startRecordingButton.Text = "Redo voice recording";
            };

            CheckBox eventComplete = FindViewById <CheckBox>(Resource.Id.eventComplete);
            bool     ticked        = false;

            eventComplete.Click += delegate
            {
                if (eventComplete.Checked)
                {
                    ticked = true;
                }
                else
                {
                    ticked = false;
                }
            };

            submitButton.Enabled = false;
            submitButton.SetBackgroundResource(Resource.Drawable.ButtonDimmedGenerator);
            submitButton.SetTextColor(Color.ParseColor("#969a90"));
            bool anotherRecording = false;

            submitButton.Click += (o, e) => {
                if (anotherRecording == false)
                {
                    //submit to database stuff goes here

                    bool uploadedSuccessful;
                    if (spinner.GetSelected().Equals("New Event"))
                    {
                        uploadedSuccessful = voiceRecorder.SaveNewEvent(ticked);
                    }
                    else
                    {
                        uploadedSuccessful = voiceRecorder.SaveExistingEvent(spinner, ticked);
                    }
                    if (uploadedSuccessful)
                    {
                        spinner.Disable();
                        eventComplete.Enabled = false;
                        submitButton.Text     = "Take Another Voice Recording";
                        cancelButton.Get().Text = "Close";
                        startRecordingButton.Enabled = false;
                        startRecordingButton.SetBackgroundColor(Color.ParseColor("#142635"));
                        startRecordingButton.SetTextColor(Color.ParseColor("#969a90"));
                        playRecordingButton.Enabled = false;
                        playRecordingButton.SetBackgroundResource(Resource.Drawable.ButtonDimmedGenerator);
                        playRecordingButton.SetTextColor(Color.ParseColor("#969a90"));
                        AlertBoxComponent voiceRecording = new AlertBoxComponent(this);
                        voiceRecording.RepeateFunctionSetup <CameraActivity>("Take Picture",
                                                                             "Do you want to take a picture?", this, this, previousActivity);
                        voiceRecording.Show();
                        anotherRecording = true;
                    }
                    else
                    {
                        AlertBoxComponent errorUplaodingAlertBox = new AlertBoxComponent(this);
                        errorUplaodingAlertBox.Setup("Cannot Add To Event",
                                                     "This event has already been made into a story and cannot be updated. Select a different event or make a new event.");
                        errorUplaodingAlertBox.Show();
                    }
                }
                else
                {
                    Intent repeatedActivity = new Intent(this, typeof(VoiceRecordingActivity));
                    repeatedActivity.PutExtra("PreviousActivity", previousActivity);
                    StartActivity(repeatedActivity);
                }
            };
        }