Skip to content

Commit

Permalink
CA-1983 - Updated displaying reviewer name
Browse files Browse the repository at this point in the history
  • Loading branch information
anuphap committed Feb 10, 2020
1 parent c2889dd commit f025cc4
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ data class EventResponse(
}

reviewer?.let {
event.firstNameReviewer = it.firstName ?: it.email.split("@")[0]
event.firstNameReviewer = it.email.split("@")[0] //TODO: UPDATE LATER - WAITING API SUPPORT FIRST NAME
event.reviewConfirmed = it.confirmed
}

Expand Down
3 changes: 0 additions & 3 deletions app/src/main/java/org/rfcx/ranger/entity/event/Review.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@ open class Review {
open class Reviewer {
@SerializedName("firstname")
var firstName: String? = ""

@SerializedName("lastname")
var lastName: String? = ""

var email: String = ""

var confirmed: Boolean? = null
}
16 changes: 16 additions & 0 deletions app/src/main/java/org/rfcx/ranger/util/EventExt.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.rfcx.ranger.util

import android.annotation.SuppressLint
import android.content.Context
import org.rfcx.ranger.R
import org.rfcx.ranger.adapter.entity.BaseItem
Expand Down Expand Up @@ -64,6 +65,21 @@ fun Event.toEventItem(eventDb: EventDb): EventItem {

data class EventItem(var event: Event, var state: State = State.NONE) : BaseItem {

@SuppressLint("DefaultLocale")
fun getReviewerName(context: Context):String {
return if (state != State.NONE) {
if (event.firstNameReviewer.isNotBlank()) {
event.firstNameReviewer
} else {
context.getNameEmail()
}.capitalize()
} else {
event.firstNameReviewer.capitalize()
}
}



enum class State {
CONFIRM, REJECT, NONE
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import org.rfcx.ranger.entity.event.EventReview
import org.rfcx.ranger.entity.event.ReviewEventFactory
import org.rfcx.ranger.service.ReviewEventSyncWorker
import org.rfcx.ranger.util.NetworkNotConnection
import org.rfcx.ranger.util.getNameEmail
import org.rfcx.ranger.util.isNetworkAvailable
import java.io.File

Expand Down Expand Up @@ -231,7 +232,11 @@ class AlertBottomDialogViewModel(private val context: Context,
// save to review unsent
eventDb.save(EventReview(requests.eventGuID, requests.reviewConfirm,
EventReview.UNSENT))
_reviewEvent.value = Result.Success(Pair(eventResult!!, requests))
val event = eventResult!!.apply {
it.firstNameReviewer = context.getNameEmail() // update reviewer on offline
}
eventDb.saveEvent(event)
_reviewEvent.value = Result.Success(Pair(event, requests))
_eventState.value = EventState.REVIEWED // invoke state to review
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
package org.rfcx.ranger.view.alerts.adapter

import android.annotation.SuppressLint
import android.content.Context
import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.widget.AppCompatImageView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
Expand Down Expand Up @@ -92,13 +88,8 @@ class AlertsAdapter(val listener: AlertClickListener) : ListAdapter<BaseItem, Re
tvAgreeValue.text = item.event.confirmedCount.toString()
tvRejectValue.text = item.event.rejectedCount.toString()
tvReviewed.text = context.getString(if (item.event.firstNameReviewer.isNotBlank() || item.state !== EventItem.State.NONE) R.string.last_reviewed_by else R.string.not_have_review)
tvNameReviewer.visibility = if (item.event.firstNameReviewer.isNotBlank() || item.state !== EventItem.State.NONE) View.VISIBLE else View.INVISIBLE

if (item.state !== EventItem.State.NONE) {
tvNameReviewer.text = context.getNameEmail().capitalize()
} else if (item.event.firstNameReviewer.isNotBlank()) {
tvNameReviewer.text = item.event.firstNameReviewer.capitalize()
}
tvNameReviewer.text = item.getReviewerName(context)
tvNameReviewer.visibility = if (item.event.firstNameReviewer.isNotBlank() || item.state != EventItem.State.NONE) View.VISIBLE else View.INVISIBLE

when (item.state) {
EventItem.State.CONFIRM -> {
Expand All @@ -111,7 +102,7 @@ class AlertsAdapter(val listener: AlertClickListener) : ListAdapter<BaseItem, Re
ivReject.setImageDrawable(context.getImage(R.drawable.ic_reject_event_gray))
ivReject.setBackgroundColor(context.getBackgroundColor(R.color.transparent))

val confirmCount = if (item.event.confirmedCount > 0) item.event.confirmedCount else 1
val confirmCount = if (item.event.confirmedCount > 0) item.event.confirmedCount else 1
tvAgreeValue.text = confirmCount.toString()
}
EventItem.State.REJECT -> {
Expand All @@ -124,7 +115,7 @@ class AlertsAdapter(val listener: AlertClickListener) : ListAdapter<BaseItem, Re
ivAgree.setImageDrawable(context.getImage(R.drawable.ic_confirm_event_gray))
ivAgree.setBackgroundColor(context.getBackgroundColor(R.color.transparent))

val rejectedCount = if (item.event.rejectedCount > 0) item.event.rejectedCount else 1
val rejectedCount = if (item.event.rejectedCount > 0) item.event.rejectedCount else 1
tvRejectValue.text = rejectedCount.toString()
}
EventItem.State.NONE -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,10 @@ class ItemAlertDetailByTypeAdapter(var items: MutableList<EventItem>, val listen
tvAgreeValue.text = item.event.confirmedCount.toString()
tvRejectValue.text = item.event.rejectedCount.toString()
tvReviewed.text = context.getString(if (item.event.firstNameReviewer.isNotBlank() || item.state !== EventItem.State.NONE) R.string.last_reviewed_by else R.string.not_have_review)
tvNameReviewer.text = item.getReviewerName(context)
tvNameReviewer.visibility = if (item.event.firstNameReviewer.isNotBlank() || item.state !== EventItem.State.NONE) View.VISIBLE else View.INVISIBLE
linearLayout.visibility = View.INVISIBLE

if (item.state !== EventItem.State.NONE) {
tvNameReviewer.text = context.getNameEmail().capitalize()
} else if (item.event.firstNameReviewer.isNotBlank()) {
tvNameReviewer.text = item.event.firstNameReviewer.capitalize()
}

when (item.state) {
EventItem.State.CONFIRM -> {
circleImageView.visibility = View.INVISIBLE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,16 @@ class StatusAdapter(private val statusTitle: String?, private val alertTitle: St
override fun getId(): Int = -3

fun getGuardianShortname(): String = event.guardianName
@SuppressLint("DefaultLocale")
fun getReviewerName(context: Context): String = if (state != State.NONE) {
if (event.firstNameReviewer.isNotBlank()) {
event.firstNameReviewer
} else {
context.getNameEmail()
}.capitalize()
} else {
event.firstNameReviewer.capitalize()
}
fun getImage(): Int = event.value.toEventIcon()
fun getTime(context: Context): String = " ${event.beginsAt.toTimeSinceStringAlternativeTimeAgo(context)}"
fun getReviewed(context: Context): String = context.getString(if (event.firstNameReviewer.isNotBlank() || state !== State.NONE) R.string.last_reviewed_by else R.string.not_have_review)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import androidx.recyclerview.widget.RecyclerView
import org.rfcx.ranger.R
import org.rfcx.ranger.databinding.ItemStatusAlertBinding
import org.rfcx.ranger.util.EventItem
import org.rfcx.ranger.util.getNameEmail
import org.rfcx.ranger.view.status.StatusFragmentListener
import org.rfcx.ranger.view.status.adapter.StatusAdapter

Expand All @@ -21,17 +20,6 @@ class AlertView(private val binding: ItemStatusAlertBinding, private val listene
binding.reviewedTextView.visibility = View.VISIBLE
binding.confirmCount = item.event.confirmedCount.toString()
binding.rejectCount = item.event.rejectedCount.toString()
if (item.event.firstNameReviewer.isNotBlank() || item.state !== StatusAdapter.AlertItem.State.NONE) {
binding.nameReviewerTextView.visibility = View.VISIBLE
} else {
binding.nameReviewerTextView.visibility = View.INVISIBLE
}

if (item.state !== StatusAdapter.AlertItem.State.NONE) {
binding.nameReviewerTextView.text = binding.root.context.getNameEmail().capitalize()
} else if (item.event.firstNameReviewer.isNotBlank()) {
binding.nameReviewerTextView.text = item.event.firstNameReviewer.capitalize()
}

when (item.state) {
StatusAdapter.AlertItem.State.CONFIRM -> {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/layout/item_status_alert.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@
android:gravity="center_vertical"
android:maxLines="1"
android:textStyle="bold"
android:text="@{alertItem.getReviewerName(context)}"
android:visibility="@{alertItem.event.firstNameReviewer.length() > 0 ? View.VISIBLE : View.INVISIBLE}"
app:layout_constraintEnd_toStartOf="@+id/linearLayout"
app:layout_constraintStart_toEndOf="@+id/reviewedTextView"
app:layout_constraintTop_toBottomOf="@+id/alertTitleLayout"
Expand Down

0 comments on commit f025cc4

Please sign in to comment.