AvailableJobsActivity
AvailableJobsActivityunknown
plain_text
3 years ago
36 kB
5
Indexable
package com.gn.networkon.activities.availableJobs import android.animation.Animator import android.content.Context import android.content.Intent import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.os.Bundle import android.util.Log import android.view.View import androidx.annotation.ColorRes import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.isVisible import com.daimajia.androidanimations.library.Techniques import com.daimajia.androidanimations.library.YoYo import com.gn.networkon.BuildConfig import com.gn.networkon.Constants.CommonStrings import com.gn.networkon.Constants.CommonStrings.DateFormat.AVAILABLE_DATE_FORMAT import com.gn.networkon.Constants.CommonStrings.DateFormat.AVAILABLE_JOB_TEXT_FORMAT import com.gn.networkon.Constants.CommonStrings.Keys.Prefs import com.gn.networkon.Constants.CommonStrings.TASK_LINKING_STATUS import com.gn.networkon.NetworkAdapter.APIError import com.gn.networkon.NetworkAdapter.CommonParams import com.gn.networkon.NetworkAdapter.ResponseResolver import com.gn.networkon.NetworkAdapter.RestClient import com.gn.networkon.R import com.gn.networkon.activities.availableJobs.adapters.GetAvailableAdapter import com.gn.networkon.activities.availableJobs.calendar.BaseEvent import com.gn.networkon.activities.availableJobs.calendar.Event import com.gn.networkon.activities.availableJobs.calendar.utils.Day import com.gn.networkon.activities.availableJobs.calendar.utils.Week import com.gn.networkon.common.AppManager import com.gn.networkon.common.LocalStorage import com.gn.networkon.location.LocationUtils import com.gn.networkon.models.locals.AvailableTaskJobs import com.gn.networkon.models.responses.enpResponse.EnpResponse import com.gn.networkon.models.responses.getAllTasks.AllDateDataList import com.gn.networkon.models.responses.getAllTasks.ValuesItem import com.gn.networkon.models.responses.getAvailableTaskData.AvailableData import com.gn.networkon.models.responses.getAvailableTaskData.AvailableJobList import com.gn.networkon.utilities.CommonUtils import com.gn.networkon.utilities.applendoCalenderView.CalendarDay import com.gn.networkon.utilities.applendoCalenderView.EventDay import com.gn.networkon.utilities.applendoCalenderView.exceptions.OutOfDateRangeException import com.gn.networkon.utilities.applendoCalenderView.listeners.OnCalendarPageChangeListener import com.gn.networkon.utilities.applendoCalenderView.listeners.OnDayClickListener import com.gn.networkon.utilities.applendoCalenderView.utils.parseColor import kotlinx.android.synthetic.main.activity_available_job.* import timber.log.Timber import java.text.DateFormat import java.text.Format import java.text.ParseException import java.text.SimpleDateFormat import java.util.* class AvailableJobsActivity : AppCompatActivity(), CalendarFragment.FragmentDateListener { private val list: ArrayList<CalendarDay> = ArrayList() private val availableTaskJobs: ArrayList<AvailableTaskJobs> = ArrayList() private lateinit var selectedCalendarDate: Calendar private var currentDate = "" private var todayDate = "" private var day = 0 private var month = 0 private var isViewOpen = false private var year = 0 var currentPosition = 0 val events = mutableListOf<Event>() val dataList: ArrayList<AvailableJobList> = ArrayList() val tasks: ArrayList<ValuesItem> = ArrayList() private val jobClick = object : JobClick { override fun setClick(isRecurringTask: Boolean, availableTaskJobs: AvailableTaskJobs) { if (isRecurringTask) { callAcceptApi(availableTaskJobs) } else { callChangeJobStatus(availableTaskJobs) } } } private fun callChangeJobStatus(availableTaskJobs: AvailableTaskJobs) { val getParams = CommonParams.Builder() .add("job_id", availableTaskJobs.jobId) .add("job_assignment_id",0) .add("lat", LocationUtils.getLastLatLng(this).latitude) .add("lng", LocationUtils.getLastLatLng(this).longitude) .add("job_status", availableTaskJobs.task_status) RestClient.getApiInterface(this).changeJobStatus(getParams.build().map).enqueue(object : ResponseResolver<EnpResponse?>(this, true, true) { override fun failure(error: APIError<*>) { Log.d("---", error.message) } override fun retry() { callChangeJobStatus(availableTaskJobs) } override fun success(t: EnpResponse?) { setJobsOnPager() } }) } private fun callAcceptApi(availableTaskJobs: AvailableTaskJobs) { val getParams = CommonParams.Builder() getParams.add("id", availableTaskJobs.jobId) getParams.add("date", getSendingDateFormat(availableTaskJobs.getUtcDatetime)) RestClient.getApiInterface(this).accecptRequest(getParams.build().map).enqueue(object : ResponseResolver<EnpResponse?>(this, false, true) { override fun failure(error: APIError<*>?) { vDateProgress.visibility = View.GONE } override fun retry() { callAcceptApi(availableTaskJobs) } override fun success(enpResponse: EnpResponse?) { setJobsOnPager() rvAvailableJobs.visibility = View.GONE finish() startActivity(Intent(applicationContext,AvailableJobsActivity::class.java)) } }) } private fun getSendingDateFormat(utcDatetime: String?): String { val getTargetZone = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) val originalFormat = if (LocalStorage.with(this).getString(CommonStrings.Keys.Prefs.DATE_TIME_FORMAT, "").isNullOrEmpty()) { SimpleDateFormat(CommonStrings.DateFormat.STANDARD_DATE_FORMAT_TZ, CommonUtils.getDateFormatLocale(this)) } else { SimpleDateFormat(LocalStorage.with(this).getString(CommonStrings.Keys.Prefs.DATE_TIME_FORMAT, ""), CommonUtils.getDateFormatLocale(this)) } val getDate = originalFormat.parse(utcDatetime) return getTargetZone.format(getDate) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_available_job) setStrings() setCalendar() setFragment() clicks() getJobData(todayDate) } private fun setJobsOnPager() { viewCalendar.eventRequestCallback = { populate(it) } viewCalendar.onEventClickListener = { isViewOpen = true val getAvailableList: ArrayList<AvailableTaskJobs> = ArrayList() val getSelected = dataList[it.positionOfList] getSelected.tasks.mapIndexed { i, valuesItem -> val getTaskStatus = if (getSelected.tasks.size == 1) { TASK_LINKING_STATUS.ONLY_TASK.status } else if (i == 0) { TASK_LINKING_STATUS.FIRST_TASK.status } else if (i == getSelected.tasks.size - 1) { TASK_LINKING_STATUS.LAST_TASK.status } else { TASK_LINKING_STATUS.NONE.status } val getJobIdData = if (getSelected.job_id != null) valuesItem.getJobId() else getSelected.recurring_id val isRecurringTask = getSelected.job_id == null getAvailableList.add(AvailableTaskJobs(valuesItem.getName(), valuesItem.getLocation(), valuesItem.utcDatetime, valuesItem.utcDatetime, valuesItem.getTaskType(), getTaskStatus, getJobIdData, isRecurringTask, valuesItem.lat, valuesItem.lng, valuesItem.getTaskStatus(), getSelected.tasks[0].getTaskId())) } val getAdapter = GetAvailableAdapter(this, getAvailableList).apply { adapterJobClick = jobClick } rvAvailableJobs.isVisible = true cardView.isVisible = false rvAvailableJobs.adapter = getAdapter } /*viewCalendar.onEventLongClickListener = { Toast.makeText(this, it.title + " long clicked", Toast.LENGTH_SHORT).show() } viewCalendar.onAddEventListener = { val start = DateUtils.formatDateTime(this, it.start, DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_SHOW_TIME) Toast.makeText(this, "Add event at $start", Toast.LENGTH_SHORT).show() true }*/ } @Suppress("MagicNumber") private fun populate(week: Week, force: Boolean = true) { if (!force && viewCalendar.cachedEvents.contains(week)) return events.clear() dataList.mapIndexed { index, availableJobList -> tasks.clear() tasks.add(availableJobList.tasks[0]) val getTitle = if (availableJobList.tasks[0].name.isNullOrEmpty()) { availableJobList.tasks[0].location } else { availableJobList.tasks[0].name } val isSingleTaskId = availableJobList.tasks.size <= 1 //val shouldReduce30Minutes = availableJobList.start_datetime == availableJobList.end_datetime val getJobIdData = availableJobList.job_id ?: availableJobList.recurring_id val startDateTime = availableJobList.tasks[0].getUtcDatetime() val endDateTime = availableJobList.tasks[availableJobList.tasks.size - 1].getUtcDatetime() events.add(BaseEvent( getTitle, availableJobList.tasks[0].taskDescription, R.color.colorPrimary, getTime(startDateTime, isSingleTaskId), getTime(endDateTime, false), false, getJobIdData.toString(), availableJobList.tasks[0].utcDatetime, index)) } /*for (i in 0..15) { val id = nextId++.toString() val start = week.start + abs(random.nextLong()) % DateUtils.WEEK_IN_MILLIS events.add(BaseEvent( id, id, (random.nextInt() or 0xFF000000.toInt()) and 0x00202020.inv(), start, start + abs(random.nextLong()) % (DateUtils.DAY_IN_MILLIS / 8))) } for (i in 0..3) { val id = nextId++.toString() val start = week.start + abs(random.nextLong()) % DateUtils.WEEK_IN_MILLIS events.add(BaseEvent( id, id, (random.nextInt() or 0xFF000000.toInt()) and 0x00202020.inv(), start, start + abs(random.nextLong()) % (DateUtils.DAY_IN_MILLIS * 7), true)) }*/ viewCalendar.setEventsForWeek(week, events) } private fun getJobData(todayDate: String) { val startDateTime = CommonUtils.getLocalToUTCDateTimeAvailableJob(this, "$todayDate 00:00") val endDateTime = CommonUtils.getLocalToUTCDateTimeAvailableJob(this, "$todayDate 23:59") val getParams = CommonParams.Builder() getParams.add("end_date", endDateTime) getParams.add("start_date", startDateTime) RestClient.getApiInterface(this).getAvailableTasks(getParams.build().map).enqueue(object : ResponseResolver<AvailableData>(this, true, true) { override fun success(availableData: AvailableData?) { Timber.tag("AvailableJobList").e(availableData?.data.toString()) if ((availableData?.data != null) && (availableData.data.size != 0)) { dataList.clear() dataList.addAll(availableData.data) } setJobsOnPager() viewCalendar.changeAdapter(todayDate, currentPosition) val originalFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) val getDate = originalFormat.parse(todayDate) val cal = Calendar.getInstance() cal.time = getDate viewCalendar.visibleStart = Day(cal.get(Calendar.YEAR), cal.get(Calendar.WEEK_OF_YEAR), cal.get(Calendar.DAY_OF_WEEK)) viewCalendar.changeAdapter(todayDate, currentPosition) } override fun failure(error: APIError<*>?) { } override fun retry() { getJobData(todayDate) } }) } private fun getTime(startDatetime: String?, shouldReduce30Minutes: Boolean): Long { var startDate = 0L try { var getTargetZone: SimpleDateFormat? = null val originalFormat = if (LocalStorage.with(this).getString(CommonStrings.Keys.Prefs.DATE_TIME_FORMAT, "").isNullOrEmpty()) { getTargetZone = SimpleDateFormat(CommonStrings.DateFormat.STANDARD_DATE_FORMAT_TZ, CommonUtils.getDateFormatLocale(this)) SimpleDateFormat(CommonStrings.DateFormat.STANDARD_DATE_FORMAT_TZ, CommonUtils.getDateFormatLocale(this)) } else { getTargetZone = SimpleDateFormat(LocalStorage.with(this).getString(CommonStrings.Keys.Prefs.DATE_TIME_FORMAT, ""), CommonUtils.getDateFormatLocale(this)) SimpleDateFormat(LocalStorage.with(this).getString(CommonStrings.Keys.Prefs.DATE_TIME_FORMAT, ""), CommonUtils.getDateFormatLocale(this)) } originalFormat.timeZone = TimeZone.getTimeZone("UTC") val date: Date = originalFormat.parse(startDatetime) getTargetZone.timeZone = TimeZone.getTimeZone("en") val getOrig = getTargetZone.format(date) val finalDate = getTargetZone.parse(getOrig) val in30Minutes = (30 * 60 * 1000).toLong() startDate = if (shouldReduce30Minutes) finalDate.time.minus(in30Minutes) else finalDate.time } catch (e: ParseException) { e.printStackTrace() } return startDate } private fun setFragment() { supportFragmentManager.beginTransaction().add(R.id.flContainer, CalendarFragment(), "CalendarFragment").commit() } private fun setStrings() { calendarView.setHeaderColor(R.color.colorPrimary) tvHeaderName.text = getCurrentMonth(getCurrentDate(false)) tvSelectedDate.text = getCurrentDate(true) val sdfFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) todayDate = sdfFormat.format(Date()) } private fun getCurrentMonth(currentDate: String): String { val cal = Calendar.getInstance() cal.time = SimpleDateFormat(AVAILABLE_DATE_FORMAT, CommonUtils.getDateFormatLocale(this)).parse(currentDate) val formatter: Format = SimpleDateFormat("MMMM", CommonUtils.getDateFormatLocale(this)) return formatter.format(cal.time) } private fun setCalendar() { list.clear() val calendarDay = CalendarDay(Calendar.getInstance()) if (BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon) { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.colorPrimary, R.color.colorPrimary) } else { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.accent_55, R.color.accent_55) } if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi || BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon) { calendarDay.labelColor = R.color.white } else { calendarDay.labelColor = R.color.colorPrimaryDark } list.add(calendarDay) calendarView.setCalendarDays(list) try { calendarView.setDate(Calendar.getInstance()) } catch (e: OutOfDateRangeException) { e.printStackTrace() } selectedCalendarDate = Calendar.getInstance() calendarView.setOnForwardPageChangeListener(object : OnCalendarPageChangeListener { override fun onChange() { renderNextMonth() } }) calendarView.setOnPreviousPageChangeListener(object : OnCalendarPageChangeListener { override fun onChange() { renderPreviousMonth() } }) calendarView.setOnDayClickListener(object : OnDayClickListener { override fun onDayClick(eventDay: EventDay) { list.clear() val calendarDay = CalendarDay(eventDay.calendar) if (BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon) { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.colorPrimary, R.color.colorPrimary) } else { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.accent_55, R.color.accent_55) } if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi || BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon) { calendarDay.labelColor = R.color.white } else { calendarDay.labelColor = R.color.colorPrimaryDark } list.add(calendarDay) calendarView.setCalendarDays(list) try { calendarView.setDate(eventDay.calendar) } catch (e: OutOfDateRangeException) { e.printStackTrace() } rlCalendarContainer.visibility = View.INVISIBLE cardView.isVisible = true day = eventDay.calendar[Calendar.DAY_OF_MONTH] val sdfFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) currentDate = sdfFormat.format(eventDay.calendar.time) todayDate = currentDate selectedCalendarDate = eventDay.calendar currentPosition = 1 setDateData(todayDate) } }) renderCurrentMonth() } private fun renderNextMonth() { var getMonthOnlyForNextFetchValue = 0 if (month == Calendar.DECEMBER) { month = Calendar.JANUARY ++year } else { getMonthOnlyForNextFetchValue = month ++month } getAllDateData(false) } private fun renderPreviousMonth() { var getMonthOnlyForFetchValue = 0 if (month == Calendar.JANUARY) { month = Calendar.DECEMBER --year } else { getMonthOnlyForFetchValue = month --month } getAllDateData(false) } private fun renderCurrentMonth() { val calendar = Calendar.getInstance() val currentMonth = calendar[Calendar.MONTH] val currentYear = calendar[Calendar.YEAR] month = currentMonth year = currentYear day = calendar[Calendar.DAY_OF_MONTH] } private fun getAllDateData(isCurrentMonth: Boolean) { vDateProgress.visibility = View.VISIBLE val getParams = getParamsForData() RestClient.getApiInterface(this).getAvailableTaskDates(getParams.build().map).enqueue(object : ResponseResolver<AllDateDataList?>(this, false, true) { override fun failure(error: APIError<*>?) { vDateProgress.visibility = View.GONE } override fun retry() { getAllDateData(isCurrentMonth) } override fun success(allDateDataList: AllDateDataList?) { vDateProgress.visibility = View.GONE AppManager.getInstance().isShouldApiHit = false val df: DateFormat val formatter: DateFormat if (LocalStorage.with(this@AvailableJobsActivity).getString(Prefs.DATE_TIME_FORMAT, "") == "" || LocalStorage.with(this@AvailableJobsActivity).getString(Prefs.DATE_TIME_FORMAT, "") == null) { df = SimpleDateFormat("dd/MM/yyyy", CommonUtils.getDateFormatLocale(this@AvailableJobsActivity)) formatter = SimpleDateFormat("yyyy-MM-dd", CommonUtils.getDateFormatLocale(this@AvailableJobsActivity)) } else { Log.e("TAG", "--------------------" + LocalStorage.with(this@AvailableJobsActivity).getString(Prefs.DATE_FORMAT, "")) df = SimpleDateFormat(LocalStorage.with(this@AvailableJobsActivity).getString(Prefs.DATE_FORMAT, ""), CommonUtils.getDateFormatLocale(this@AvailableJobsActivity)) formatter = SimpleDateFormat(LocalStorage.with(this@AvailableJobsActivity).getString(Prefs.DATE_FORMAT, ""), CommonUtils.getDateFormatLocale(this@AvailableJobsActivity)) } val currentDayTime = Calendar.getInstance() val highlightedDates: MutableList<Calendar> = ArrayList() for (i in allDateDataList!!.data.indices) { val date = allDateDataList.data[i] val cal = Calendar.getInstance() val temp = Calendar.getInstance() try { cal.time = df.parse(date) if (currentDate != null) { temp.time = formatter.parse(currentDate) currentDayTime.time = formatter.parse(currentDate) } else { temp.time = formatter.parse(todayDate) } } catch (e: ParseException) { e.printStackTrace() } if (cal.time != temp.time) { highlightedDates.add(cal) } } calendarView.selectedDates = highlightedDates if (isCurrentMonth) { val list: MutableList<CalendarDay> = ArrayList() val date: Date = selectedCalendarDate.time val cal = Calendar.getInstance() cal.time = date val calendarDay = CalendarDay(cal) if (BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon || BuildConfig.FLAVOR == CommonStrings.flavorsName.pooli) { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.colorPrimary, R.color.colorPrimary) } else { calendarDay.backgroundDrawable = getDayCircle(applicationContext, R.color.accent_55, R.color.accent_55) } if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi || BuildConfig.FLAVOR == CommonStrings.flavorsName.dash || BuildConfig.FLAVOR == CommonStrings.flavorsName.eathappynow || BuildConfig.FLAVOR == CommonStrings.flavorsName.cupboardwagon || BuildConfig.FLAVOR == CommonStrings.flavorsName.pooli) { calendarDay.labelColor = R.color.white } else { calendarDay.labelColor = R.color.colorPrimaryDark } list.add(calendarDay) calendarView.setCalendarDays(list) try { calendarView.setDate(cal) } catch (e: OutOfDateRangeException) { e.printStackTrace() } } } }) } private fun getParamsForData(): CommonParams.Builder { val getParams = CommonParams.Builder() val calendar = Calendar.getInstance(Locale.ENGLISH) calendar[year, month] = calendar.getActualMinimum(Calendar.DAY_OF_MONTH) val monthFirstDay = calendar.time calendar[year, month] = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) val monthLastDay = calendar.time val df = SimpleDateFormat(CommonStrings.DateFormat.AVAILABLE_SEND_DATE_FORMAT, Locale.ENGLISH) df.timeZone = TimeZone.getTimeZone("UTC") val startDateStr = df.format(monthFirstDay) val endDateStr = df.format(monthLastDay) getParams.add("start_date", startDateStr) getParams.add("end_date", endDateStr) getParams.add("get_upcoming_dates", true) return getParams } private fun clicks() { llBack.setOnClickListener { if (isViewOpen){ rvAvailableJobs.isVisible = false cardView.isVisible = true isViewOpen = false }else{ finish() } } llCalendar.setOnClickListener { renderCalender(false) } vCalendarBackground.setOnClickListener { renderCalender(true) } } private fun renderCalender(isCalendarVisible: Boolean) { cardView.isVisible = isCalendarVisible if (isViewOpen){ rvAvailableJobs.isVisible = false cardView.isVisible = true isViewOpen = false } if (!isCalendarVisible) { YoYo.with(Techniques.BounceInDown).duration(500).withListener(object : Animator.AnimatorListener { override fun onAnimationStart(animator: Animator) { getAllDateData(true) //getAllDateData(true); vCalendarBackground.visibility = View.VISIBLE rlCalendarContainer.visibility = View.VISIBLE } override fun onAnimationEnd(animator: Animator) {} override fun onAnimationCancel(animator: Animator) {} override fun onAnimationRepeat(animator: Animator) {} }).playOn(rlCalendarContainer) } else { YoYo.with(Techniques.SlideOutUp).duration(300).withListener(object : Animator.AnimatorListener { override fun onAnimationStart(animator: Animator) { vCalendarBackground.visibility = View.GONE } override fun onAnimationEnd(animator: Animator) { rlCalendarContainer.visibility = View.INVISIBLE } override fun onAnimationCancel(animator: Animator) {} override fun onAnimationRepeat(animator: Animator) {} }).playOn(rlCalendarContainer) } } @JvmName("getCurrentDate1") private fun getCurrentDate(value: Boolean): String { val selectedCalendarDate = Calendar.getInstance(CommonUtils.getDateFormatLocale(this)) val formatter = if (value) { SimpleDateFormat(AVAILABLE_JOB_TEXT_FORMAT, CommonUtils.getDateFormatLocale(this)) } else { SimpleDateFormat(CommonStrings.DateFormat.AVAILABLE_DATE_FORMAT, CommonUtils.getDateFormatLocale(this)) } return formatter.format(selectedCalendarDate.time) } fun getDayCircle(context: Context, @ColorRes borderColor: Int, @ColorRes fillColor: Int): Drawable? { val drawable = ContextCompat.getDrawable(context, R.drawable.background_circle_date) as GradientDrawable? drawable!!.setStroke(0, context.parseColor(borderColor)) drawable.setColor(context.parseColor(fillColor)) return drawable } override fun onResume() { super.onResume() } override fun onDateChanged(currentDateFrom: String) { tvHeaderName.text = getCurrentMonth(currentDateFrom) val originalFormat = SimpleDateFormat(AVAILABLE_DATE_FORMAT, CommonUtils.getDateFormatLocale(this)) val getDate = originalFormat.parse(currentDateFrom) val format = SimpleDateFormat(AVAILABLE_JOB_TEXT_FORMAT, CommonUtils.getDateFormatLocale(this)) val getDateForShow = format.format(getDate) tvSelectedDate.text = getDateForShow val sdfFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) todayDate = sdfFormat.format(getDate) getJobData(todayDate) } private fun setDateData(todayDate: String) { getJobData(todayDate) val originalFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) val getDate = originalFormat.parse(todayDate) val originalFormat1 = SimpleDateFormat(AVAILABLE_JOB_TEXT_FORMAT, CommonUtils.getDateFormatLocale(this)) val getDateForShow = originalFormat1.format(getDate) tvSelectedDate.text = getDateForShow val newFormat = SimpleDateFormat(AVAILABLE_DATE_FORMAT, CommonUtils.getDateFormatLocale(this)) val newDate = newFormat.format(getDate) tvHeaderName.text = getCurrentMonth(newDate) } } /*jobDialog = AlertDialog.Builder(this, R.style.CustomAlertDialog).create() val inflater = this.layoutInflater val paymentDialogView: View = inflater.inflate(R.layout.layout_tasks_invitation_item, null) val llTimer: FrameLayout = paymentDialogView.findViewById(R.id.llTimer) val llTaskName: RelativeLayout = paymentDialogView.findViewById(R.id.llTaskName) val tvInvitationItemCustomerName: TextView = paymentDialogView.findViewById(R.id.tvInvitationItemCustomerName) val tvTaskInvitationItemDate: TextView = paymentDialogView.findViewById(R.id.tvTaskInvitationItemDate) val tvStatus: ImageView = paymentDialogView.findViewById(R.id.tvInvitationItemTaskStatus) val tvStatusName: TextView = paymentDialogView.findViewById(R.id.tvStatusName) val tvTaskInvitationItemAddress: TextView = paymentDialogView.findViewById(R.id.tvTaskInvitationItemAddress) val no: TextView = paymentDialogView.findViewById(R.id.no) val yes: TextView = paymentDialogView.findViewById(R.id.yes) val llEarningEstimateLayout: LinearLayout = paymentDialogView.findViewById(R.id.llEarningEstimateLayout) jobDialog!!.setView(paymentDialogView) llTimer.isVisible = false llEarningEstimateLayout.isVisible = false no.text = StringFetcher.getString(this, R.string.decline) yes.text = StringFetcher.getString(this, R.string.accept) val getTask = tasks[it.positionOfList] val getAllTask = dataList[it.positionOfList] tvInvitationItemCustomerName.apply { text = if (getTask.name.isNullOrEmpty()) "" else getTask.name } llTaskName.isVisible = !getTask.name.isNullOrEmpty() tvTaskInvitationItemAddress.text = getTask.getLocation() tvTaskInvitationItemDate.text = if (LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "") == "" || LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "") == null) { if (getTask.getTaskType() == 2) { if (getTask.getEndDatetime() != null) { CommonUtils.convertTZToLocal(this, getTask.getUtcDatetime(), CommonStrings.DateFormat.END_USER_DATE_TIME_FORMAT) + " - " + CommonUtils.convertTZToLocal(this, FirebaseNotifications.serviceEndDateTime, CommonStrings.DateFormat.END_USER_DATE_TIME_FORMAT) } else { CommonUtils.convertTZToLocal(this, getTask.getUtcDatetime(), CommonStrings.DateFormat.END_USER_DATE_TIME_FORMAT) + " - " + CommonUtils.convertTZToLocal(this, FirebaseNotifications.serviceEndDateTime, CommonStrings.DateFormat.END_USER_DATE_TIME_FORMAT) } } else { CommonUtils.convertTZToLocal(this, getTask.getUtcDatetime(), CommonStrings.DateFormat.END_USER_DATE_TIME_FORMAT) } } else { if (getTask.getTaskType() == 2) { if (getTask.getEndDatetime() != null) { CommonUtils.convertTZToLocal(this, getTask.getUtcDatetime(), LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "")) + " - " + CommonUtils.convertTZDynamicForPushes(this, FirebaseNotifications.serviceEndDateTime, LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "")) } else { CommonUtils.convertTZToLocal(this, getTask.getUtcDatetime(), LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "")) + " - " + CommonUtils.convertTZDynamicForPushes(this, FirebaseNotifications.serviceEndDateTime, LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "")) } } else { CommonUtils.convertTZDynamicForPushes(this, getTask.getUtcDatetime(), LocalStorage.with(this).getString(Prefs.DATE_TIME_FORMAT, "")) } } if (getTask.getTaskType() == 0) { if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi) { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_pickup_pd)) } else { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_pickup_background)) } tvStatusName.text = StringFetcher.getString(this, R.string.pick_up) } else if (getTask.getTaskType() == 1) { if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi) { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_delivery_pd)) } else { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_delivery_background)) } tvStatusName.text = StringFetcher.getString(this, R.string.delivery) } else if (getTask.getTaskType() == 2) { if (BuildConfig.FLAVOR == CommonStrings.flavorsName.pidi) { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_pickup_pd)) } else { tvStatus.setBackgroundDrawable(resources.getDrawable(R.drawable.ic_pickup_background)) } tvStatusName.text = StringFetcher.getString(this, R.string.service) } no.setOnClickListener { jobDialog!!.dismiss() } yes.setOnClickListener { jobDialog!!.dismiss() } jobDialog!!.show()*/
Editor is loading...