public void checkForNotification()

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();
      }
    }
  }