in Android/app/src/main/java/com/harvard/studyappmodule/StudyListAdapter.java [155:380]
public void onBindViewHolder(final Holder holder, @SuppressLint("RecyclerView") final int position) {
if (!AppController.getHelperSharedPreference()
.readPreference(context, context.getResources().getString(R.string.userid), "")
.equalsIgnoreCase("")) {
holder.status.setVisibility(View.VISIBLE);
holder.statusImg.setVisibility(View.VISIBLE);
holder.completionVal.setVisibility(View.VISIBLE);
holder.adherenceVal.setVisibility(View.VISIBLE);
holder.adherence.setVisibility(View.VISIBLE);
holder.progressBar1.setVisibility(View.VISIBLE);
holder.progressBar2.setVisibility(View.VISIBLE);
if (items.get(position).getStudyStatus() != null) {
if (items.get(position).getStudyStatus().equalsIgnoreCase(StudyFragment.COMPLETED)) {
holder.statusImg.setImageResource(R.drawable.completed_icn1);
holder.status.setText(R.string.completed);
} else if (items
.get(position)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.NOT_ELIGIBLE)) {
holder.statusImg.setImageResource(R.drawable.not_eligible_icn1);
holder.status.setText(R.string.not_eligible);
} else if (items
.get(position)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.IN_PROGRESS)) {
holder.statusImg.setImageResource(R.drawable.in_progress_icn);
if (items.get(position).getStatus().equalsIgnoreCase("closed")) {
holder.status.setText(R.string.partial_participation);
} else {
holder.status.setText(R.string.in_progress);
}
} else if (items
.get(position)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.YET_TO_JOIN)) {
holder.statusImg.setImageResource(R.drawable.yet_to_join_icn1);
if (items.get(position).getStatus().equalsIgnoreCase("closed")) {
holder.status.setText(R.string.no_participation);
} else {
holder.status.setText(R.string.yet_to_join);
}
} else if (items.get(position).getStudyStatus().equalsIgnoreCase(StudyFragment.WITHDRAWN)) {
holder.statusImg.setImageResource(R.drawable.withdrawn_icn1);
holder.status.setText(R.string.withdrawn);
} else {
holder.statusImg.setImageResource(R.drawable.yet_to_join_icn1);
holder.status.setText(R.string.yet_to_join);
}
} else {
holder.statusImg.setImageResource(R.drawable.yet_to_join_icn1);
holder.status.setText(R.string.yet_to_join);
}
if (items.get(position).getStudyStatus().equalsIgnoreCase(StudyFragment.IN_PROGRESS)
|| items.get(position).getStudyStatus().equalsIgnoreCase(StudyFragment.COMPLETED)) {
holder.progresslayout.setVisibility(View.VISIBLE);
} else {
holder.progresslayout.setVisibility(View.GONE);
}
if (completionAdherenceCalcs.size() > 0) {
try {
holder.completionVal.setText(
""
+ ((int)
completionAdherenceCalcs.get(holder.getAdapterPosition()).getCompletion())
+ " %");
holder.adherenceVal.setText(
""
+ ((int)
completionAdherenceCalcs.get(holder.getAdapterPosition()).getAdherence())
+ " %");
holder.progressBar1.setProgress(
(int) completionAdherenceCalcs.get(holder.getAdapterPosition()).getCompletion());
holder.progressBar2.setProgress(
(int) completionAdherenceCalcs.get(holder.getAdapterPosition()).getAdherence());
} catch (IndexOutOfBoundsException e) {
Logger.log(e);
}
}
} else {
holder.status.setVisibility(View.GONE);
holder.statusImg.setVisibility(View.GONE);
holder.completionVal.setVisibility(View.GONE);
holder.adherenceVal.setVisibility(View.GONE);
holder.adherence.setVisibility(View.GONE);
holder.progressBar1.setVisibility(View.GONE);
holder.progressBar2.setVisibility(View.GONE);
}
holder.state.setText(items.get(position).getStatus());
GradientDrawable bgShape = (GradientDrawable) holder.stateIcon.getBackground();
if (items.get(position).getStatus().equalsIgnoreCase("active")) {
bgShape.setColor(context.getResources().getColor(R.color.bullet_green_color));
} else if (items.get(position).getStatus().equalsIgnoreCase("closed")) {
bgShape.setColor(context.getResources().getColor(R.color.red));
} else if (items.get(position).getStatus().equalsIgnoreCase("paused")) {
bgShape.setColor(context.getResources().getColor(R.color.rectangle_yellow));
}
RequestOptions requestOptions = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.skipMemoryCache(false);
Glide.with(context)
.load(Base64.decode(items.get(holder.getAdapterPosition()).getLogo().split(",")[1], Base64.DEFAULT))
.thumbnail(0.5f)
.apply(requestOptions)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
holder.defaultthumbnail.setVisibility(View.VISIBLE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
holder.defaultthumbnail.setVisibility(View.GONE);
holder.studyImg.setImageDrawable(resource);
return false;
}
}).into(holder.studyImg);
holder.studyTitle.setText(items.get(position).getTitle());
holder.studyTitleLatin.setText(Html.fromHtml(items.get(position).getTagline()));
try {
holder.imgTitle.setText(items.get(position).getCategory().toUpperCase());
} catch (Exception e) {
Logger.log(e);
}
String sponser = "";
sponser = items.get(position).getSponsorName();
holder.sponser.setText(sponser);
holder.container.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Bundle eventProperties = new Bundle();
eventProperties.putString(
CustomFirebaseAnalytics.Param.BUTTON_CLICK_REASON,
context.getString(R.string.study_list));
analyticsInstance.logEvent(
CustomFirebaseAnalytics.Event.ADD_BUTTON_CLICK, eventProperties);
if (click) {
click = false;
new Handler()
.postDelayed(
new Runnable() {
@Override
public void run() {
click = true;
}
},
1500);
try {
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.title),
"" + items.get(holder.getAdapterPosition()).getTitle());
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.status),
"" + items.get(holder.getAdapterPosition()).getStatus());
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.studyStatus),
"" + items.get(holder.getAdapterPosition()).getStudyStatus());
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.position),
"" + holder.getAdapterPosition());
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.enroll),
"" + items.get(holder.getAdapterPosition()).getSetting().isEnrolling());
AppController.getHelperSharedPreference()
.writePreference(
context,
context.getString(R.string.studyVersion),
"" + items.get(holder.getAdapterPosition()).getStudyVersion());
} catch (Exception e) {
Logger.log(e);
}
if (items
.get(position)
.getStatus()
.equalsIgnoreCase(context.getString(R.string.active))
&& items
.get(position)
.getStudyStatus()
.equalsIgnoreCase(StudyFragment.IN_PROGRESS)) {
studyFragment.getStudyUpdate(
items.get(holder.getAdapterPosition()).getStudyId(),
items.get(holder.getAdapterPosition()).getStudyVersion(),
items.get(holder.getAdapterPosition()).getTitle(),
"",
"",
"",
"");
} else {
Intent intent =
new Intent(context.getApplicationContext(), StudyInfoActivity.class);
intent.putExtra("studyId", items.get(holder.getAdapterPosition()).getStudyId());
intent.putExtra("title", items.get(holder.getAdapterPosition()).getTitle());
intent.putExtra("status", items.get(holder.getAdapterPosition()).getStatus());
intent.putExtra(
"studyStatus", items.get(holder.getAdapterPosition()).getStudyStatus());
intent.putExtra("position", "" + holder.getAdapterPosition());
intent.putExtra(
"enroll",
"" + items.get(holder.getAdapterPosition()).getSetting().isEnrolling());
((StudyActivity) context).startActivityForResult(intent, 100);
}
}
}
});
}