Commit 2b801cfe authored by wanglei's avatar wanglei

...

parent f7d06600
......@@ -102,7 +102,7 @@ object AdsMgr {
if (AdConfigBean.adsConfigBean.adSwitch) {
admobInitCallBack?.invoke()
admobInitCallBack = null
adOpenMgr.loadAd(context, false, AdmobEvent("openAd", context::class.java.simpleName))
adOpenMgr.loadAd(context, true, AdmobEvent("openAd", context::class.java.simpleName))
adInsertMgr.loadAd(context, false, AdmobEvent("interAd", context::class.java.simpleName))
}
}
......@@ -160,6 +160,7 @@ object AdsMgr {
) {
if (configBean.isInBlackList) {
EventUtils.event("isInBlackList", "isInBlackList=${configBean.isInBlackList}")
showCallBack?.failed()
return
}
......
......@@ -10,6 +10,8 @@ class AdConfigBean(
var functionBackShowAd: Boolean = true,
var functionInShowAd: Boolean = true,
var tabFgInterval: Int = 30,
var scanTabShowAd: Boolean = true,
val setTabShowAd: Boolean = true,
var taichiAdValue: Int = 1,//价值上报阀值
var adRatio: Int = 100//价值上报随机控制
) {
......
......@@ -17,6 +17,7 @@ import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_TEXT
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WEBSITE
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WIFI
import com.base.scanqr.bean.config.AdConfigBean.Companion.adsConfigBean
import com.base.scanqr.bean.config.ConfigBean
import com.base.scanqr.databinding.FragmentCreateBinding
import com.base.scanqr.ui.contact.ContractActivity
import com.base.scanqr.ui.email.EmailActivity
......@@ -25,8 +26,12 @@ import com.base.scanqr.ui.message.MessageActivity
import com.base.scanqr.ui.telephone.TelephoneActivity
import com.base.scanqr.ui.text.TextActivity
import com.base.scanqr.ui.website.WebsiteActivity
import com.base.scanqr.ui.widget.LogDialog.showLogDialog
import com.base.scanqr.ui.wifi.WifiActivity
import com.base.scanqr.utils.AppPreferences
import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.ClickTimesUtils.isContinuousTimesClick
import com.google.gson.Gson
import com.gyf.immersionbar.ktx.immersionBar
class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding::inflate) {
......@@ -122,4 +127,21 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
}
}
override fun initListener() {
super.initListener()
binding.tvTitle.setOnClickListener {
if (isContinuousTimesClick()) {
val sb = StringBuilder()
val gson = Gson()
sb.append("ut:${ConfigBean.configBean.ut}").append("\n")
val adLog = gson.toJson(ConfigBean.configBean.adConfigBean).replace(",", ",\n")
sb.append(adLog).append("\n")
val popupLog = gson.toJson(ConfigBean.configBean.popupConfigBean).replace(",", ",\n")
sb.append(popupLog).append("\n")
sb.append("uuid:").append(AppPreferences.getInstance().getString("uuid", "null"))
requireContext().showLogDialog(sb.toString())
}
}
}
}
\ No newline at end of file
......@@ -170,7 +170,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
1 -> {
tabAt = 1
navController?.navigate(R.id.scanFragment)
if (!isScanTabFirst && tabCanShowAd()) {
if (!isScanTabFirst && tabCanShowAd() && AdConfigBean.adsConfigBean.scanTabShowAd) {
isScanTabFirst = false
AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun show() {
mainFgTabLastShow = System.currentTimeMillis()
......@@ -212,6 +213,22 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
3 -> {
tabAt = 3
navController?.navigate(R.id.settingsFragment)
if (tabCanShowAd() && AdConfigBean.adsConfigBean.setTabShowAd) {
AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun show() {
mainFgTabLastShow = System.currentTimeMillis()
}
override fun close(where: Int) {
}
override fun failed(where: Int) {
}
override fun googleFailed(where: Int) {
}
})
}
}
}
}
......
package com.base.scanqr.ui.widget
import android.app.AlertDialog
import android.content.Context
import android.text.method.ScrollingMovementMethod
import android.view.LayoutInflater
import com.base.scanqr.databinding.DialogLogContentBinding
import com.base.scanqr.utils.AppPreferences
import com.base.scanqr.utils.ClipboardUtils.copyText
import com.base.scanqr.utils.ToastUtils.toast
object LogDialog {
fun Context.showLogDialog(log: String) {
val dialog = AlertDialog.Builder(this).create()
val binding = DialogLogContentBinding.inflate(LayoutInflater.from(this))
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val params = dialog.window?.attributes
// params?.width = resources.getDimensionPixelOffset(R.dimen.dp_320)
// params?.height = LinearLayout.LayoutParams.WRAP_CONTENT
// params?.gravity = Gravity.BOTTOM
// params?.y = 50
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
binding.tvLog.movementMethod = ScrollingMovementMethod()
binding.tvLog.text = log
binding.btnCopy.setOnClickListener {
val uuid = AppPreferences.getInstance().getString("uuid", "NUll")
this.copyText("uuid", uuid)
toast("copyed", true)
}
}
}
\ No newline at end of file
package com.base.scanqr.utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
object ClickTimesUtils {
private val TAG = "ClickTimesUtils"
private var lastClickTime = 0L
private var continuousTimes = 0
private var resetJob: Job? = null
private fun startResetJob() {
if (resetJob == null) {
resetJob = MainScope().launch(Dispatchers.IO) {
delay(3000)
lastClickTime = 0L
continuousTimes = 0
resetJob = null
LogEx.logDebug(TAG, "reset job")
}
}
}
fun isContinuousTimesClick(times: Int = 8): Boolean {
startResetJob()
val lastClickInterval = System.currentTimeMillis() - lastClickTime
val thisContinue = lastClickInterval < 500L || lastClickTime == 0L
LogEx.logDebug(TAG, "lastClickInterval=$lastClickInterval lastClickTime=$lastClickTime continuousTimes=$continuousTimes")
if (thisContinue) {
continuousTimes++
lastClickTime = System.currentTimeMillis()
if (continuousTimes >= times) {
lastClickTime = 0
continuousTimes = 0
resetJob?.cancel()
resetJob = null
LogEx.logDebug(TAG, "reset times click")
return true
}
}
return false
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<TextView
android:id="@+id/tvLog"
android:layout_width="match_parent"
android:layout_height="360dp"
android:layout_margin="30dp"
android:gravity="center_horizontal"
android:scrollbars="vertical"
android:textSize="16sp"
tools:text="Test log" />
<Button
android:id="@+id/btnCopy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:text="Copy UUID" />
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment