package com.sinata.xqmuse.ui.mine
|
|
import android.Manifest
|
import android.content.Intent
|
import android.os.Bundle
|
import cn.sinata.xldutils.activity.BaseActivity
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.visible
|
import com.github.zackratos.ultimatebar.UltimateBar
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.TipDialog
|
import com.sinata.xqmuse.network.Apis
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.home.ScannerActivity
|
import com.sinata.xqmuse.utils.extention.clickDelay
|
import com.sinata.xqmuse.utils.getQRcodeImg
|
import com.tbruyelle.rxpermissions2.RxPermissions
|
import kotlinx.android.synthetic.main.activity_share.*
|
import org.jetbrains.anko.bundleOf
|
import org.jetbrains.anko.startActivityForResult
|
import org.jetbrains.anko.toast
|
|
class ShareActivity:BaseActivity() {
|
private val code by lazy { //不为空则需要直接绑定
|
intent.getStringExtra("code")
|
}
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
setContentView(R.layout.activity_share)
|
titleBar.leftClick { finish() }
|
UltimateBar.with(this)
|
.statusDark(true)
|
.create().immersionBar() //沉浸状态栏
|
titleBar.titleView.text = "好友推广"
|
getShareInfo()
|
iv_scan.clickDelay {
|
val rxPermissions = RxPermissions(this)
|
if (rxPermissions.isGranted(Manifest.permission.CAMERA))
|
startActivityForResult<ScannerActivity>(1)
|
else if ((SPUtils.instance().getBoolean("CAMERA_REFUSE")))
|
myToast("没有相机权限")
|
else{
|
val tipDialog = cn.sinata.xldutils.widget.TipDialog()
|
tipDialog.arguments =
|
bundleOf("msg" to "为了扫描好友二维码,我们需要获取相机访问权限", "ok" to "去授权", "cancel" to "不需要")
|
tipDialog.setCallback(object : cn.sinata.xldutils.widget.TipDialog.OnClickCallback {
|
override fun onOk() {
|
rxPermissions.request(Manifest.permission.CAMERA)
|
.subscribe {
|
if (it) {
|
startActivityForResult<ScannerActivity>(1)
|
} else{
|
SPUtils.instance().put("CAMERA_REFUSE", true).apply()
|
myToast("没有相机权限")
|
}
|
}
|
}
|
|
override fun onCancel() {
|
SPUtils.instance().put("CAMERA_REFUSE", true).apply()
|
}
|
})
|
tipDialog.show(supportFragmentManager, "camera")
|
}
|
}
|
tv_bind.clickDelay {
|
val code = et_code.text.toString()
|
if (code.length!=6)
|
myToast("请填写6位邀请码")
|
else
|
HttpManager.getBindingUserName(code).request(this){_,data->
|
TipDialog.show(supportFragmentManager,"确认绑定用户“${data}”吗?",object : TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.binding(code).request(this@ShareActivity){_,_->
|
myToast("绑定成功")
|
getShareInfo()
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
}
|
}
|
}
|
|
private fun getShareInfo(){
|
HttpManager.peopleList().request(this){_,data->
|
tv_rule.text = data?.content
|
tv_my_friend.text = "我邀请的好友:${if (data?.people.isNullOrEmpty()) "暂未绑定" else data!!.people}"
|
tv_my_invitor.text = data?.invite
|
iv_code.setImageBitmap(getQRcodeImg(this, Apis.SHARE_URL+data?.code))
|
|
if (data?.invite?.isNullOrEmpty() == true){
|
iv_scan.visible()
|
tv_bind.visible()
|
et_code.visible()
|
if (!code.isNullOrEmpty()){
|
et_code.setText(code)
|
tv_bind.callOnClick()
|
}
|
}else{
|
iv_scan.gone()
|
tv_bind.gone()
|
et_code.gone()
|
if (!code.isNullOrEmpty()){
|
myToast("你已经绑定过邀请人")
|
}
|
}
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == RESULT_OK&&data!=null){
|
val rst = data.getStringExtra("result")?:""
|
if (rst.startsWith(Apis.SHARE_URL))
|
et_code.setText(rst.substring(rst.length-6))
|
else
|
myToast("二维码错误")
|
}
|
}
|
}
|