package com.driver.igotrip.ui.mine //import com.umeng.socialize.ShareAction //import com.umeng.socialize.ShareContent //import com.umeng.socialize.UMShareListener //import com.umeng.socialize.bean.SHARE_MEDIA //import com.umeng.socialize.media.UMImage //import com.umeng.socialize.media.UMWeb import android.app.Activity import android.net.Uri import android.view.View import android.widget.ImageView import android.widget.TextView import cn.sinata.rxnetty.NettyClient import cn.sinata.xldutils.utils.SpanBuilder import cn.sinata.xldutils.utils.clickDelay import cn.sinata.xldutils.utils.getFormatOne import cn.sinata.xldutils.utils.getFormatTwo import com.driver.igotrip.service.LocationForegroundService import com.driver.igotrip.R import com.driver.igotrip.base.BaseEvent import com.driver.igotrip.base.MyApplication import com.driver.igotrip.base.MyBaseActivity import com.driver.igotrip.bean.UserBean import com.driver.igotrip.bean.UserInfoBean import com.driver.igotrip.netUtls.Api import com.driver.igotrip.netUtls.callNet import com.driver.igotrip.netUtls.getMapByAny import com.driver.igotrip.ui.DialogUtil import com.driver.igotrip.ui.main.HistoryOrderActivity import com.driver.igotrip.ui.mine.money_bag.MinePurseActivity import com.driver.igotrip.ui.mine.setting.SettingActivity import com.driver.igotrip.ui.pub.LoginActivity import com.driver.igotrip.utils.Cache.CacheKey import com.driver.igotrip.utils.Cache.CacheUtil import com.driver.igotrip.utils.glide.GlideUtil import com.facebook.CallbackManager import com.facebook.FacebookCallback import com.facebook.FacebookException import com.facebook.share.Sharer import com.facebook.share.model.ShareLinkContent import com.facebook.share.widget.ShareDialog import com.twitter.sdk.android.tweetcomposer.TweetComposer import org.greenrobot.eventbus.EventBus import org.jetbrains.anko.find import org.jetbrains.anko.startActivity import java.net.URL class MineActivity : MyBaseActivity() { override fun setContentView() { setContentView(R.layout.activity_mine) } //Facebook秘钥散列获取 // private fun facebookHashKey() { // try { // val info: PackageInfo = // packageManager.getPackageInfo("com.driver.igotrip", PackageManager.GET_SIGNATURES) // for (signature in info.signatures ?: arrayOf()) { // val md: MessageDigest = MessageDigest.getInstance("SHA") // md.update(signature.toByteArray()) // Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)) // } // } catch (e: PackageManager.NameNotFoundException) { // } catch (e: NoSuchAlgorithmException) { // } // } override fun initView() { showHeader(false) showTitle(false) callMine() // facebookHashKey() } private fun callMine() { var map = getMapByAny() callNet(Api.queryInfo, map) { var user = gson.fromJson(it, UserBean::class.java) CacheKey.saveUserInfo(user.data) showUI(user.data) } } override fun onResume() { super.onResume() callMine() } private var data: UserInfoBean? = null private val iv_head by lazy { find(R.id.iv_head) } private val tv_name by lazy { find(R.id.tv_name) } private val tv_company by lazy { find(R.id.tv_company) } private val tv_order_num by lazy { find(R.id.tv_order_num) } private val tv_star by lazy { find(R.id.tv_star) } private val tv_money by lazy { find(R.id.tv_money) } private val ll_qr by lazy { find(R.id.ll_qr) } private val view_qr by lazy { find(R.id.view_qr) } private val tv_left_title_mine by lazy { find(R.id.tv_left_title_mine) } private val rl_mail by lazy { find(R.id.rl_mail) } private val ll_mine_money by lazy { find(R.id.ll_mine_money) } private val rl_mine_eval by lazy { find(R.id.rl_mine_eval) } private val rl_acount_safe by lazy { find(R.id.rl_acount_safe) } private val rl_remark by lazy { find(R.id.rl_remark) } private val rl_set_order by lazy { find(R.id.rl_set_order) } private val rl_change_car by lazy { find(R.id.rl_change_car) } private val rl_put_friend by lazy { find(R.id.rl_put_friend) } private val rl_call_server by lazy { find(R.id.rl_call_server) } private val rl_setting by lazy { find(R.id.rl_setting) } private val rl_settlement by lazy { find(R.id.rl_settlement) } private val rl_login_out by lazy { find(R.id.rl_login_out) } private val rl_mine_attestation by lazy { find(R.id.rl_mine_attestation) } private fun showUI(data: UserInfoBean?) { data?.let { this.data = it GlideUtil.loady(MyApplication.getInstance(), it.avatar, iv_head) val name = "${it.firstName} ${it.lastName} ${it.licensePlate}" tv_name.text = SpanBuilder.content(name).boldSpan(this, 0, name.indexOf(it.licensePlate)).sizeSpan(0, name.indexOf(it.licensePlate), 14).build() tv_company.text = it.brand tv_order_num.text = it.orderNum tv_star.text = getFormatOne(it.score) // tv_money.text = getString(R.string.money) + getFormatTwo(it.balance + it.laveBusinessMoney + it.laveBusinessNextWeekMoney) // tv_money.text = getString(R.string.money) + getFormatTwo(it.balance + it.laveBusinessMoney) tv_money.text = getString(R.string.money) + getFormatTwo(it.balance) ll_qr.visibility = if (data.qrCodeIsOpen) View.VISIBLE else View.GONE view_qr.visibility = if (data.qrCodeIsOpen) View.VISIBLE else View.GONE } } override fun setOnclick() { tv_left_title_mine.clickDelay { onBackPressedHandle() } rl_mail.clickDelay { startActivity() } ll_mine_money.setOnClickListener { startActivity() } findViewById(R.id.rl_mineorder_eval).setOnClickListener { startActivity() } rl_mine_eval.setOnClickListener { data?.also { startActivity("score" to it.score.toString()) } } //账户安全 rl_acount_safe.setOnClickListener { startActivity() } //意见反馈 rl_remark.setOnClickListener { startActivity() } //接单设置 rl_set_order.setOnClickListener { startActivity() } //更换车辆 rl_change_car.setOnClickListener { startActivity() } //推荐给好友 rl_put_friend.setOnClickListener { // startActivity() showShareDialog() } //联系客服 rl_call_server.setOnClickListener { startActivity() } // 二维码 ll_qr.setOnClickListener { startActivity() } //设置 rl_setting.setOnClickListener { startActivity() } rl_settlement.setOnClickListener { startActivity() } // 退出登录 rl_login_out.setOnClickListener { DialogUtil.getDelAndSureDialog(this, getString(R.string.是否退出登录), {}, { MyApplication.couldShowFloatingWindow = false LocationForegroundService.stop() CacheUtil.get().clear() NettyClient.getInstance().stopService() CacheKey.putKeyStr("isAgreen", "1") MyApplication.isLogin = false startActivity() EventBus.getDefault().post(BaseEvent(BaseEvent.OFF_LINE)) }) } rl_mine_attestation.clickDelay { startActivity() } } private val content by lazy { getString(R.string.下载注册即送打车券) } // http://182.160.16.251:81/share/share/shareIndex.html?type=2&uid=2&language=1 fun showShareDialog() { // var languageType = HttpManager.getTypeByLanguage() // var shareStr = strShare.format(languageType, languageType, CacheKey.getUserId()) // var dialog = DialogUtil.getDialog(mContext, R.layout.pop_share) // var view = DialogUtil.getView(dialog!!) // val tv_item_right_share = view.find(R.id.tv_item_right_share) // val view_close_share = view.find(R.id.view_close_share) // val ll_x_share = view.find(R.id.ll_x_share) // val ll_wechat = view.find(R.id.ll_wechat) // val ll_wechat_q = view.find(R.id.ll_wechat_q) // val ll_qq_share = view.find(R.id.ll_qq_share) // val ll_wa_share = view.find(R.id.ll_wa_share) // tv_item_right_share.setOnClickListener { // dialog!!.dismiss() // } // view_close_share.setOnClickListener { // dialog!!.dismiss() // } // ll_x_share.setOnClickListener { // shareX(this, shareStr) // dialog!!.dismiss() // } // ll_wa_share.setOnClickListener { // shareWA(this, content,shareStr) // dialog!!.dismiss() // } // ll_wechat.setOnClickListener { // share( // this, // content, // getString(R.string.IGO打车), // shareStr, // UMImage(mContext, R.drawable.icon), // SHARE_MEDIA.WEIXIN // ) // dialog!!.dismiss() // } // ll_wechat_q.setOnClickListener { // share( // this, // content, // getString(R.string.IGO打车), // shareStr, // UMImage(mContext, R.drawable.icon), // SHARE_MEDIA.WEIXIN_CIRCLE // ) // dialog!!.dismiss() // } // ll_qq_share.setOnClickListener { // shareFB(this, shareStr) // dialog!!.dismiss() // } } // fun shareWA(act: Activity, txt: String, url: String){ // val shareUrlStr = "https://wa.me/?text= $txt $url" // //shareUrlStr = "https://wa.me/?text=I'm inquiring about the apartment listing http://175.178.103.49/landing/index.html/ic=4433&source=10015"; // val uriUrl = Uri.parse(shareUrlStr) // val launchBrowerIntent = Intent(Intent.ACTION_VIEW, uriUrl) // act.startActivity(Intent.createChooser(launchBrowerIntent, "I-Go")) // } // open fun share( // context: Activity, // content: String?, // title: String?, // tagUrl: String?, // image: UMImage?, // platform: SHARE_MEDIA? // ) { // val web = UMWeb(tagUrl, title, content, image) // val shareContent = ShareContent() // shareContent.mMedia = web // ShareAction(context).setPlatform(platform) // .setShareContent(shareContent) // .setCallback(object : UMShareListener { // override fun onResult(p0: SHARE_MEDIA?) { // Log.d("TAG", p0.toString()) // } // // override fun onCancel(p0: SHARE_MEDIA?) { // } // // override fun onError(p0: SHARE_MEDIA?, p1: Throwable?) { // Log.d("TAG", p1!!.message.toString()) // } // // override fun onStart(p0: SHARE_MEDIA?) { // } // // }) // .share() // } fun shareFB(act: Activity, url: String) { val mFBShareDialog = ShareDialog(act) mFBShareDialog.registerCallback(CallbackManager.Factory.create(), object : FacebookCallback { override fun onCancel() { } override fun onError(error: FacebookException) { } override fun onSuccess(result: Sharer.Result) { } }) if (ShareDialog.canShow(ShareLinkContent::class.java)) { val mShareLinkBuilder = ShareLinkContent.Builder() mShareLinkBuilder.setContentUrl(Uri.parse(url)) mShareLinkBuilder.setQuote(content) mFBShareDialog.show(mShareLinkBuilder.build()) } } fun shareX(act: Activity, url: String) { try { val uri1 = "android.resource://" + act.packageName + "/mipmap-xxhdpi/ic_launcher.png" val builder = TweetComposer.Builder(act) builder.text(content).url(URL(url)).image(Uri.parse(uri1)).show() } catch (e: Exception) { e.printStackTrace() } } override fun onEventMainThread(event: BaseEvent?) { super.onEventMainThread(event) when (event!!.code) { BaseEvent.CHANGE_CAR_SUCCESS -> { callMine() } } } }