From d30f66732347e85e83692f960155b23937490493 Mon Sep 17 00:00:00 2001 From: TurtleSquad007 <46603342+TurtleSquad007@users.noreply.github.com> Date: Fri, 19 Mar 2021 15:55:48 -0600 Subject: [PATCH] docs added --- .../IllegalExperimentException.java | 2 +- .../AddExperimentFragment.java | 1 + .../HistogramFragment.java | 10 ++++++++ .../NavExperimentDetailsFragment.java | 1 - .../ExperimentFragments/ResultsFragment.java | 10 +++++++- .../StatisticsFragment.java | 10 +++++++- .../TrialArrayAdapter.java | 9 +++++++ .../ExperimentFragments/TrialsFragment.java | 13 ++++++++++ .../ExperimentModel/CountExperiment.java | 3 ++- .../ExperimentModel/Experiment.java | 24 +++++++++++++++++++ .../ExperimentModel/ExperimentMaker.java | 1 - .../ExperimentModel/ExperimentManager.java | 23 ++++++++++++++++++ .../MeasurementExperiment.java | 4 ++++ .../NaturalCountExperiment.java | 4 ++++ .../experiment_automata/Graphable.java | 17 ++++++++++++- .../QRCode/QRCodeManager.java | 4 ++-- .../experiment_automata/StatSummary.java | 9 ++++++- .../ui/home/HomeViewModel.java | 2 +- .../ui/profile/ProfileFragment.java | 9 +++++++ .../ui/profile/ProfileViewModel.java | 9 ++++++- 20 files changed, 153 insertions(+), 12 deletions(-) diff --git a/code/app/src/main/java/com/example/experiment_automata/CustomExceptions/IllegalExperimentException.java b/code/app/src/main/java/com/example/experiment_automata/CustomExceptions/IllegalExperimentException.java index c7c6d992..a1841d44 100644 --- a/code/app/src/main/java/com/example/experiment_automata/CustomExceptions/IllegalExperimentException.java +++ b/code/app/src/main/java/com/example/experiment_automata/CustomExceptions/IllegalExperimentException.java @@ -8,7 +8,7 @@ * * Known Issue: * - * 1. Might not be needed! + * 1. No longer in use, to be deleted! */ public class IllegalExperimentException extends Exception { diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/AddExperimentFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/AddExperimentFragment.java index 823e2f00..639e367f 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/AddExperimentFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/AddExperimentFragment.java @@ -55,6 +55,7 @@ public class AddExperimentFragment extends DialogFragment { * This is an interface for any activity using this fragment */ public interface OnFragmentInteractionListener { + void onOkPressed(Experiment newExperiment); void onOKPressedEdit(String experimentDescription, int experimentTrials, boolean experimentLocation, boolean experimentNewResults, diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/HistogramFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/HistogramFragment.java index 79bc6555..5e776a27 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/HistogramFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/HistogramFragment.java @@ -11,6 +11,16 @@ import com.example.experiment_automata.R; import com.github.mikephil.charting.charts.BarChart; +/** + * Role/Pattern: + * + * This class inflates the histogram fragment. + * + * Known Issue: + * + * 1. None + */ + public class HistogramFragment extends Fragment { public HistogramFragment() { // Required empty public constructor diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/NavExperimentDetailsFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/NavExperimentDetailsFragment.java index 91bb720e..17eec9f1 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/NavExperimentDetailsFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/NavExperimentDetailsFragment.java @@ -41,7 +41,6 @@ public class NavExperimentDetailsFragment extends Fragment { - private String ERROR_LOG_VALUE = "ERROR_LOG-EXPERIMENT-VIEW"; public static final String CURRENT_EXPERIMENT_ID = "FRAGMENT_CURRENT_FRAGMENT-ID"; diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/ResultsFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/ResultsFragment.java index 3781094d..0d756631 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/ResultsFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/ResultsFragment.java @@ -10,7 +10,15 @@ import com.example.experiment_automata.R; import com.github.mikephil.charting.charts.LineChart; - +/** + * Role/Pattern: + * + * This fragment class inflates the results fragment view. + * + * Known Issue: + * + * 1. None + */ public class ResultsFragment extends Fragment { public ResultsFragment() { // Required empty public constructor diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/StatisticsFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/StatisticsFragment.java index 6aa15ebe..f73df022 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/StatisticsFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/StatisticsFragment.java @@ -9,7 +9,15 @@ import android.view.ViewGroup; import com.example.experiment_automata.R; - +/** + * Role/Pattern: + * + * This fragment class inflates ths stats view for the experiment. + * + * Known Issue: + * + * 1. None + */ public class StatisticsFragment extends Fragment { public StatisticsFragment() { // Required empty public constructor diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialArrayAdapter.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialArrayAdapter.java index 5c4776b0..b1f1bca0 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialArrayAdapter.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialArrayAdapter.java @@ -23,6 +23,15 @@ import java.util.UUID; import java.util.concurrent.Callable; +/** + * Role/Pattern: + * + * This maintains the list for the android system to display the individual inflated views. + * + * Known Issue: + * + * 1. None + */ public class TrialArrayAdapter extends ArrayAdapter { // Syntax inspired by Abdul Ali Bangash, "Lab 3 Instructions - Custom List", // 2021-02-04, Public Domain, https://eclass.srv.ualberta.ca/pluginfile.php/6713985/mod_resource/content/1/Lab%203%20instructions%20-%20CustomList.pdf diff --git a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialsFragment.java b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialsFragment.java index e882a7e6..cf76b54d 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialsFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ExperimentFragments/TrialsFragment.java @@ -21,6 +21,19 @@ import java.util.ArrayList; +/** + * Role/Pattern: + * + * This fragment class inflates the trial list fragment. + * Also contains the trail array adapter. + * This fragment contains a list of trials which can be ignored or included + * in the stats computation. + * + * Known Issue: + * + * 1. None + */ + public class TrialsFragment extends Fragment { private ArrayList trialsArrayList; private TrialArrayAdapter trialArrayAdapter; diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/CountExperiment.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/CountExperiment.java index 257a17a3..3368dbbc 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/CountExperiment.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/CountExperiment.java @@ -20,7 +20,8 @@ * * Known Issue: * - * 1. None + * 1. stat calculation implementation is not final awaiting input from customer on + * how count experiments should analyzed. */ public class CountExperiment extends Experiment { private Collection results; diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/Experiment.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/Experiment.java index 3dcaa92e..016d12bd 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/Experiment.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/Experiment.java @@ -120,18 +120,34 @@ public boolean isActive() { */ public void setPublished(boolean p) { published = p; } + /** + * set the description of experiment + * @param description value to be set + */ public void setDescription(String description) { this.description = description; } + /** + * sets the min trials for the experiment + * @param minTrials value to be set + */ public void setMinTrials(int minTrials) { this.minTrials = minTrials; } + /** + * sets the activity for each of the experiments + * @param active value to be set + */ public void setActive(boolean active) { this.active = active; } + /** + * sets if we need a location + * @param requireLocation value to be set + */ public void setRequireLocation(boolean requireLocation) { this.requireLocation = requireLocation; } @@ -146,10 +162,18 @@ public ExperimentType getType() return type; } + /** + * get the min trials + * @return the int min trial value + */ public int getMinTrials() { return minTrials; } + /** + * check if a location is required by the experiment + * @return the result + */ public boolean isRequireLocation() { return requireLocation; } diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentMaker.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentMaker.java index b6ee043e..4335a214 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentMaker.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentMaker.java @@ -18,7 +18,6 @@ public class ExperimentMaker { - private String description; // Do we need this to have any attributes? can't we just create an experiment maker when needed? /** * Will create a desired experiment type with a description diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentManager.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentManager.java index 9a10aa95..f41cf238 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentManager.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/ExperimentManager.java @@ -94,6 +94,10 @@ public ArrayList queryExperiments(Collection experimentIds) { return experimentsList; } + /** + * gets a list of all the published experiments. + * @return all published experiments + */ public ArrayList queryPublishedExperiments() { ArrayList experimentsList = new ArrayList<>(); for (Map.Entry entry : experiments.entrySet()) { @@ -137,10 +141,21 @@ public ArrayList queryExperiments(String query) { return experimentsList; } + /** + * looks for specific experiment + * @param experimentId the id of that experiment to search + * @return the found experiment + */ public Experiment query(UUID experimentId) { return experiments.get(experimentId); } + /** + * check to see if two strings match + * @param query what to look for + * @param source what to look in + * @return if a match was found + */ private boolean queryMatch(String query, String source) { String[] queryTokens = query.toLowerCase().split("\\W"); for (int j = 0; j < queryTokens.length; j++) { @@ -150,8 +165,16 @@ private boolean queryMatch(String query, String source) { return false; } + /** + * get the current experiment + * @return the current experiment + */ public Experiment getCurrentExperiment() { return currentExperiment; } + /** + * sets the current experiment + * @param experiment the current experiment to be updated + */ public void setCurrentExperiment(Experiment experiment) { currentExperiment = experiment; } /** diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/MeasurementExperiment.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/MeasurementExperiment.java index acf98bfc..85bd4d99 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/MeasurementExperiment.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/MeasurementExperiment.java @@ -266,5 +266,9 @@ public Integer getSize(){ return size; } + /** + * get the trials made about this experiment + * @return the trials + */ public Collection getTrials() { return results; } } diff --git a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/NaturalCountExperiment.java b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/NaturalCountExperiment.java index 062769ad..bead53d7 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/NaturalCountExperiment.java +++ b/code/app/src/main/java/com/example/experiment_automata/Experiments/ExperimentModel/NaturalCountExperiment.java @@ -265,5 +265,9 @@ public Integer getSize(){ return size; } + /** + * get the trials made about this experiment + * @return the trials + */ public Collection getTrials() { return results; } } diff --git a/code/app/src/main/java/com/example/experiment_automata/Graphable.java b/code/app/src/main/java/com/example/experiment_automata/Graphable.java index caea7fc4..4cd9f2d1 100644 --- a/code/app/src/main/java/com/example/experiment_automata/Graphable.java +++ b/code/app/src/main/java/com/example/experiment_automata/Graphable.java @@ -4,9 +4,24 @@ import com.github.mikephil.charting.data.Entry; import java.util.List; - +/** + * Role/Pattern: + * provides contract for graphs + * + * Known Issue: + * + * 1. None + */ public interface Graphable { + /** + * makes a histogram + * @return a list of bar entry + */ public List generateHistogram(); + /** + * make a plot + * @return list of entries + */ public List generatePlot(); } diff --git a/code/app/src/main/java/com/example/experiment_automata/QRCode/QRCodeManager.java b/code/app/src/main/java/com/example/experiment_automata/QRCode/QRCodeManager.java index dd3a8d2f..8061a152 100644 --- a/code/app/src/main/java/com/example/experiment_automata/QRCode/QRCodeManager.java +++ b/code/app/src/main/java/com/example/experiment_automata/QRCode/QRCodeManager.java @@ -1,5 +1,5 @@ package com.example.experiment_automata.QRCode; -//Bitmap conversion from ρяσѕρєя K,https://stackoverflow.com/questions/19337448/generate-qr-code-directly-into-imageview +//Bitmap conversion from Râsẑrêâ K (original name in Cyrilic) K,https://stackoverflow.com/questions/19337448/generate-qr-code-directly-into-imageview import android.graphics.Bitmap; import android.graphics.Color; @@ -15,7 +15,7 @@ * * Known Issue: * - * 1. None + * 1. The constructor is a string but will become uuid */ public class QRCodeManager { //Header for custom QR codes diff --git a/code/app/src/main/java/com/example/experiment_automata/StatSummary.java b/code/app/src/main/java/com/example/experiment_automata/StatSummary.java index 98605293..6c54dfd5 100644 --- a/code/app/src/main/java/com/example/experiment_automata/StatSummary.java +++ b/code/app/src/main/java/com/example/experiment_automata/StatSummary.java @@ -5,7 +5,14 @@ import java.util.ArrayList; import java.util.Collection; - +/** + * Role/Pattern: + * provides contract for stats + * + * Known Issue: + * + * 1. None + */ public interface StatSummary { /** * Gets the mean value of the trials. diff --git a/code/app/src/main/java/com/example/experiment_automata/ui/home/HomeViewModel.java b/code/app/src/main/java/com/example/experiment_automata/ui/home/HomeViewModel.java index 4875cab2..fec6016e 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ui/home/HomeViewModel.java +++ b/code/app/src/main/java/com/example/experiment_automata/ui/home/HomeViewModel.java @@ -10,7 +10,7 @@ * * Known Issue: * - * 1. Might be removed + * 1. Not in use might be removed */ public class HomeViewModel extends ViewModel { diff --git a/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileFragment.java b/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileFragment.java index 3ec5bf7a..448f6b33 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileFragment.java +++ b/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileFragment.java @@ -15,6 +15,15 @@ import com.example.experiment_automata.R; import com.example.experiment_automata.ui.profile.ProfileViewModel; +/** + * Role/Pattern: + * + * Displays a user profile with contact information + * + * Known Issue: + * + * 1. No ability to edit information + */ public class ProfileFragment extends Fragment { private ProfileViewModel profileViewModel; diff --git a/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileViewModel.java b/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileViewModel.java index b5a51326..c995b3e6 100644 --- a/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileViewModel.java +++ b/code/app/src/main/java/com/example/experiment_automata/ui/profile/ProfileViewModel.java @@ -3,7 +3,14 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; - +/** + * Role/Pattern: + * Test fragment that might be removed at some point in the future. + * + * Known Issue: + * + * 1. Not in use might be removed + */ public class ProfileViewModel extends ViewModel { private MutableLiveData mText;