Commit 92fede40 authored by wanglei's avatar wanglei

...

parent 33f475df
...@@ -109,11 +109,19 @@ dependencies { ...@@ -109,11 +109,19 @@ dependencies {
implementation("com.google.firebase:firebase-messaging") implementation("com.google.firebase:firebase-messaging")
implementation("com.google.firebase:firebase-analytics-ktx") implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics") implementation("com.google.firebase:firebase-crashlytics")
implementation("com.google.firebase:firebase-database-ktx") // implementation("com.google.firebase:firebase-database-ktx")
implementation("com.google.firebase:firebase-config-ktx") // implementation("com.google.firebase:firebase-config-ktx")
//facebook //facebook
implementation("com.facebook.android:facebook-android-sdk:[8,9)") implementation("com.facebook.android:facebook-android-sdk:[8,9)")
//网络请求和解析
implementation("com.google.code.gson:gson:2.11.0")
// define a BOM and its version
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.12.0"))
// define any required OkHttp artifacts without version
implementation("com.squareup.okhttp3:okhttp")
implementation("com.squareup.okhttp3:logging-interceptor")
} }
\ No newline at end of file
package com.base.pdfviewerscannerwhite.ads package com.base.pdfviewerscannerwhite.ads
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.inter_limit_click import com.base.pdfviewerscannerwhite.ads.AdmobHelper.inter_limit_click
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.inter_limit_request import com.base.pdfviewerscannerwhite.ads.AdmobHelper.inter_limit_request
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.inter_limit_show import com.base.pdfviewerscannerwhite.ads.AdmobHelper.inter_limit_show
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.native_limit_request import com.base.pdfviewerscannerwhite.ads.AdmobHelper.native_limit_request
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.native_limit_show import com.base.pdfviewerscannerwhite.ads.AdmobHelper.native_limit_show
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.open_limit_click import com.base.pdfviewerscannerwhite.ads.AdmobHelper.open_limit_click
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.open_limit_request import com.base.pdfviewerscannerwhite.ads.AdmobHelper.open_limit_request
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.open_limit_show import com.base.pdfviewerscannerwhite.ads.AdmobHelper.open_limit_show
import com.base.pdfviewerscannerwhite.helper.EventUtils import com.base.pdfviewerscannerwhite.helper.EventUtils
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
......
...@@ -7,6 +7,79 @@ import java.util.concurrent.atomic.AtomicBoolean ...@@ -7,6 +7,79 @@ import java.util.concurrent.atomic.AtomicBoolean
object AdmobHelper { object AdmobHelper {
//开屏限制
const val open_limit_request = "open_limit_request"
const val open_limit_show = "open_limit_show"
const val open_limit_click = "open_limit_click"
//插页限制
const val inter_limit_request = "inter_limit_request"
const val inter_limit_show = "inter_limit_show"
const val inter_limit_click = "inter_limit_click"
//原生广告限制
const val native_limit_request = "native_limit_request"
const val native_limit_show = "native_limit_show"
const val native_limit_click = "native_limit_click"
//推送总数量现在
val popup_count = "popup_count"//所有常规推送的当日推送次数限制,0 为不限制
//推送总开关 0 关 1开
val popup_status = "popup_status"
//推送样式一配置
val popup_style1_start = "popup_style1_start"
val popup_style1_end = "popup_style1_end"
val popup_style1_status = "popup_style1_status"
val popup_style1_count = "popup_style1_count"
val popup_style1_interval = "popup_style1_interval"
//推送样式二配置
val popup_style2_start = "popup_style2_start"
val popup_style2_end = "popup_style2_end"
val popup_style2_status = "popup_style2_status"
val popup_style2_count = "popup_style2_count"
val popup_style2_interval = "popup_style2_interval"
//推送样式三配置
val popup_style3_start = "popup_style3_start"
val popup_style3_end = "popup_style3_end"
val popup_style3_status = "popup_style3_status"
val popup_style3_count = "popup_style3_count"
val popup_style3_interval = "popup_style3_interval"
//是否展示多语言
val showLanPage = "showLanPage"
//开屏加载ad时间
val open_ad_loading = "open_loading"
//创建pdf加载ad时间
val create_pdf_loading = "create_pdf_loading"
//删除文件
val delete_loading = "delete_loading"
//打开文件
val open_file_loading = "open_file_loading"
//合并pdf
val merge_loading = "merge_loading"
//拆分pdf
val split_loading = "split_loading"
//可请求时间段(由 x 定义)
const val ad_request_period = "ad_request_interval"
//可请求时间段内允许的最大请求数(由 y 定义)
const val ad_period_max_request = "ad_period_max_request"
//可请求时间段间隔时间
const val ad_request_period_interval = "ad_request_period_interval"
//展示广告关闭时赋值 //展示广告关闭时赋值
var lastShowedOnHiddenTime = 0L var lastShowedOnHiddenTime = 0L
......
package com.base.pdfviewerscannerwhite.ads //package com.base.pdfviewerscannerwhite.ads
import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
//Realtime Database
object FirebaseDatabase {
private val TAG = "FirebaseDatabase"
// Write a message to the database
val database = Firebase.database
var rootRef = database.reference
//开屏限制
const val open_limit_request = "open_limit_request"
const val open_limit_show = "open_limit_show"
const val open_limit_click = "open_limit_click"
//插页限制
const val inter_limit_request = "inter_limit_request"
const val inter_limit_show = "inter_limit_show"
const val inter_limit_click = "inter_limit_click"
//原生广告限制
const val native_limit_request = "native_limit_request"
const val native_limit_show = "native_limit_show"
const val native_limit_click = "native_limit_click"
//推送总数量现在
val popup_count = "popup_count"//所有常规推送的当日推送次数限制,0 为不限制
//推送总开关 0 关 1开
val popup_status = "popup_status"
//推送样式一配置
val popup_style1_start = "popup_style1_start"
val popup_style1_end = "popup_style1_end"
val popup_style1_status = "popup_style1_status"
val popup_style1_count = "popup_style1_count"
val popup_style1_interval = "popup_style1_interval"
//推送样式二配置
val popup_style2_start = "popup_style2_start"
val popup_style2_end = "popup_style2_end"
val popup_style2_status = "popup_style2_status"
val popup_style2_count = "popup_style2_count"
val popup_style2_interval = "popup_style2_interval"
//推送样式三配置
val popup_style3_start = "popup_style3_start"
val popup_style3_end = "popup_style3_end"
val popup_style3_status = "popup_style3_status"
val popup_style3_count = "popup_style3_count"
val popup_style3_interval = "popup_style3_interval"
//是否展示多语言
val showLanPage = "showLanPage"
//开屏加载ad时间
val open_ad_loading = "open_loading"
//创建pdf加载ad时间
val create_pdf_loading = "create_pdf_loading"
//删除文件
val delete_loading = "delete_loading"
//打开文件
val open_file_loading = "open_file_loading"
//合并pdf
val merge_loading = "merge_loading"
//拆分pdf
val split_loading = "split_loading"
//可请求时间段(由 x 定义)
const val ad_request_period = "ad_request_interval"
//可请求时间段内允许的最大请求数(由 y 定义)
const val ad_period_max_request = "ad_period_max_request"
//可请求时间段间隔时间
const val ad_request_period_interval = "ad_request_period_interval"
fun saveDatabase2Sp() {
// add(open_limit_request, "15")
// add(open_limit_show, "10")
// add(open_limit_click, "1")
// //
//import com.base.pdfviewerscannerwhite.utils.AppPreferences
//import com.base.pdfviewerscannerwhite.utils.LogEx
//import com.google.firebase.database.DataSnapshot
//import com.google.firebase.database.DatabaseError
//import com.google.firebase.database.ValueEventListener
//import com.google.firebase.database.ktx.database
//import com.google.firebase.ktx.Firebase
// //
// add(inter_limit_request, "15") ////Realtime Database
// add(inter_limit_show, "10") //object FirebaseDatabase {
// add(inter_limit_click, "1")
// //
// add(native_limit_request, "15") // private val TAG = "FirebaseDatabase"
// add(native_limit_show, "10")
// add(native_limit_click, "1")
// //
// add(popup_count, "0") // // Write a message to the database
// add(popup_status, "1") // val database = Firebase.database
// var rootRef = database.reference
// //
// add(popup_style1_start, "7")
// add(popup_style1_end, "11")
// add(popup_style1_count, "0")
// add(popup_style1_status, "1")
// add(popup_style1_interval, "120")
// //
// add(popup_style2_start, "12")
// add(popup_style2_end, "17")
// add(popup_style2_count, "0")
// add(popup_style2_status, "1")
// add(popup_style2_interval, "120")
// //
// add(popup_style3_start, "18") // fun saveDatabase2Sp() {
// add(popup_style3_end, "24") //// add(open_limit_request, "15")
// add(popup_style3_count, "0") //// add(open_limit_show, "10")
// add(popup_style3_status, "1") //// add(open_limit_click, "1")
// add(popup_style3_interval, "120") ////
////
//// add(inter_limit_request, "15")
//// add(inter_limit_show, "10")
//// add(inter_limit_click, "1")
////
//// add(native_limit_request, "15")
//// add(native_limit_show, "10")
//// add(native_limit_click, "1")
////
//// add(popup_count, "0")
//// add(popup_status, "1")
////
//// add(popup_style1_start, "7")
//// add(popup_style1_end, "11")
//// add(popup_style1_count, "0")
//// add(popup_style1_status, "1")
//// add(popup_style1_interval, "120")
////
//// add(popup_style2_start, "12")
//// add(popup_style2_end, "17")
//// add(popup_style2_count, "0")
//// add(popup_style2_status, "1")
//// add(popup_style2_interval, "120")
////
//// add(popup_style3_start, "18")
//// add(popup_style3_end, "24")
//// add(popup_style3_count, "0")
//// add(popup_style3_status, "1")
//// add(popup_style3_interval, "120")
////
//// add(showLanPage, "1")
////
//// add(open_ad_loading, "8000")
//// add(create_pdf_loading, "8000")
//// add(delete_loading, "8000")
//// add(open_file_loading, "8000")
//// add(merge_loading, "8000")
//// add(split_loading, "8000")
////
//// add(ad_request_period, "1")
//// add(ad_period_max_request, "10")
//// add(ad_request_period_interval, "60")
// //
// add(showLanPage, "1")
// //
// add(open_ad_loading, "8000") // rootRef.addListenerForSingleValueEvent(object : ValueEventListener {
// add(create_pdf_loading, "8000") // override fun onDataChange(dataSnapshot: DataSnapshot) {
// add(delete_loading, "8000") // var i = 0
// add(open_file_loading, "8000") // for (snapshot in dataSnapshot.getChildren()) {
// add(merge_loading, "8000") // val key1 = snapshot.key
// add(split_loading, "8000") // val value1 = snapshot.value
// i++
// LogEx.logDebug("Database", "Key: $key1, Value: $value1 $i")
// AppPreferences.getInstance().put(key1, value1)
// }
// }
// //
// add(ad_request_period, "1") // override fun onCancelled(databaseError: DatabaseError) {
// add(ad_period_max_request, "10") // LogEx.logDebug("Database", "onCancelled")
// add(ad_request_period_interval, "60") // }
// })
//
rootRef.addListenerForSingleValueEvent(object : ValueEventListener { // }
override fun onDataChange(dataSnapshot: DataSnapshot) { //
var i = 0 // fun add(ref: String, value: String) {
for (snapshot in dataSnapshot.getChildren()) { // database.getReference(ref).setValue(value)
val key1 = snapshot.key // }
val value1 = snapshot.value //
i++ //
LogEx.logDebug("Database", "Key: $key1, Value: $value1 $i") //}
AppPreferences.getInstance().put(key1, value1) \ No newline at end of file
}
}
override fun onCancelled(databaseError: DatabaseError) {
LogEx.logDebug("Database", "onCancelled")
}
})
}
fun add(ref: String, value: String) {
database.getReference(ref).setValue(value)
}
}
\ No newline at end of file
package com.base.pdfviewerscannerwhite.ads //package com.base.pdfviewerscannerwhite.ads
//
import com.base.pdfviewerscannerwhite.R //import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.utils.LogEx //import com.base.pdfviewerscannerwhite.utils.LogEx
import com.google.firebase.ktx.Firebase //import com.google.firebase.ktx.Firebase
import com.google.firebase.remoteconfig.ConfigUpdate //import com.google.firebase.remoteconfig.ConfigUpdate
import com.google.firebase.remoteconfig.ConfigUpdateListener //import com.google.firebase.remoteconfig.ConfigUpdateListener
import com.google.firebase.remoteconfig.FirebaseRemoteConfig //import com.google.firebase.remoteconfig.FirebaseRemoteConfig
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException //import com.google.firebase.remoteconfig.FirebaseRemoteConfigException
import com.google.firebase.remoteconfig.ktx.get //import com.google.firebase.remoteconfig.ktx.get
import com.google.firebase.remoteconfig.ktx.remoteConfig //import com.google.firebase.remoteconfig.ktx.remoteConfig
import com.google.firebase.remoteconfig.ktx.remoteConfigSettings //import com.google.firebase.remoteconfig.ktx.remoteConfigSettings
//
//
object RemoteConfigHelper { //object RemoteConfigHelper {
private val TAG = "RemoteConfigHelper" // private val TAG = "RemoteConfigHelper"
fun test() { // fun test() {
val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig // val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings { // val configSettings = remoteConfigSettings {
minimumFetchIntervalInSeconds = 3600 // minimumFetchIntervalInSeconds = 3600
} // }
remoteConfig.setConfigSettingsAsync(configSettings) // remoteConfig.setConfigSettingsAsync(configSettings)
//
remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults) // remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
//
//提取并激活值 // //提取并激活值
remoteConfig.fetchAndActivate().addOnCompleteListener { task -> // remoteConfig.fetchAndActivate().addOnCompleteListener { task ->
if (task.isSuccessful) { // if (task.isSuccessful) {
val aa = remoteConfig["a"].asString() // val aa = remoteConfig["a"].asString()
LogEx.logDebug(TAG, "fetchAndActivate aa=$aa") // LogEx.logDebug(TAG, "fetchAndActivate aa=$aa")
} // }
} // }
//
//监听跟新值 // //监听跟新值
remoteConfig.addOnConfigUpdateListener(object : ConfigUpdateListener { // remoteConfig.addOnConfigUpdateListener(object : ConfigUpdateListener {
override fun onUpdate(configUpdate: ConfigUpdate) { // override fun onUpdate(configUpdate: ConfigUpdate) {
remoteConfig.activate().addOnCompleteListener { // remoteConfig.activate().addOnCompleteListener {
val aa2 = remoteConfig["a"].asString() // val aa2 = remoteConfig["a"].asString()
LogEx.logDebug(TAG, "onUpdate aa=$aa2") // LogEx.logDebug(TAG, "onUpdate aa=$aa2")
} // }
} // }
//
override fun onError(error: FirebaseRemoteConfigException) { // override fun onError(error: FirebaseRemoteConfigException) {
} // }
//
}) // })
} // }
//
} //}
\ No newline at end of file \ No newline at end of file
package com.base.pdfviewerscannerwhite.helper
import com.android.installreferrer.api.InstallReferrerClient
import com.android.installreferrer.api.InstallReferrerStateListener
import com.base.pdfviewerscannerwhite.BuildConfig
import com.base.pdfviewerscannerwhite.utils.AppPreferences
import org.json.JSONObject
/**
* call before agree
*/
object InstallHelps {
private val TAG = "InstallHelps"
fun init() {
val referrerClient = InstallReferrerClient.newBuilder(MyApplication.context).build()
referrerClient.startConnection(object : InstallReferrerStateListener {
override fun onInstallReferrerSetupFinished(responseCode: Int) {
try {
when (responseCode) {
InstallReferrerClient.InstallReferrerResponse.OK -> {
val response = referrerClient.installReferrer
val installInfo = response.installReferrer
val obj = JSONObject()
obj.put("referrerUrl", response.installReferrer)
obj.put("referrerClickTime", response.referrerClickTimestampSeconds)
obj.put("appInstallTime", response.installBeginTimestampSeconds)
obj.put("instantExperienceLaunched", installInfo.toString())
EventUtils.event("install_referrer", ext = obj, isSingleEvent = true)
AppPreferences.getInstance().put("referrer", response.installReferrer)
if (listOf(
"gclid",
"facebook",
"instagram"
).all { !installInfo.contains(it, true) }
) {
//自然用户
if (BuildConfig.DEBUG) {
AppPreferences.getInstance().put("install_source", "channel")
} else {
AppPreferences.getInstance().put("install_source", "origin")
}
} else {
//渠道用户
AppPreferences.getInstance().put("install_source", "channel")
}
requestCfg()
}
else -> {
EventUtils.event("install_referrer_error")
requestCfg()
}
}
} catch (_: Exception) {
EventUtils.event("install_referrer_error")
}
}
override fun onInstallReferrerServiceDisconnected() {
}
})
}
private fun requestCfg() {
NewComUtils.requestCfg {
}
}
}
\ No newline at end of file
...@@ -49,6 +49,7 @@ class MyApplication : Application() { ...@@ -49,6 +49,7 @@ class MyApplication : Application() {
LogEx.logDebug(TAG, "topic=${topic}") LogEx.logDebug(TAG, "topic=${topic}")
FCMManager.initFirebase(this) FCMManager.initFirebase(this)
FCMManager.subscribeToTopic(topic) FCMManager.subscribeToTopic(topic)
InstallHelps.init()
} }
......
package com.base.pdfviewerscannerwhite.helper
import android.util.Log
import com.base.pdfviewerscannerwhite.BuildConfig
import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.json.JSONObject
import java.io.BufferedReader
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
import java.util.Locale
object NewComUtils {
private val TAG = "NewComUtils"
private const val API_URL = ConfigHelper.apiUrl
private const val PACKAGE_NAME_PREFIX = ConfigHelper.packageName
private const val DATA_KEY = "data"
private val url: String by lazy {
val packageName = ConfigHelper.packageName
val appCode = packageName.substringAfter(PACKAGE_NAME_PREFIX).take(5).toLowerCase(Locale.getDefault())
val bRefer = android.util.Base64.encodeToString(
AppPreferences.getInstance().getString("referrerUrl", "").toByteArray(),
android.util.Base64.DEFAULT
)
"$API_URL/${appCode}spk?pkg=$packageName&referrer=${bRefer}&vn=${BuildConfig.VERSION_NAME}&vc=${BuildConfig.VERSION_CODE}&device=${
AppPreferences.getInstance().getString("gid", "")
}&aid=${AppPreferences.getInstance().getString("uuid", "")}"
// &mode=3
}
fun requestCfg(callback: () -> Unit) {
CoroutineScope(Dispatchers.IO).launch {
val response = doGet()
if (response == null) {
withContext(Dispatchers.Main) {
callback()
}
return@launch
}
val data = extractData(response)
if (data == null) {
withContext(Dispatchers.Main) {
callback()
}
return@launch
}
val decryptedData = AESHelper.decrypt(data)
parseConfigBean(decryptedData)
withContext(Dispatchers.Main) {
callback()
}
}
}
private fun doGet(): String? {
val urlPath = url
Log.d("okhttp", urlPath)
try {
val conn: HttpURLConnection = URL(urlPath).openConnection() as HttpURLConnection
conn.setRequestMethod("GET")
conn.connectTimeout = 150000
if (200 == conn.getResponseCode()) {
val json = BufferedReader(InputStreamReader(conn.inputStream)).readLine()
Log.d("okhttp", json)
return json
}
} catch (e: Exception) {
e.printStackTrace()
Log.d("okhttp", e.toString())
}
return null
}
private fun extractData(response: String): String? {
val regex = Regex("\"$DATA_KEY\":\"(.*?)\"")
val match = regex.find(response)
return match?.groupValues?.get(1)
}
private fun parseConfigBean(json: String) {
Log.d("okhttp", json)
val gson = Gson()
val type = object : TypeToken<Map<String, String>>() {}.type
val configMap = gson.fromJson<Map<String, String>>(json, type)
configMap.forEach { t, u ->
// 对于整型值使用parseInt, 长整型使用parseLong
AppPreferences.getInstance().put(t, u)
LogEx.logDebug(TAG, "t=$t u=$u")
}
val jsonObject = JSONObject()
jsonObject.put("ut", AppPreferences.getInstance().getString("ut", ""))
EventUtils.event("user_type", ext = jsonObject)
}
}
...@@ -4,13 +4,11 @@ import android.app.Activity ...@@ -4,13 +4,11 @@ import android.app.Activity
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase
import com.base.pdfviewerscannerwhite.ads.RemoteConfigHelper import com.base.pdfviewerscannerwhite.ads.RemoteConfigHelper
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
...@@ -61,7 +59,6 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -61,7 +59,6 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter.initScannerLauncher(this) mainPresenter.initScannerLauncher(this)
FirebaseDatabase.saveDatabase2Sp()
RemoteConfigHelper.test() RemoteConfigHelper.test()
} }
......
...@@ -83,8 +83,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView { ...@@ -83,8 +83,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
if (job == null && binding.progressBar.progress != 100) { if (job == null && binding.progressBar.progress != 100) {
job = lifecycleScope.launch(Dispatchers.Main) { job = lifecycleScope.launch(Dispatchers.Main) {
while (isActive) { while (isActive) {
binding.progressBar.progress += 2 binding.progressBar.progress += 1
delay(200) delay(150)
if (binding.progressBar.progress == 100) { if (binding.progressBar.progress == 100) {
cancel() cancel()
} }
......
...@@ -2,7 +2,6 @@ package com.base.pdfviewerscannerwhite.ui.splash ...@@ -2,7 +2,6 @@ package com.base.pdfviewerscannerwhite.ui.splash
import androidx.lifecycle.LifecycleCoroutineScope import androidx.lifecycle.LifecycleCoroutineScope
import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.open_ad_loading import com.base.pdfviewerscannerwhite.ads.FirebaseDatabase.open_ad_loading
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
...@@ -22,7 +21,7 @@ class SplashPresenter( ...@@ -22,7 +21,7 @@ class SplashPresenter(
* 超时跳转 * 超时跳转
*/ */
fun startJumpJob(lifecycleCoroutineScope: LifecycleCoroutineScope) { fun startJumpJob(lifecycleCoroutineScope: LifecycleCoroutineScope) {
AppPreferences.getInstance().put(open_ad_loading, "8") loadingTime = 30
if (jumpJob == null) { if (jumpJob == null) {
val startTime = System.currentTimeMillis() val startTime = System.currentTimeMillis()
jumpJob = lifecycleCoroutineScope.launch { jumpJob = lifecycleCoroutineScope.launch {
......
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