fix formatting
This commit is contained in:
parent
3d6f6206e6
commit
dc139d4dae
|
@ -79,7 +79,6 @@ class TimelineFragment : DaggerFragment(R.layout.fragment_timeline), TimeLineAct
|
|||
adapter.addDataRefreshListener {
|
||||
binding.timelineSwipeRefresh.isRefreshing = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onFavorite(status: StatusEntity) {
|
||||
|
|
|
@ -80,7 +80,7 @@ fun BindingHolder<ItemStatusBinding>.bind(status: StatusEntity, displayWidth: In
|
|||
(binding.postImages.adapter as TimelineImageAdapter).images = status.attachments
|
||||
|
||||
val maxImageRatio = status.attachments.map {
|
||||
if(it.meta?.small?.width == null || it.meta.small.height == null) {
|
||||
if (it.meta?.small?.width == null || it.meta.small.height == null) {
|
||||
1f
|
||||
} else {
|
||||
it.meta.small.height.toFloat() / it.meta.small.width.toFloat()
|
||||
|
@ -135,4 +135,4 @@ fun BindingHolder<ItemStatusBinding>.bind(status: StatusEntity, displayWidth: In
|
|||
binding.root.setOnClickListener {
|
||||
listener.onDetailsOpened(status)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,31 +18,29 @@ class TimelineUseCases @Inject constructor(
|
|||
) {
|
||||
|
||||
suspend fun onFavorite(status: StatusEntity) {
|
||||
val alreadyFavourited = status.favourited
|
||||
if (alreadyFavourited) {
|
||||
api.unfavouriteStatus(status.actionableId)
|
||||
} else {
|
||||
api.favouriteStatus(status.actionableId)
|
||||
}.updateStatusInDb()
|
||||
val alreadyFavourited = status.favourited
|
||||
if (alreadyFavourited) {
|
||||
api.unfavouriteStatus(status.actionableId)
|
||||
} else {
|
||||
api.favouriteStatus(status.actionableId)
|
||||
}.updateStatusInDb()
|
||||
}
|
||||
|
||||
suspend fun onBoost(status: StatusEntity) {
|
||||
val alreadyBoosted = status.reblogged
|
||||
if (alreadyBoosted) {
|
||||
api.unreblogStatus(status.actionableId)
|
||||
} else {
|
||||
api.reblogStatus(status.actionableId)
|
||||
}.updateStatusInDb()
|
||||
|
||||
val alreadyBoosted = status.reblogged
|
||||
if (alreadyBoosted) {
|
||||
api.unreblogStatus(status.actionableId)
|
||||
} else {
|
||||
api.reblogStatus(status.actionableId)
|
||||
}.updateStatusInDb()
|
||||
}
|
||||
|
||||
suspend fun onMediaVisibilityChanged(status: StatusEntity) {
|
||||
db.statusDao().changeMediaVisibility(
|
||||
!status.mediaVisible,
|
||||
status.id,
|
||||
accountManager.activeAccount()?.id!!
|
||||
)
|
||||
|
||||
db.statusDao().changeMediaVisibility(
|
||||
!status.mediaVisible,
|
||||
status.id,
|
||||
accountManager.activeAccount()?.id!!
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun NetworkResponse<Status>.updateStatusInDb() {
|
||||
|
@ -57,5 +55,4 @@ class TimelineUseCases @Inject constructor(
|
|||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,5 +71,4 @@ class TimelineViewModel @Inject constructor(
|
|||
useCases.onMediaVisibilityChanged(status)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ import at.connyduck.pixelcat.db.entitity.StatusEntity
|
|||
import at.connyduck.pixelcat.util.viewBinding
|
||||
import javax.inject.Inject
|
||||
|
||||
class DetailActivity: BaseActivity(), TimeLineActionListener {
|
||||
class DetailActivity : BaseActivity(), TimeLineActionListener {
|
||||
|
||||
@Inject
|
||||
lateinit var viewModelFactory: ViewModelFactory
|
||||
|
@ -69,37 +69,41 @@ class DetailActivity: BaseActivity(), TimeLineActionListener {
|
|||
|
||||
binding.detailRecyclerView.adapter = ConcatAdapter(statusAdapter, repliesAdapter)
|
||||
|
||||
viewModel.currentStatus.observe(this, Observer {
|
||||
when(it) {
|
||||
is Success -> {
|
||||
binding.detailSwipeRefresh.show()
|
||||
binding.detailStatus.hide()
|
||||
binding.detailProgress.hide()
|
||||
binding.detailSwipeRefresh.isRefreshing = false
|
||||
binding.detailRecyclerView.show()
|
||||
statusAdapter.submitList(listOf(it.data))
|
||||
}
|
||||
is Loading -> {
|
||||
binding.detailSwipeRefresh.hide()
|
||||
binding.detailStatus.hide()
|
||||
binding.detailProgress.show()
|
||||
}
|
||||
is Error -> {
|
||||
binding.detailSwipeRefresh.hide()
|
||||
binding.detailStatus.show()
|
||||
binding.detailProgress.hide()
|
||||
binding.detailStatus.setOnRetryListener { }
|
||||
binding.detailStatus.showGeneralError()
|
||||
viewModel.currentStatus.observe(
|
||||
this,
|
||||
Observer {
|
||||
when (it) {
|
||||
is Success -> {
|
||||
binding.detailSwipeRefresh.show()
|
||||
binding.detailStatus.hide()
|
||||
binding.detailProgress.hide()
|
||||
binding.detailSwipeRefresh.isRefreshing = false
|
||||
binding.detailRecyclerView.show()
|
||||
statusAdapter.submitList(listOf(it.data))
|
||||
}
|
||||
is Loading -> {
|
||||
binding.detailSwipeRefresh.hide()
|
||||
binding.detailStatus.hide()
|
||||
binding.detailProgress.show()
|
||||
}
|
||||
is Error -> {
|
||||
binding.detailSwipeRefresh.hide()
|
||||
binding.detailStatus.show()
|
||||
binding.detailProgress.hide()
|
||||
binding.detailStatus.showGeneralError()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
viewModel.replies.observe(this, Observer {
|
||||
if(it is Success) {
|
||||
repliesAdapter.submitList(it.data)
|
||||
viewModel.replies.observe(
|
||||
this,
|
||||
Observer {
|
||||
if (it is Success) {
|
||||
repliesAdapter.submitList(it.data)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
override fun onFavorite(status: StatusEntity) {
|
||||
|
@ -131,5 +135,4 @@ class DetailActivity: BaseActivity(), TimeLineActionListener {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.text.SimpleDateFormat
|
|||
|
||||
class DetailReplyAdapter(
|
||||
private val listener: TimeLineActionListener
|
||||
): ListAdapter<StatusEntity, BindingHolder<ItemReplyBinding>>(TimelineDiffUtil) {
|
||||
) : ListAdapter<StatusEntity, BindingHolder<ItemReplyBinding>>(TimelineDiffUtil) {
|
||||
|
||||
private val dateTimeFormatter = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT)
|
||||
|
||||
|
@ -51,8 +51,6 @@ class DetailReplyAdapter(
|
|||
holder.binding.postReplyButton.setOnClickListener {
|
||||
listener.onReply(status)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -12,11 +12,10 @@ import at.connyduck.pixelcat.databinding.ItemStatusBinding
|
|||
import at.connyduck.pixelcat.db.entitity.StatusEntity
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
|
||||
class DetailStatusAdapter(
|
||||
private val displayWidth: Int,
|
||||
private val listener: TimeLineActionListener
|
||||
): ListAdapter<StatusEntity, BindingHolder<ItemStatusBinding>>(TimelineDiffUtil) {
|
||||
) : ListAdapter<StatusEntity, BindingHolder<ItemStatusBinding>>(TimelineDiffUtil) {
|
||||
|
||||
private val dateTimeFormatter = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT)
|
||||
|
||||
|
@ -36,5 +35,4 @@ class DetailStatusAdapter(
|
|||
holder.bind(status, displayWidth, listener, dateTimeFormatter)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ class DetailViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
fun reload(showLoading: Boolean) {
|
||||
if(showLoading) {
|
||||
if (showLoading) {
|
||||
currentStatus.value = Loading()
|
||||
replies.value = Loading()
|
||||
}
|
||||
|
@ -78,23 +78,31 @@ class DetailViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
private suspend fun loadStatus() {
|
||||
api.status(statusId).fold({
|
||||
val statusEntity = it.toEntity(accountManager.activeAccount()?.id!!)
|
||||
db.statusDao().insertOrReplace(statusEntity)
|
||||
currentStatus.value = Success(statusEntity)
|
||||
}, {
|
||||
currentStatus.value = Error(cause = it)
|
||||
})
|
||||
api.status(statusId).fold(
|
||||
{
|
||||
val statusEntity = it.toEntity(accountManager.activeAccount()?.id!!)
|
||||
db.statusDao().insertOrReplace(statusEntity)
|
||||
currentStatus.value = Success(statusEntity)
|
||||
},
|
||||
{
|
||||
currentStatus.value = Error(cause = it)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun loadReplies() {
|
||||
api.statusContext(statusId).fold({
|
||||
replies.value = Success(it.descendants.map{
|
||||
descendant -> descendant.toEntity(accountManager.activeAccount()?.id!!)
|
||||
})
|
||||
}, {
|
||||
replies.value = Error(cause = it)
|
||||
})
|
||||
api.statusContext(statusId).fold(
|
||||
{
|
||||
replies.value = Success(
|
||||
it.descendants.map { descendant ->
|
||||
descendant.toEntity(accountManager.activeAccount()?.id!!)
|
||||
}
|
||||
)
|
||||
},
|
||||
{
|
||||
replies.value = Error(cause = it)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun onFavorite(status: StatusEntity) {
|
||||
|
@ -114,5 +122,4 @@ class DetailViewModel @Inject constructor(
|
|||
useCases.onMediaVisibilityChanged(status)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -57,4 +57,4 @@ class StatusView @JvmOverloads constructor(
|
|||
binding.statusMessage.setText(R.string.status_network_error)
|
||||
binding.statusMessage.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_wifi_off, 0, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package at.connyduck.pixelcat.model
|
|||
import com.squareup.moshi.JsonClass
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class StatusContext (
|
||||
data class StatusContext(
|
||||
val ancestors: List<Status>,
|
||||
val descendants: List<Status>
|
||||
)
|
||||
|
|
|
@ -19,7 +19,14 @@
|
|||
|
||||
package at.connyduck.pixelcat.network
|
||||
|
||||
import at.connyduck.pixelcat.model.*
|
||||
import at.connyduck.pixelcat.model.AccessToken
|
||||
import at.connyduck.pixelcat.model.Account
|
||||
import at.connyduck.pixelcat.model.AppCredentials
|
||||
import at.connyduck.pixelcat.model.Attachment
|
||||
import at.connyduck.pixelcat.model.NewStatus
|
||||
import at.connyduck.pixelcat.model.Relationship
|
||||
import at.connyduck.pixelcat.model.Status
|
||||
import at.connyduck.pixelcat.model.StatusContext
|
||||
import at.connyduck.pixelcat.network.calladapter.NetworkResponse
|
||||
import okhttp3.MultipartBody
|
||||
import retrofit2.http.Body
|
||||
|
|
Loading…
Reference in New Issue