package com.dollearn.student.ui.discovery
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.net.Uri
|
import android.os.Build
|
import android.os.Environment
|
import android.provider.Settings
|
import androidx.recyclerview.widget.GridLayoutManager
|
import cn.sinata.xldutils.activity.SelectPhotoDialog
|
import cn.sinata.xldutils.utils.myToast
|
import com.dollearn.student.R
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.TransparentStatusBarActivity
|
import com.dollearn.student.ui.mine.adapter.ImageAdapter
|
import com.dollearn.student.utils.extention.clickDelay
|
import com.dollearn.student.utils.extention.uploadWithCompress
|
import com.dollearn.student.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.activity_evaluate_shop.*
|
import org.jetbrains.anko.startActivityForResult
|
import java.lang.Exception
|
|
class EvaluateShopActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_evaluate_shop
|
|
private var star = 0.0
|
private val id by lazy { intent.getStringExtra("id") }
|
private val imgs = arrayListOf("")
|
private val imageAdapter = ImageAdapter(imgs)
|
|
private var isRefused = false
|
|
override fun initClick() {
|
rating.setOnRatingChangeListener {
|
star = it.toDouble()
|
}
|
tv_action.clickDelay {
|
if (star == .00){
|
myToast("请选择评分")
|
return@clickDelay
|
}
|
HttpManager.saveEvaluation(id?:"",imgs.filter { it.isNotEmpty() }.joinToString (","){ it },et_content.text.toString(),star).request(this){_,_->
|
myToast("评价成功")
|
finish()
|
}
|
}
|
imageAdapter.setOnItemClickListener { view, position ->
|
if (imgs[position].isEmpty()){if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (Environment.isExternalStorageManager())
|
startActivityForResult<SelectPhotoDialog>(2)
|
else if (!isRefused) {
|
try {
|
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
|
intent.data = Uri.parse("package:${packageName}")
|
startActivityForResult(intent, 1024)
|
} catch (e: Exception) {
|
val intent = Intent()
|
intent.action = Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
|
startActivityForResult(intent, 1024)
|
}
|
|
} else {
|
myToast("缺少文件权限")
|
}
|
} else
|
startActivityForResult<SelectPhotoDialog>(1)
|
}
|
}
|
}
|
|
override fun initView() {
|
rv_img.layoutManager = GridLayoutManager(this,5)
|
rv_img.adapter = imageAdapter
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK && requestCode == 1024 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){
|
isRefused = !Environment.isExternalStorageManager()
|
}else if (resultCode == Activity.RESULT_OK&&data!=null){
|
data.getStringExtra("path")!!.uploadWithCompress(this, object :
|
StringCallback {
|
override fun onResult(rst: String) {
|
imgs.add(imgs.size-1,rst)
|
if (imgs.size == 6)
|
imgs.removeAt(5)
|
imageAdapter.notifyDataSetChanged()
|
}
|
})
|
}
|
}
|
|
}
|