package com.sinata.xqmuse.ui.guide
|
|
import android.annotation.SuppressLint
|
import android.provider.Settings
|
import android.util.Log
|
import android.widget.LinearLayout
|
import androidx.core.view.children
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import com.google.gson.Gson
|
import com.sinata.xqmuse.MainActivity
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.XQApplication
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.TagBean
|
import com.sinata.xqmuse.network.entity.req.ReqAnswer
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.activity_tag.*
|
import kotlinx.android.synthetic.main.layout_tag_item.view.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
|
class TagActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_tag
|
|
private val answer by lazy { intent.getParcelableExtra<ReqAnswer>("answer") }
|
private val tags by lazy { intent.getParcelableArrayListExtra<TagBean>("tags") }
|
|
@SuppressLint("HardwareIds")
|
override fun initClick() {
|
tv_skip.setOnClickListener {
|
onBackPressed()
|
}
|
tv_last.setOnClickListener {
|
startActivity<QAActivity>()
|
finish()
|
}
|
tv_action.setOnClickListener {
|
val flatMap = ll_tag.children.flatMap { (it as LinearLayout).children}
|
answer!!.tagIds = flatMap.filter { it.tv_name.isChecked }.joinToString(",") { it.tv_name.tag as String }
|
if (answer!!.tagIds.isNullOrEmpty()){
|
toast("请选择标签")
|
}else{
|
XQApplication.finishAnswer = true
|
if (SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty()){
|
SPUtils.instance().put(Const.User.ANSWER,Gson().toJson(answer)).apply()
|
Log.e(Const.Tag,"当前未登录,保存到Sp中")
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.FINISH_GUIDE_AUDIO))
|
startActivity<MainActivity>()
|
}else{
|
tv_action.isEnabled = false
|
answer?.device = Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID)
|
HttpManager.saveUserAnswers(answer!!).request(this,success = {_,_->
|
toast("保存成功")
|
startActivity<MainActivity>()
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.FINISH_GUIDE_AUDIO))
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.REFRESH_PRIVATE))
|
}){_,_->
|
tv_action.isEnabled = true
|
}
|
}
|
}
|
}
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
var lines = 0 //行号
|
while (!tags.isNullOrEmpty()){
|
val maxRow = if(lines%2 == 0) 3 else 4 //最大列数
|
val take = tags!!.take(maxRow)
|
tags!!.removeAll(take)
|
val inflate = layoutInflater.inflate(R.layout.layout_ll_tag, ll_tag, false) as LinearLayout
|
take.forEach {
|
val tag = layoutInflater.inflate(R.layout.layout_tag_item,inflate,false)
|
tag.tv_name.text = it.tagName
|
tag.tv_name.tag = it.id
|
inflate.addView(tag)
|
}
|
ll_tag.addView(inflate)
|
lines++
|
}
|
}
|
|
override fun onBackPressed() {
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.FINISH_GUIDE_AUDIO))
|
super.onBackPressed()
|
}
|
}
|