package com.sinata.xqmuse.ui.mine
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.Dynamic
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.discovery.DynamicActivity
|
import com.sinata.xqmuse.ui.discovery.PublishActivity
|
import com.sinata.xqmuse.ui.discovery.adapter.DynamicAdapter
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.activity_my_dynamic.*
|
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.Subscribe
|
import org.jetbrains.anko.startActivity
|
|
class MyDynamicActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_my_dynamic
|
|
private val dyns = arrayListOf<Dynamic>()
|
private val adapter = DynamicAdapter(dyns)
|
private var page = 1
|
|
override fun initClick() {
|
adapter.setOnItemClickListener { view, position ->
|
startActivity<DynamicActivity>("id" to dyns[position].id)
|
}
|
tv_photo.setOnClickListener {
|
startActivity<PublishActivity>("isVideo" to false)
|
}
|
tv_video.setOnClickListener {
|
startActivity<PublishActivity>("isVideo" to true)
|
}
|
}
|
|
override fun initView() {
|
EventBus.getDefault().register(this)
|
rv_act.layoutManager = LinearLayoutManager(this)
|
rv_act.adapter = adapter
|
refreshLayout.setOnRefreshListener {
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page++
|
getData()
|
}
|
page = 1
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.myFind(page).request(this,success = { _, data->
|
if (page == 1)
|
dyns.clear()
|
dyns.addAll(data?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
if (dyns.isEmpty())
|
refreshLayout.finishRefreshWithNoMoreData()
|
else if (data.isNullOrEmpty())
|
refreshLayout.finishLoadMoreWithNoMoreData()
|
else if (page == 1)
|
refreshLayout.finishRefresh()
|
else
|
refreshLayout.finishLoadMore()
|
}){_,_->
|
if (page == 1)
|
refreshLayout.finishRefresh(false)
|
else
|
refreshLayout.finishLoadMore(false)
|
}
|
}
|
|
@Subscribe
|
fun refresh(e: EmptyEvent){
|
if (e.code == Const.EventCode.REFRESH_DISCOVERY){
|
refreshLayout.resetNoMoreData()
|
page = 1
|
getData()
|
}
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
EventBus.getDefault().unregister(this)
|
}
|
|
}
|