in Android/app/src/main/java/com/harvard/studyappmodule/StandaloneActivity.java [498:721]
public void checkForNotification(Intent intent1) {
if (!intentFrom.equalsIgnoreCase("")) {
intentFrom = "";
String type = intent1.getStringExtra(AppFirebaseMessagingService.TYPE);
String subType = intent1.getStringExtra(AppFirebaseMessagingService.SUBTYPE);
String studyId = intent1.getStringExtra(AppFirebaseMessagingService.STUDYID);
String audience = intent1.getStringExtra(AppFirebaseMessagingService.AUDIENCE);
String localNotification = "";
if (intent1.getStringExtra(AlarmReceiver.LOCAL_NOTIFICATION) != null) {
localNotification = intent1.getStringExtra(AlarmReceiver.LOCAL_NOTIFICATION);
}
String activityIdNotification = "";
if (intent1.getStringExtra(AlarmReceiver.ACTIVITYID) != null) {
activityIdNotification = intent1.getStringExtra(AlarmReceiver.ACTIVITYID);
}
if (!AppController.getHelperSharedPreference()
.readPreference(StandaloneActivity.this, getResources().getString(R.string.userid), "")
.equalsIgnoreCase("")) {
if (type != null) {
if (type.equalsIgnoreCase("Gateway")) {
if (subType.equalsIgnoreCase("Study")) {
Study study = dbServiceSubscriber.getStudyListFromDB(realm);
if (study != null) {
RealmList<StudyList> studyListArrayList = study.getStudies();
studyListArrayList =
dbServiceSubscriber.saveStudyStatusToStudyList(studyListArrayList, realm);
boolean isStudyAvailable = false;
for (int i = 0; i < studyListArrayList.size(); i++) {
if (studyId.equalsIgnoreCase(studyListArrayList.get(i).getStudyId())) {
try {
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.title),
"" + studyListArrayList.get(i).getTitle());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.status),
"" + studyListArrayList.get(i).getStatus());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.studyStatus),
"" + studyListArrayList.get(i).getStudyStatus());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this, getString(R.string.position), "" + i);
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.enroll),
"" + studyListArrayList.get(i).getSetting().isEnrolling());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.studyVersion),
"" + studyListArrayList.get(i).getStudyVersion());
} catch (Exception e) {
Logger.log(e);
}
if (studyListArrayList
.get(i)
.getStatus()
.equalsIgnoreCase(getString(R.string.active))
&& studyListArrayList
.get(i)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.IN_PROGRESS)) {
Intent intent = new Intent(StandaloneActivity.this, SurveyActivity.class);
addClearTopFlag(intent);
intent.putExtra("studyId", studyId);
startActivity(intent);
finish();
} else if (studyListArrayList
.get(i)
.getStatus()
.equalsIgnoreCase(getString(R.string.paused))) {
Toast.makeText(
StandaloneActivity.this, R.string.study_paused, Toast.LENGTH_SHORT)
.show();
finish();
} else if (studyListArrayList
.get(i)
.getStatus()
.equalsIgnoreCase(getString(R.string.closed))) {
Toast.makeText(
StandaloneActivity.this, R.string.study_resume, Toast.LENGTH_SHORT)
.show();
finish();
} else {
Intent intent =
new Intent(getApplicationContext(), StandaloneStudyInfoActivity.class);
intent.putExtra("flow", getIntent().getStringExtra("flow"));
intent.putExtra("studyId", studyListArrayList.get(i).getStudyId());
intent.putExtra("title", studyListArrayList.get(i).getTitle());
intent.putExtra("status", studyListArrayList.get(i).getStatus());
intent.putExtra("studyStatus", studyListArrayList.get(i).getStudyStatus());
intent.putExtra("position", "" + i);
intent.putExtra(
"enroll", "" + studyListArrayList.get(i).getSetting().isEnrolling());
startActivity(intent);
finish();
}
isStudyAvailable = true;
break;
}
}
if (!isStudyAvailable) {
Toast.makeText(
StandaloneActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
.show();
finish();
}
} else {
Toast.makeText(
StandaloneActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
.show();
finish();
}
}
} else if (type.equalsIgnoreCase("Study")) {
if (subType.equalsIgnoreCase("Activity") || subType.equalsIgnoreCase("Resource")) {
Study study = dbServiceSubscriber.getStudyListFromDB(realm);
if (study != null) {
RealmList<StudyList> studyListArrayList = study.getStudies();
studyListArrayList =
dbServiceSubscriber.saveStudyStatusToStudyList(studyListArrayList, realm);
boolean isStudyAvailable = false;
boolean isStudyJoined = false;
for (int i = 0; i < studyListArrayList.size(); i++) {
if (studyId.equalsIgnoreCase(studyListArrayList.get(i).getStudyId())) {
isStudyAvailable = true;
try {
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.title),
"" + studyListArrayList.get(i).getTitle());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.status),
"" + studyListArrayList.get(i).getStatus());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.studyStatus),
"" + studyListArrayList.get(i).getStudyStatus());
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this, getString(R.string.position), "" + i);
AppController.getHelperSharedPreference()
.writePreference(
StandaloneActivity.this,
getString(R.string.enroll),
"" + studyListArrayList.get(i).getSetting().isEnrolling());
} catch (Exception e) {
Logger.log(e);
}
if (studyListArrayList
.get(i)
.getStatus()
.equalsIgnoreCase(getString(R.string.active))
&& studyListArrayList
.get(i)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.IN_PROGRESS)) {
if (subType.equalsIgnoreCase("Resource")) {
getStudyUpdate(
studyListArrayList.get(i).getStudyId(),
studyListArrayList.get(i).getStudyVersion(),
studyListArrayList.get(i).getTitle(),
"Resource",
"NotificationActivity",
activityIdNotification,
localNotification);
} else {
getStudyUpdate(
studyListArrayList.get(i).getStudyId(),
studyListArrayList.get(i).getStudyVersion(),
studyListArrayList.get(i).getTitle(),
"",
"NotificationActivity",
activityIdNotification,
localNotification);
}
isStudyJoined = true;
break;
} else {
isStudyJoined = false;
break;
}
}
}
if (!isStudyAvailable) {
Toast.makeText(
StandaloneActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
.show();
finish();
} else if (!isStudyJoined) {
Toast.makeText(
StandaloneActivity.this, R.string.studyNotJoined, Toast.LENGTH_SHORT)
.show();
finish();
}
} else {
Toast.makeText(
StandaloneActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
.show();
finish();
}
}
}
}
} else {
Toast.makeText(StandaloneActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
.show();
finish();
}
}
}