public void checkForNotification()

in Android/app/src/fda/java/com/harvard/studyappmodule/StudyActivity.java [234:451]


  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 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(StudyActivity.this, getResources().getString(R.string.userid), "")
          .equalsIgnoreCase("")) {
        if (type != null) {
          if (type.equalsIgnoreCase("Gateway")) {
            if (subType.equalsIgnoreCase("Study")
                || subType.equalsIgnoreCase("Activity")
                || subType.equalsIgnoreCase("Announcement")
                || subType.equalsIgnoreCase("studyEvent")) {
              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(
                              StudyActivity.this,
                              getString(R.string.title),
                              "" + studyListArrayList.get(i).getTitle());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this,
                              getString(R.string.status),
                              "" + studyListArrayList.get(i).getStatus());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this,
                              getString(R.string.studyStatus),
                              "" + studyListArrayList.get(i).getStudyStatus());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this, getString(R.string.position), "" + i);
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this,
                              getString(R.string.enroll),
                              "" + studyListArrayList.get(i).getSetting().isEnrolling());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.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(StudyActivity.this, SurveyActivity.class);
                      intent.putExtra("studyId", studyId);
                      startActivity(intent);
                    } else if (studyListArrayList
                        .get(i)
                        .getStatus()
                        .equalsIgnoreCase(getString(R.string.paused))) {
                      Toast.makeText(StudyActivity.this, R.string.study_paused, Toast.LENGTH_SHORT)
                          .show();
                    } else if (studyListArrayList
                        .get(i)
                        .getStatus()
                        .equalsIgnoreCase(getString(R.string.closed))) {
                      Toast.makeText(StudyActivity.this, R.string.study_resume, Toast.LENGTH_SHORT)
                          .show();
                    } else {
                      Intent intent = new Intent(getApplicationContext(), StudyInfoActivity.class);
                      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);
                    }
                    isStudyAvailable = true;
                    break;
                  }
                }
                if (!isStudyAvailable) {
                  Toast.makeText(StudyActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
                      .show();
                }
              } else {
                Toast.makeText(StudyActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
                    .show();
              }
            } else if (subType.equalsIgnoreCase("Resource")) {
              previousValue = R.id.mResourcesLayout;
              titleFdaListens.setText("");
              title.setText(getResources().getString(R.string.resources));
              editBtnLayout.setVisibility(View.GONE);
              notificationBtn.setVisibility(View.GONE);
              filter.setVisibility(View.GONE);
              searchBtn.setVisibility(View.GONE);
              closeDrawer();
              getSupportFragmentManager()
                  .beginTransaction()
                  .replace(R.id.frameLayoutContainer, new ResourcesFragment(), "fragment")
                  .commit();
            }
          } 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(
                              StudyActivity.this,
                              getString(R.string.title),
                              "" + studyListArrayList.get(i).getTitle());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this,
                              getString(R.string.status),
                              "" + studyListArrayList.get(i).getStatus());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this,
                              getString(R.string.studyStatus),
                              "" + studyListArrayList.get(i).getStudyStatus());
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.this, getString(R.string.position), "" + i);
                      AppController.getHelperSharedPreference()
                          .writePreference(
                              StudyActivity.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")) {
                        studyFragment.getStudyUpdate(
                            studyListArrayList.get(i).getStudyId(),
                            studyListArrayList.get(i).getStudyVersion(),
                            studyListArrayList.get(i).getTitle(),
                            "Resource",
                            "NotificationActivity",
                            activityIdNotification,
                            localNotification);
                      } else {
                        studyFragment.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(StudyActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
                      .show();
                } else if (!isStudyJoined) {
                  Toast.makeText(StudyActivity.this, R.string.studyNotJoined, Toast.LENGTH_SHORT)
                      .show();
                }
              } else {
                Toast.makeText(StudyActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT)
                    .show();
              }
            }
          }
        }
      } else {
        Toast.makeText(StudyActivity.this, R.string.studyNotAvailable, Toast.LENGTH_SHORT).show();
      }
    }
  }