From 9360401694079e7588008ec08d493d376d239a29 Mon Sep 17 00:00:00 2001 From: Eamonn <ect1u17@soton.ac.uk> Date: Thu, 10 Sep 2020 16:53:58 +0200 Subject: [PATCH] updated survey to allow group submissions --- .idea/inspectionProfiles/Project_Default.xml | 1 + _supplementary_files/internship/database.png | Bin 0 -> 86378 bytes app/src/main/AndroidManifest.xml | 5 +- .../xbframework/ExperimentActivity.java | 2 +- .../xbframework/MainActivity.java | 7 +- .../xbframework/ProgressActivity.java | 103 +++++++----- .../xbframework/SettingsActivity.java | 117 ++++++++++++- .../xbframework/SurveyResponseActivity.java | 157 ++++++++++-------- app/src/main/res/xml/backup_descriptor.xml | 8 + .../main/res/xml/network_security_config.xml | 6 + 10 files changed, 284 insertions(+), 122 deletions(-) create mode 100644 _supplementary_files/internship/database.png create mode 100644 app/src/main/res/xml/backup_descriptor.xml create mode 100644 app/src/main/res/xml/network_security_config.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 7b570b3..a2a71ae 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -6,5 +6,6 @@ <option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" /> </inspection_tool> <inspection_tool class="DanglingJavadoc" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" /> </profile> </component> \ No newline at end of file diff --git a/_supplementary_files/internship/database.png b/_supplementary_files/internship/database.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f6c00c8bc5acdf309f48225a21f10d83178062 GIT binary patch literal 86378 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 Zp8Qvy%w@#gVP6lj-qY33Wt~$(696!>X%_$h literal 0 HcmV?d00001 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c0e03bf..b1af992 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,7 +16,10 @@ android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light.NoActionBar" android:screenOrientation="portrait" - tools:ignore="GoogleAppIndexingWarning"> + tools:ignore="GoogleAppIndexingWarning,UnusedAttribute" + android:usesCleartextTraffic="true" + android:networkSecurityConfig="@xml/network_security_config" + android:fullBackupContent="true"> <activity android:name=".MainActivity" android:screenOrientation="portrait" diff --git a/app/src/main/java/com/yearthreeproject/xbframework/ExperimentActivity.java b/app/src/main/java/com/yearthreeproject/xbframework/ExperimentActivity.java index f16d1a3..a472e8f 100644 --- a/app/src/main/java/com/yearthreeproject/xbframework/ExperimentActivity.java +++ b/app/src/main/java/com/yearthreeproject/xbframework/ExperimentActivity.java @@ -187,7 +187,7 @@ public class ExperimentActivity extends AppCompatActivity { .optJSONArray("experiments") .optJSONArray(finalButtonIndex - finalOffset).getJSONObject(0) .optJSONObject("_id").optString("$oid"); - editCurrentExperimentJSON.put("id", new JSONObject().put("$oid", experiment_id)); + editCurrentExperimentJSON.put("_id", new JSONObject().put("$oid", experiment_id)); Calendar calendar = Calendar.getInstance(); diff --git a/app/src/main/java/com/yearthreeproject/xbframework/MainActivity.java b/app/src/main/java/com/yearthreeproject/xbframework/MainActivity.java index 58bd88c..c6b5975 100644 --- a/app/src/main/java/com/yearthreeproject/xbframework/MainActivity.java +++ b/app/src/main/java/com/yearthreeproject/xbframework/MainActivity.java @@ -240,8 +240,7 @@ public class MainActivity extends AppCompatActivity { JSONObject localUserJson = new JSONObject(ProjectMacros.readFile(MainActivity.this, "localUserData.json")); JSONObject userCurrentExperimentJson = localUserJson.optJSONObject("current_experiment"); - JSONObject currentExperimentJson = userCurrentExperimentJson.optJSONArray("experiment").getJSONObject(0); - d("current", currentExperimentJson.toString()); + JSONObject currentExperimentJson = userCurrentExperimentJson.optJSONArray("experiment").optJSONObject(0); if (!currentExperimentJson.optBoolean("release_time_lock", false)) { startActivity(new Intent(MainActivity.this, SurveyResponseActivity.class)); } else if (ProjectMacros.compareTimes(dateToday, currentExperimentJson.optString("survey_start")) @@ -278,7 +277,7 @@ public class MainActivity extends AppCompatActivity { } currentExperimentJson.put("locked", false); - currentExperimentJson.put("id", JSONObject.NULL); + currentExperimentJson.put("_id", JSONObject.NULL); currentExperimentJson.put("date_until", JSONObject.NULL); currentExperimentJson.remove("experiment"); @@ -294,7 +293,7 @@ public class MainActivity extends AppCompatActivity { Document currentExperimentDoc = (Document) userDoc.get("current_experiment"); currentExperimentDoc .append("locked", false) - .append("id", null) + .append("_id", null) .append("date_until", null) .remove("experiment"); userDoc.append("current_experiment", currentExperimentDoc); diff --git a/app/src/main/java/com/yearthreeproject/xbframework/ProgressActivity.java b/app/src/main/java/com/yearthreeproject/xbframework/ProgressActivity.java index 6a9f4ee..417107a 100644 --- a/app/src/main/java/com/yearthreeproject/xbframework/ProgressActivity.java +++ b/app/src/main/java/com/yearthreeproject/xbframework/ProgressActivity.java @@ -172,17 +172,20 @@ public class ProgressActivity extends AppCompatActivity { // Need set up completions to be shown in the graphs if(resultsExist){ // If there is only archive this will be the latest ran - d(TAG, "initialiseGlobalVariables: " + resultsData.getJSONArray(resultsData.length()-1)); - latestResultsExperimentId = resultsData.getJSONArray(resultsData.length()-1).getJSONObject(0).getString("experiment"); - latestResultsEndDate = resultsData.getJSONArray(resultsData.length()-1).getJSONObject(0).getJSONObject("end_date").getString("$date"); - latestExperimentDate = resultsData.getJSONArray(resultsData.length()-1).getJSONObject(0).getJSONObject("date").getString("$date"); + d(TAG, "initialiseGlobalVariables: " + resultsData.getJSONObject(resultsData.length()-1)); + latestResultsExperimentId = resultsData.getJSONObject(resultsData.length()-1).getString("experiment"); + latestResultsEndDate = resultsData.getJSONObject(resultsData.length()-1).getJSONObject("end_date").getString("$date"); + latestExperimentDate = resultsData.getJSONObject(resultsData.length()-1).getJSONObject("date").getString("$date"); dataSeries = arrayLoopForSelectedDateForData(resultsData, new ArrayList<>(), latestResultsExperimentId, latestExperimentDate); } if(completionsExist){ // If there is also currentExperiment this will run latest, making this the highest selected graph - latestResultsExperimentId = localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).getString("name"); - latestResultsEndDate = completionsData.getJSONArray(completionsData.length()-1).getJSONObject(0).getJSONObject("end_date").getString("$date"); - latestExperimentDate = completionsData.getJSONArray(completionsData.length()-1).getJSONObject(0).getJSONObject("date").getString("$date"); - dataSeries = arrayLoopForSelectedDateForData(completionsData, new ArrayList<>(), latestResultsExperimentId, latestResultsEndDate); + d(TAG, "initialiseGlobalVariables: resultExperiment " + completionsData.getJSONObject(completionsData.length()-1)); + if(!completionsData.getJSONObject(completionsData.length() - 1).equals(new JSONArray())){ + latestResultsExperimentId = completionsData.getJSONObject(completionsData.length()-1).getString("experiment"); + latestResultsEndDate = completionsData.getJSONObject(completionsData.length()-1).getJSONObject("end_date").getString("$date"); + latestExperimentDate = completionsData.getJSONObject(completionsData.length()-1).getJSONObject("date").getString("$date"); + dataSeries = arrayLoopForSelectedDateForData(completionsData, new ArrayList<>(), latestResultsExperimentId, latestResultsEndDate); + } } initialiseGraphGUI(dataSeries); } @@ -377,7 +380,7 @@ public class ProgressActivity extends AppCompatActivity { .append("entry", input.getText().toString()) .append("date", today) .append("end_date", endDate) - .append("experiment_name", localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).optString("name", "None")); + .append("experiment_name", localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").optString("name", "None")); journalEntriesOut.put(new JSONObject(tempObject.toJson())); } else { journalEntriesOut.put(journalArray.getJSONObject(i)); @@ -391,20 +394,20 @@ public class ProgressActivity extends AppCompatActivity { .append("entry", input.getText().toString()) .append("date", today) .append("end_date", endDate) - .append("experiment_name", localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).optString("name", "None")); + .append("experiment_name", localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").optString("name", "None")); journalEntriesOut.put(new JSONObject(tempObject.toJson())); } - journalCalendarView.addEvent(new Event(latestExperimentColor, today.getTime(), localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).optString("name", "No Experiment"))); + journalCalendarView.addEvent(new Event(latestExperimentColor, today.getTime(), localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").optString("name", "No Experiment"))); if (sdf.format(journalSelectedDate).equals(sdf.format(today))) { - journalSelectedTitleTextView.setText(Html.fromHtml(localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).optString("name", "None") + " (" + sdf.format(today) + "):")); + journalSelectedTitleTextView.setText(Html.fromHtml(localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").optString("name", "None") + " (" + sdf.format(today) + "):")); journalSelectedEntryTextView.setText(journalCurrentEntryTextView.getText().toString()); } // Replace journal.entries with updated entries - JSONObject journalJSON = localUserJson.getJSONArray("journal").getJSONObject(0); + JSONObject journalJSON = localUserJson.getJSONObject("journal"); journalJSON.put("entries", journalEntriesOut); localUserJson.put("journal", new JSONArray().put(journalJSON)); @@ -691,21 +694,23 @@ public class ProgressActivity extends AppCompatActivity { Date queryDate = new Date(); if(resultsExist){ - String oldExperimentStartDate = resultsData.getJSONArray(0).getJSONObject(0).getJSONObject("end_date").getString("$date"); + String oldExperimentStartDate = resultsData.getJSONObject(0).getJSONObject("end_date").getString("$date"); int experimentCount = 0; for(int i = 0; i < resultsData.length(); i++){ - queryDate.setTime(Long.parseLong(resultsData.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date"))); - if(experimentCount++ == 5 || !(oldExperimentStartDate.equals(resultsData.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date")))){ - markColorIndex++; - experimentCount = 0; - oldExperimentStartDate = resultsData.getJSONArray(i).getJSONObject(0).getJSONObject("end_date").getString("$date"); - } + if(!resultsData.getJSONObject(i).equals(new JSONArray())){ + queryDate.setTime(Long.parseLong(resultsData.getJSONObject(i).getJSONObject("date").getString("$date"))); + if(experimentCount++ == 5 || !(oldExperimentStartDate.equals(resultsData.getJSONObject(i).getJSONObject("date").getString("$date")))){ + markColorIndex++; + experimentCount = 0; + oldExperimentStartDate = resultsData.getJSONObject(i).getJSONObject("end_date").getString("$date"); + } - if(DateUtils.isToday(Long.parseLong(resultsData.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date")))){ // If the date is today - graphCalendarView.setCurrentDayBackgroundColor(Color.parseColor(markColor[markColorIndex%3])); + if(DateUtils.isToday(Long.parseLong(resultsData.getJSONObject(i).getJSONObject("date").getString("$date")))){ // If the date is today + graphCalendarView.setCurrentDayBackgroundColor(Color.parseColor(markColor[markColorIndex%3])); + } + graphCalendarView.addEvent(new Event(Color.parseColor(markColor[markColorIndex%3]), queryDate.getTime(), resultsData.getJSONObject(i).getString("experiment"))); } - graphCalendarView.addEvent(new Event(Color.parseColor(markColor[markColorIndex%3]), queryDate.getTime(), resultsData.getJSONArray(i).getJSONObject(0).getString("experiment"))); } markColorIndex++; @@ -713,11 +718,13 @@ public class ProgressActivity extends AppCompatActivity { if(completionsExist){ for(int i = 0; i < completionsData.length(); i++){ - queryDate.setTime(Long.parseLong(completionsData.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date"))); - if(DateUtils.isToday(Long.parseLong(completionsData.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date")))){ - graphCalendarView.setCurrentDayBackgroundColor(Color.parseColor(markColor[markColorIndex%3])); + if(!completionsData.getJSONObject(i).equals(new JSONArray())){ + queryDate.setTime(Long.parseLong(completionsData.getJSONObject(i).getJSONObject("date").getString("$date"))); + if(DateUtils.isToday(Long.parseLong(completionsData.getJSONObject(i).getJSONObject("date").getString("$date")))){ + graphCalendarView.setCurrentDayBackgroundColor(Color.parseColor(markColor[markColorIndex%3])); + } + graphCalendarView.addEvent(new Event(Color.parseColor(markColor[markColorIndex%3]), queryDate.getTime())); } - graphCalendarView.addEvent(new Event(Color.parseColor(markColor[markColorIndex%3]), queryDate.getTime())); } } @@ -747,7 +754,7 @@ public class ProgressActivity extends AppCompatActivity { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()); dataSeries = arrayLoopForSelectedDateForData(resultsData, new ArrayList<>(), experimentName, sdf.format(tempDate)); } else { - experimentName = localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").getJSONObject(0).getString("name"); + experimentName = localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").getString("name"); dataSeries = loopJSONArrayForPoints(completionsData, new ArrayList<>()); } @@ -845,10 +852,10 @@ public class ProgressActivity extends AppCompatActivity { Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YYYY", Locale.getDefault()); - d(TAG, "generateCurrentExperimentGraph: " + (localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").optJSONObject(0) != JSONObject.NULL)); - String currentExperimentText = (localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").optJSONObject(0) != JSONObject.NULL + d(TAG, "generateCurrentExperimentGraph: " + (localUserJson.getJSONObject("current_experiment").optJSONObject("experiment") != JSONObject.NULL)); + String currentExperimentText = (localUserJson.getJSONObject("current_experiment").optJSONObject("experiment") != JSONObject.NULL ? "No experiment" - : localUserJson.getJSONObject("current_experiment").getJSONArray("experiment").optJSONObject(0).optString("name", "No experiment") ) + : localUserJson.getJSONObject("current_experiment").getJSONObject("experiment").optString("name", "No experiment") ) + " (" + sdf.format(cal.getTime()) + "):"; graphCurrentTextView.setText(currentExperimentText); @@ -972,8 +979,10 @@ public class ProgressActivity extends AppCompatActivity { private List<DataPoint> loopJSONArrayForPoints(JSONArray array, List<DataPoint> dataSeries) throws JSONException{ Date date = new Date(); for(int i = 0; i < array.length(); i++){ - date.setTime(Long.parseLong(array.getJSONArray(i).getJSONObject(0).getJSONObject("end_date").getString("$date"))); - dataSeries.add(new DataPoint(date, Double.parseDouble(array.getJSONArray(i).getJSONObject(0).getString("completion_percent")))); + if(!array.getJSONObject(i).equals(new JSONArray())){ + date.setTime(Long.parseLong(array.getJSONObject(i).getJSONObject("end_date").getString("$date"))); + dataSeries.add(new DataPoint(date, Double.parseDouble(array.getJSONObject(i).getString("completion_percent")))); + } } return dataSeries; } @@ -985,9 +994,11 @@ public class ProgressActivity extends AppCompatActivity { } for(int i = 0; i < array.length(); i++){ - queryDate.setTime(Long.parseLong(array.getJSONArray(i).getJSONObject(0).getJSONObject("date").getString("$date"))); - long calNow = queryDate.getTime(); - if (i == 0 || calNow <= lowest) lowest = calNow; + if(!array.getJSONObject(i).equals(new JSONArray())){ + queryDate.setTime(Long.parseLong(array.getJSONObject(i).getJSONObject("date").getString("$date"))); + long calNow = queryDate.getTime(); + if (i == 0 || calNow <= lowest) lowest = calNow; + } } return lowest; } @@ -996,11 +1007,13 @@ public class ProgressActivity extends AppCompatActivity { private List<DataPoint> arrayLoopForSelectedDateForData(JSONArray array, List<DataPoint> dataSeries, String experimentName, String experimentStartDate) throws JSONException { Date queryEntryDate = new Date(); for (int i = 0; i < array.length(); i++) { - JSONObject queryJSON = array.getJSONArray(i).getJSONObject(0); - if (experimentName.equals(queryJSON.getString("experiment"))) { - queryEntryDate.setTime(Long.parseLong(queryJSON.getJSONObject("date").getString("$date"))); - if(experimentStartDate.equals(queryJSON.getJSONObject("end_date").getString("$date"))){ - dataSeries.add(new DataPoint(queryEntryDate, Double.parseDouble(queryJSON.getString("completion_percent")))); + if(!array.getJSONObject(i).equals(new JSONArray())){ + JSONObject queryJSON = array.getJSONObject(i); + if (experimentName.equals(queryJSON.getString("experiment"))) { + queryEntryDate.setTime(Long.parseLong(queryJSON.getJSONObject("date").getString("$date"))); + if(experimentStartDate.equals(queryJSON.getJSONObject("end_date").getString("$date"))){ + dataSeries.add(new DataPoint(queryEntryDate, Double.parseDouble(queryJSON.getString("completion_percent")))); + } } } } @@ -1011,9 +1024,11 @@ public class ProgressActivity extends AppCompatActivity { Date queryDate = new Date(); for (int i = 0; i < array.length(); i++) { - queryDate.setTime(Long.parseLong(array.getJSONArray(i).getJSONObject(0).getJSONObject("end_date").getString("$date"))); - if (queryDate.equals(dateClicked)) { - return queryDate.getTime(); + if(!array.getJSONObject(i).equals(new JSONArray())){ + queryDate.setTime(Long.parseLong(array.getJSONObject(i).getJSONObject("end_date").getString("$date"))); + if (queryDate.equals(dateClicked)) { + return queryDate.getTime(); + } } } return 0; diff --git a/app/src/main/java/com/yearthreeproject/xbframework/SettingsActivity.java b/app/src/main/java/com/yearthreeproject/xbframework/SettingsActivity.java index 819a0ba..df8669d 100644 --- a/app/src/main/java/com/yearthreeproject/xbframework/SettingsActivity.java +++ b/app/src/main/java/com/yearthreeproject/xbframework/SettingsActivity.java @@ -2,23 +2,39 @@ package com.yearthreeproject.xbframework; import android.graphics.Typeface; import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.LinearLayout; +import android.widget.Spinner; import android.widget.TextView; import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; +import org.bson.Document; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.util.ArrayList; import java.util.Iterator; import java.util.Objects; +import io.realm.mongodb.App; +import io.realm.mongodb.mongo.MongoCollection; + public class SettingsActivity extends AppCompatActivity { private static final String TAG = "SettingsActivity"; + private boolean changed = false; + private JSONObject localUserJson; + + private ArrayList<Spinner> spinnerArrayList = new ArrayList<>(); + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -32,34 +48,123 @@ public class SettingsActivity extends AppCompatActivity { LinearLayout settingsLayout = findViewById(R.id.settings_page); try { - JSONObject localUserJson = new JSONObject(ProjectMacros.readFile(this, "localUserData.json")); + localUserJson = new JSONObject(ProjectMacros.readFile(this, "localUserData.json")); + + Log.d(TAG, "onCreate: localUserJson " + localUserJson); Iterator<String> keys = localUserJson.keys(); + final ArrayList<String[]> answerGroups = new ArrayList<>(); + answerGroups.add(new String[]{"True", "False"}); + answerGroups.add(new String[]{"True", "False"}); + answerGroups.add(getResources().getStringArray(R.array.DemographicsGenderA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsAgeA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsRaceA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsEducationA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsMaritalA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsEmploymentA)); + answerGroups.add(getResources().getStringArray(R.array.DemographicsIncomeA)); + + int arrayIndex = 0; + while(keys.hasNext()) { String key = keys.next(); + Log.d(TAG, "onCreate: key " + key); // check its not an object, and is not the user id, then create the layout to show the item if (!(localUserJson.get(key) instanceof JSONObject || localUserJson.get(key) instanceof JSONArray || key.equals("_user_id"))) { LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.HORIZONTAL); + ArrayList<String> spinnerArray = new ArrayList<>(); + for (String s : answerGroups.get(arrayIndex)) { + Log.d(TAG, "onCreate: spinnerAdd " + s); + spinnerArray.add(s); + } + + + Spinner spinner = new Spinner(this); + ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray); + spinner.setAdapter(spinnerArrayAdapter); + int spinnerPosition = spinnerArrayAdapter.getPosition(localUserJson.getString(key)); + spinner.setSelection(spinnerPosition); + + spinnerArrayList.add(spinner); + TextView title = new TextView(this); String keyFormatted = key.substring(0, 1).toUpperCase() + key.substring(1); title.setText(keyFormatted + ": "); title.setTypeface(null, Typeface.BOLD); title.setTextSize(22); - TextView settingValue = new TextView(this); - settingValue.setText(localUserJson.getString(key)); - settingValue.setTextSize(22); - layout.addView(title); - layout.addView(settingValue); + layout.addView(spinner); settingsLayout.addView(layout); + arrayIndex++; + + spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + try { + if(localUserJson.getString(key) != parent.getItemAtPosition(position)){ + Log.d(TAG, "onItemSelected: item changed to " + parent.getItemAtPosition(position)); + Log.d(TAG, "onItemSelected: changed " + "true"); + changed = true; + } + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); } } } catch (JSONException e) { e.printStackTrace(); } } + + + @Override + public void onBackPressed() { + Log.d(TAG, "onBackPressed: changed " + changed); + if(changed){ + AlertDialog.Builder al = new AlertDialog.Builder(SettingsActivity.this); + al.setTitle("Are you sure?") + .setMessage("Are you sure you want to leave the page? Your responses will be changed.") + .setPositiveButton("Yes", (dialog, which) -> { + try { + // mongo upload here + Document updateDocument = new Document(); + Iterator<String> keys = localUserJson.keys(); + ArrayList<String> keyNames = new ArrayList<>(); + while (keys.hasNext()) { + String key = keys.next(); + if (!(localUserJson.get(key) instanceof JSONObject || localUserJson.get(key) instanceof JSONArray || key.equals("_user_id"))) + keyNames.add(key); + } + int itemPosition = 0; + for (Spinner spinner : spinnerArrayList) { + if(keyNames.get(itemPosition).equals("anonymous") || keyNames.get(itemPosition).equals("contactable")) updateDocument.append(keyNames.get(itemPosition++), spinner.getSelectedItem() == "True"); + else updateDocument.append(keyNames.get(itemPosition++), spinner.getSelectedItem()); + } + Log.d(TAG, "onBackPressed: updateDocument " + updateDocument); + App realmApp = ((MongoRealmApp) this.getApplication()).getApp(); + MongoCollection userCollection = realmApp.currentUser().getMongoClient("mongodb-atlas").getDatabase("V1").getCollection("Users"); + userCollection.updateOne(new Document("_user_id", realmApp.currentUser().getId()), + new Document("$set", updateDocument)); + finish(); + } catch (JSONException e){ + e.printStackTrace(); + } + }) + .setNegativeButton("No", null) + .show(); + } else { + finish(); + } + } } diff --git a/app/src/main/java/com/yearthreeproject/xbframework/SurveyResponseActivity.java b/app/src/main/java/com/yearthreeproject/xbframework/SurveyResponseActivity.java index b48e92a..4b6ebca 100644 --- a/app/src/main/java/com/yearthreeproject/xbframework/SurveyResponseActivity.java +++ b/app/src/main/java/com/yearthreeproject/xbframework/SurveyResponseActivity.java @@ -36,6 +36,8 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -142,7 +144,7 @@ public class SurveyResponseActivity extends AppCompatActivity { if(group){ d(TAG, "onCreate: finalGroupDocumentExperiment " + finalGroupDocument.get("current_experiment")); - experimentDocument = await(experimentCollection.findOne(new Document("_id", finalGroupDocument.get("current_experiment", Document.class).getObjectId("id")))); + experimentDocument = await(experimentCollection.findOne(new Document("_id", finalGroupDocument.get("current_experiment", Document.class).getObjectId("_id")))); experimentJSON = new JSONObject(experimentDocument.toJson()); } else { JSONObject localUserJSON = new JSONObject(ProjectMacros.readFile(this, "localUserData.json")); @@ -242,6 +244,7 @@ public class SurveyResponseActivity extends AppCompatActivity { fab.setOnClickListener(v -> completeSubmission()); } + @SuppressLint("NewApi") @RequiresApi(api = Build.VERSION_CODES.KITKAT) private void completeSubmission() { boolean correctSubmission = true; @@ -268,11 +271,9 @@ public class SurveyResponseActivity extends AppCompatActivity { int upperValue = Integer.parseInt(values[1]); if (queryInt <= upperValue && lowerValue <= queryInt) { - d(TAG, "int completed correctly"); completedResults++; } } else if(queryInt == lowerValue) { - d(TAG, "int completed correctly"); completedResults++; } } @@ -290,19 +291,11 @@ public class SurveyResponseActivity extends AppCompatActivity { Integer.parseInt(lowerTime[0]) <= Integer.parseInt(queryTime[0])){ if(Integer.parseInt(queryTime[0]) == Integer.parseInt(upperTime[0]) && Integer.parseInt(queryTime[1]) <= Integer.parseInt(upperTime[1])){ - // If upper hour is the same - // && if the minutes are below the threshold for upper time, if yes, correct - d(TAG, "date completed correctly"); completedResults++; } else if (Integer.parseInt(lowerTime[0]) == Integer.parseInt(queryTime[0]) && Integer.parseInt(lowerTime[1]) <= Integer.parseInt(queryTime[1])){ - // If lower hour is the same - // && if the minutes are above the threshold for lowest time, if yes, correct - d(TAG, "date completed correctly"); completedResults++; } else { - // If neither are the same, and it fits within the range, minutes are irrelevant - d(TAG, "date completed correctly"); completedResults++; } } @@ -312,7 +305,6 @@ public class SurveyResponseActivity extends AppCompatActivity { if(!completionResponses.get(i).optString("expected").equals("null")){ totalPossibleResults++; if(completionResponses.get(i).optString("response").equals(completionResponses.get(i).optString("expected"))) { - d(TAG, "default completed correctly"); completedResults++; } } @@ -320,28 +312,48 @@ public class SurveyResponseActivity extends AppCompatActivity { } - d(TAG, "completionPercent calculation "+completedResults + "/" + totalPossibleResults); double completionPercent = (completedResults / (double) totalPossibleResults)*100; - d(TAG, "completionPercent " + completionPercent); int perceptionResponseTotal = 0; - for (int i = 0; i < surveyResponses.size(); i++) { - if (surveyResponses.get(i).optString("response").equals("null")) correctSubmission = false; - rawSurveyResults.add(Document.parse(surveyResponses.get(i).toString())); - if("bad".equals(surveyResponses.get(i).optString("agree"))){ - perceptionResponseTotal += (5-surveyResponses.get(i).optInt("response")); + for (int i = 0; i < perceptionResponses.size(); i++) { + if (perceptionResponses.get(i).optString("response").equals("null")) correctSubmission = false; + rawPerceptionResults.add(Document.parse(perceptionResponses.get(i).toString())); + perceptionResponseTotal += perceptionResponses.get(i).optInt("response"); + } + double perceptionResponseAverage = (perceptionResponseTotal / (double) (perceptionResponses.size())); + + int surveyResponseTotal = 0; + for(int i = 0; i < surveyResponses.size(); i++){ + if(surveyResponses.get(i).optString("response").equals("null")) correctSubmission = false; + int currentAddition; + switch(surveyResponses.get(i).optString("response")){ + case "Strongly Disagree": + currentAddition = 1; + break; + case "Disagree": + currentAddition = 2; + break; + case "Impartial": + currentAddition = 3; + break; + case "Agree": + currentAddition = 4; + break; + case "Strongly Agree": + currentAddition = 5; + break; + default: + currentAddition = 0; + correctSubmission = false; + } + if("good".equals(surveyResponses.get(i).optString("agree"))){ + surveyResponseTotal += currentAddition; } else { - perceptionResponseTotal += surveyResponses.get(i).optInt("response"); + surveyResponseTotal += 5-currentAddition; } + rawSurveyResults.add(Document.parse(surveyResponses.get(i).toString())); } - double responseAverage = (perceptionResponseTotal / (double) (surveyResponses.size()+1))*100; - - d(TAG, "completeSubmission: responseAverage " + responseAverage); - - for(int i = 0; i < perceptionResponses.size(); i++){ - if(perceptionResponses.get(i).optString("response").equals("null")) correctSubmission = false; - rawPerceptionResults.add(Document.parse(perceptionResponses.get(i).toString())); - } + double surveyResponseAverage = (surveyResponseTotal / (double) (surveyResponses.size())); if (correctSubmission) { AlertDialog.Builder al = new AlertDialog.Builder(SurveyResponseActivity.this); @@ -356,9 +368,17 @@ public class SurveyResponseActivity extends AppCompatActivity { MongoCollection<Document> perceptionCollection = realmApp.currentUser().getMongoClient("mongodb-atlas").getDatabase("V1").getCollection("Perceptions"); MongoCollection<Document> userCollection = realmApp.currentUser().getMongoClient("mongodb-atlas").getDatabase("V1").getCollection("Users"); + d(TAG, "completeSubmission: experimentJSON " + experimentJSON); Document currentExperiment = Document.parse(experimentJSON.toString()); Date end_date = new Date(); - end_date.setTime(groupDocument.get("current_experiment", Document.class).getDate("date_until").getTime()); + + if(groupDocument != null){ + String ISODate = groupDocument.get("current_experiment", Document.class).getString("date_until").replace("date_until", "").replace("Z", ""); + @SuppressLint({"NewApi", "LocalSuppress"}) LocalDateTime localDateTime = LocalDateTime.parse(ISODate); + end_date.setTime(localDateTime.toEpochSecond(ZoneOffset.ofTotalSeconds(0))); + } + else + end_date.setTime(Long.parseLong(localUserJson.getJSONObject("current_experiment").getJSONObject("date_until").getString("$date"))); Document responsesDocument = null; Document completionsDocument = null; @@ -367,18 +387,21 @@ public class SurveyResponseActivity extends AppCompatActivity { if(rawSurveyResults.size() > 0){ Document queryDocument = new Document("_user_id", realmApp.currentUser().getId()); queryDocument.append("date", today); - if(groupDocument != null){ - queryDocument.append("group", groupDocument.getObjectId("_id")); - } else { - queryDocument.append("group", new Document("$eq", null)); - } Document responseDocument = new Document("_user_id", realmApp.currentUser().getId()) .append("date", today) .append("end_date", end_date) - .append("experiment", currentExperiment.getObjectId("id")) + .append("experiment", currentExperiment.getObjectId("_id")) .append("responses", rawSurveyResults) - .append("group", groupDocument.getObjectId("_id")); + .append("survey_average", surveyResponseAverage); + + if(groupDocument != null){ + queryDocument.append("group", groupDocument.getObjectId("_id")); + responseDocument.append("group", groupDocument.getObjectId("_id")); + } else { + queryDocument.append("group", new Document("$eq", null)); + responseDocument.append("group", null); + } responsesDocument = await(responseCollection.findOneAndUpdate(queryDocument, responseDocument, @@ -389,19 +412,21 @@ public class SurveyResponseActivity extends AppCompatActivity { if(rawCompletionResults.size() > 0){ Document queryDocument = new Document("_user_id", realmApp.currentUser().getId()); queryDocument.append("date", today); - if(groupDocument != null){ - queryDocument.append("group", groupDocument.getObjectId("_id")); - } else { - queryDocument.append("group", new Document("$eq", null)); - } Document completionDocument = new Document("_user_id", realmApp.currentUser().getId()) .append("date", today) .append("end_date", end_date) - .append("experiment", currentExperiment.getObjectId("id")) + .append("experiment", currentExperiment.getObjectId("_id")) .append("responses", rawCompletionResults) - .append("completion_percent", (int) completionPercent) - .append("group", groupDocument.getObjectId("_id")); + .append("completion_percent", completionPercent); + + if(groupDocument != null){ + queryDocument.append("group", groupDocument.getObjectId("_id")); + completionDocument.append("group", groupDocument.getObjectId("_id")); + } else { + queryDocument.append("group", new Document("$eq", null)); + completionDocument.append("group", null); + } completionsDocument = await(completionCollection.findOneAndUpdate(queryDocument, completionDocument, @@ -413,18 +438,21 @@ public class SurveyResponseActivity extends AppCompatActivity { if(rawPerceptionResults.size() > 0){ Document queryDocument = new Document("_user_id", realmApp.currentUser().getId()); queryDocument.append("date", today); - if(groupDocument != null){ - queryDocument.append("group", groupDocument.getObjectId("_id")); - } else { - queryDocument.append("group", new Document("$eq", null)); - } Document perceptionDocument = new Document("_user_id", realmApp.currentUser().getId()) .append("date", today) .append("end_date", end_date) - .append("experiment", currentExperiment.getObjectId("id")) + .append("experiment", currentExperiment.getObjectId("_id")) .append("responses", rawPerceptionResults) - .append("group", groupDocument.getObjectId("_id")); + .append("survey_average", perceptionResponseAverage); + + if(groupDocument != null){ + queryDocument.append("group", groupDocument.getObjectId("_id")); + perceptionDocument.append("group", groupDocument.getObjectId("_id")); + } else { + queryDocument.append("group", new Document("$eq", null)); + perceptionDocument.append("group", null); + } perceptionsDocument = await(perceptionCollection.findOneAndUpdate(queryDocument, perceptionDocument, @@ -432,31 +460,31 @@ public class SurveyResponseActivity extends AppCompatActivity { d(TAG, "completeSubmission: perceptionsDocument " + perceptionsDocument); } - Document userDocument = new Document(); Document queryDocument = new Document("_user_id", realmApp.currentUser().getId()); + Document userDocument = await(userCollection.findOne(queryDocument)); - if (groupDocument != null) queryDocument.put("group", groupDocument.getObjectId("_id")); if (completionsDocument != null) { - userDocument.put("$addToSet", new Document("experiment_completions", completionsDocument.getObjectId("_id"))); - d(TAG, "completeSubmission: userDocument " + userDocument); - await(userCollection.updateOne(queryDocument, userDocument)); + ArrayList experimentCompletions = userDocument.get("experiment_completions", ArrayList.class); + if(!experimentCompletions.contains(completionsDocument.getObjectId("_id"))) experimentCompletions.add(completionsDocument.getObjectId("_id")); + userDocument.put("experiment_completions", experimentCompletions); } if (responsesDocument != null) { - userDocument.put("$addToSet", new Document("results", responsesDocument.getObjectId("_id"))); - d(TAG, "completeSubmission: userDocument " + userDocument); - await(userCollection.updateOne(queryDocument, userDocument)); + ArrayList results = userDocument.get("results", ArrayList.class); + if(!results.contains(responsesDocument.getObjectId("_id"))) results.add(responsesDocument.getObjectId("_id")); + userDocument.put("results", results); } if (perceptionsDocument != null) { - userDocument.put("$addToSet", new Document("perceptions", perceptionsDocument.getObjectId("_id"))); - d(TAG, "completeSubmission: userDocument " + userDocument); - await(userCollection.updateOne(queryDocument, userDocument)); + ArrayList perceptions = userDocument.get("perceptions", ArrayList.class); + if(!perceptions.contains(perceptionsDocument.getObjectId("_id"))) perceptions.add(perceptionsDocument.getObjectId("_id")); + userDocument.put("perceptions", perceptions); } + await(userCollection.updateOne(queryDocument, userDocument)); + d(TAG, "completeSubmission: userUpdated apparently"); finish(); } catch (JSONException| InterruptedException | ExecutionException e) { e.printStackTrace(); } }).start(); - //finish(); }).setNegativeButton("No", null) .show(); } else { @@ -798,9 +826,6 @@ public class SurveyResponseActivity extends AppCompatActivity { case 2: response = -1; break; - case 3: - response = 0; - break; case 4: response = 1; break; diff --git a/app/src/main/res/xml/backup_descriptor.xml b/app/src/main/res/xml/backup_descriptor.xml new file mode 100644 index 0000000..c95b36c --- /dev/null +++ b/app/src/main/res/xml/backup_descriptor.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<full-backup-content> + <!-- TODO Remove the following "exclude" elements to make them a part of the auto backup --> + <!-- Exclude the shared preferences file that contains the GCM registrationId --> + <exclude + domain="sharedpref" + path="com.yearthreeproject.xbframework.PREFERENCE_FILE_KEY.xml" /> +</full-backup-content> diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 0000000..b932515 --- /dev/null +++ b/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<network-security-config> + <domain-config cleartextTrafficPermitted="true"> + <domain includeSubdomains="true">your_site_domain.com</domain> + </domain-config> +</network-security-config> \ No newline at end of file -- GitLab