in Android/app/src/main/java/com/harvard/studyappmodule/StandaloneActivity.java [1031:1295]
private void setStudyList(boolean offline) {
if (!offline) {
dbServiceSubscriber.saveStudyListToDB(this, study);
}
ArrayList<StudyList> activeInprogress = new ArrayList<>();
ArrayList<StudyList> activeYetToJoin = new ArrayList<>();
ArrayList<StudyList> activeOthers = new ArrayList<>();
ArrayList<StudyList> paused = new ArrayList<>();
ArrayList<StudyList> closed = new ArrayList<>();
ArrayList<StudyList> others = new ArrayList<>();
ArrayList<CompletionAdherence> activeInprogressCompletionAdherenceCalc = new ArrayList<>();
ArrayList<CompletionAdherence> activeYetToJoinCompletionAdherenceCalc = new ArrayList<>();
ArrayList<CompletionAdherence> activeOthersCompletionAdherenceCalc = new ArrayList<>();
ArrayList<CompletionAdherence> pausedCompletionAdherenceCalc = new ArrayList<>();
ArrayList<CompletionAdherence> closedCompletionAdherenceCalc = new ArrayList<>();
ArrayList<CompletionAdherence> othersCompletionAdherenceCalc = new ArrayList<>();
CompletionAdherence completionAdherenceCalc;
CompletionAdherence completionAdherenceCalcSort = null;
SurveyScheduler survayScheduler = new SurveyScheduler(dbServiceSubscriber, realm);
for (int i = 0; i < studyListArrayList.size(); i++) {
if (!AppController.getHelperSharedPreference()
.readPreference(StandaloneActivity.this, getResources().getString(R.string.userid), "")
.equalsIgnoreCase("")) {
completionAdherenceCalc =
survayScheduler.completionAndAdherenceCalculation(
studyListArrayList.get(i).getStudyId(), StandaloneActivity.this);
if (completionAdherenceCalc.isActivityAvailable()) {
completionAdherenceCalcSort = completionAdherenceCalc;
} else {
Studies studies =
dbServiceSubscriber.getStudies(studyListArrayList.get(i).getStudyId(), realm);
if (studies != null) {
try {
CompletionAdherence completionAdherenceCalculation = new CompletionAdherence();
completionAdherenceCalculation.setCompletion(studies.getCompletion());
completionAdherenceCalculation.setAdherence(studies.getAdherence());
completionAdherenceCalculation.setActivityAvailable(false);
completionAdherenceCalcSort = completionAdherenceCalculation;
} catch (Exception e) {
CompletionAdherence completionAdherenceCalculation = new CompletionAdherence();
completionAdherenceCalculation.setAdherence(0);
completionAdherenceCalculation.setCompletion(0);
completionAdherenceCalculation.setActivityAvailable(false);
completionAdherenceCalcSort = completionAdherenceCalculation;
Logger.log(e);
}
} else {
CompletionAdherence completionAdherenceCalculation = new CompletionAdherence();
completionAdherenceCalculation.setAdherence(0);
completionAdherenceCalculation.setCompletion(0);
completionAdherenceCalculation.setActivityAvailable(false);
completionAdherenceCalcs.add(completionAdherenceCalculation);
completionAdherenceCalcSort = completionAdherenceCalculation;
}
}
}
if (studyListArrayList.get(i).getStatus().equalsIgnoreCase(ACTIVE)
&& studyListArrayList.get(i).getStudyStatus().equalsIgnoreCase(IN_PROGRESS)) {
activeInprogress.add(studyListArrayList.get(i));
try {
activeInprogressCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
} else if (studyListArrayList.get(i).getStatus().equalsIgnoreCase(ACTIVE)
&& studyListArrayList.get(i).getStudyStatus().equalsIgnoreCase(YET_TO_JOIN)) {
activeYetToJoin.add(studyListArrayList.get(i));
try {
activeYetToJoinCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
} else if (studyListArrayList.get(i).getStatus().equalsIgnoreCase(ACTIVE)) {
activeOthers.add(studyListArrayList.get(i));
try {
activeOthersCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
} else if (studyListArrayList.get(i).getStatus().equalsIgnoreCase(PAUSED)) {
paused.add(studyListArrayList.get(i));
try {
pausedCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
} else if (studyListArrayList.get(i).getStatus().equalsIgnoreCase(CLOSED)) {
closed.add(studyListArrayList.get(i));
try {
closedCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
} else {
others.add(studyListArrayList.get(i));
try {
othersCompletionAdherenceCalc.add(completionAdherenceCalcSort);
} catch (Exception e) {
Logger.log(e);
}
}
}
if (offline) {
try {
studyListArrayList = dbServiceSubscriber.clearStudyList(studyListArrayList, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList =
dbServiceSubscriber.updateStudyList(studyListArrayList, activeInprogress, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList =
dbServiceSubscriber.updateStudyList(studyListArrayList, activeYetToJoin, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList =
dbServiceSubscriber.updateStudyList(studyListArrayList, activeOthers, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList = dbServiceSubscriber.updateStudyList(studyListArrayList, paused, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList = dbServiceSubscriber.updateStudyList(studyListArrayList, closed, realm);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList = dbServiceSubscriber.updateStudyList(studyListArrayList, others, realm);
} catch (Exception e) {
Logger.log(e);
}
} else {
try {
studyListArrayList.clear();
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(activeInprogress);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(activeYetToJoin);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(activeOthers);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(paused);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(closed);
} catch (Exception e) {
Logger.log(e);
}
try {
studyListArrayList.addAll(others);
} catch (Exception e) {
Logger.log(e);
}
}
try {
completionAdherenceCalcs.clear();
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(activeInprogressCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(activeYetToJoinCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(activeOthersCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(pausedCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(closedCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
try {
completionAdherenceCalcs.addAll(othersCompletionAdherenceCalc);
} catch (Exception e) {
Logger.log(e);
}
activeInprogress.clear();
activeInprogress = null;
activeInprogressCompletionAdherenceCalc.clear();
activeInprogressCompletionAdherenceCalc = null;
activeYetToJoin.clear();
activeYetToJoin = null;
activeYetToJoinCompletionAdherenceCalc.clear();
activeYetToJoinCompletionAdherenceCalc = null;
activeOthers.clear();
activeOthers = null;
activeOthersCompletionAdherenceCalc.clear();
activeOthersCompletionAdherenceCalc = null;
paused.clear();
paused = null;
pausedCompletionAdherenceCalc.clear();
pausedCompletionAdherenceCalc = null;
closed.clear();
closed = null;
closedCompletionAdherenceCalc.clear();
closedCompletionAdherenceCalc = null;
others.clear();
others = null;
othersCompletionAdherenceCalc.clear();
othersCompletionAdherenceCalc = null;
}