/* * * Nextcloud Android client application * * @author Tobias Kaminsky * Copyright (C) 2020 Tobias Kaminsky * Copyright (C) 2020 Nextcloud GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package com.owncloud.android.ui.adapter import android.content.Context import androidx.recyclerview.widget.RecyclerView import com.owncloud.android.R import com.owncloud.android.databinding.PredefinedStatusBinding import com.owncloud.android.lib.resources.users.PredefinedStatus import com.owncloud.android.utils.DisplayUtils class PredefinedStatusViewHolder(private val binding: PredefinedStatusBinding) : RecyclerView.ViewHolder(binding.root) { private val ONE_SECOND_IN_MILLIS = 1000 fun bind(status: PredefinedStatus, clickListener: PredefinedStatusClickListener, context: Context) { binding.root.setOnClickListener { clickListener.onClick(status) } binding.icon.text = status.icon binding.name.text = status.message if (status.clearAt == null) { binding.clearAt.text = context.getString(R.string.dontClear) } else { val clearAt = status.clearAt!! if (clearAt.type.equals("period")) { binding.clearAt.text = DisplayUtils.getRelativeTimestamp( context, System.currentTimeMillis() + clearAt.time.toInt() * ONE_SECOND_IN_MILLIS, true) } else { // end-of if (clearAt.time.equals("day")) { binding.clearAt.text = context.getString(R.string.today) } } } } }