优化界面返回的代码。添加firebase的依赖等。

This commit is contained in:
ocean 2025-11-20 15:19:03 +08:00
parent 2d8645fce8
commit b3001a61a7
11 changed files with 797 additions and 81 deletions

View File

@ -8,6 +8,8 @@ plugins {
alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.android)
alias(libs.plugins.devtools.ksp) alias(libs.plugins.devtools.ksp)
id("kotlin-parcelize") id("kotlin-parcelize")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
} }
// 生成时间戳(格式 MMddHHmm // 生成时间戳(格式 MMddHHmm
val timestamp: String = SimpleDateFormat("MMddHHmm").format(Date()) val timestamp: String = SimpleDateFormat("MMddHHmm").format(Date())
@ -87,4 +89,8 @@ dependencies {
implementation(libs.pictureselector) implementation(libs.pictureselector)
implementation(libs.ucrop) implementation(libs.ucrop)
implementation(libs.compress) implementation(libs.compress)
// Import the Firebase BoM
implementation(platform("com.google.firebase:firebase-bom:34.6.0"))
implementation("com.google.firebase:firebase-crashlytics-ndk")
implementation("com.google.firebase:firebase-analytics")
} }

29
app/google-services.json Normal file
View File

@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "49065701348",
"project_id": "pdf-reader-x",
"storage_bucket": "pdf-reader-x.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:49065701348:android:fba6eb7189707958ff21f1",
"android_client_info": {
"package_name": "com.all.pdfreader.pdf.reader"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDoGc5WAoNZpeY2mUEADYSveQr0rqDEnr4"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

View File

@ -4,6 +4,7 @@ import android.app.Application
import android.content.Context import android.content.Context
import androidx.annotation.StringRes import androidx.annotation.StringRes
import com.all.pdfreader.pdf.reader.room.repository.PdfRepository import com.all.pdfreader.pdf.reader.room.repository.PdfRepository
import com.all.pdfreader.pdf.reader.util.AnalyticsUtils
import com.all.pdfreader.pdf.reader.util.FileChangeObserver import com.all.pdfreader.pdf.reader.util.FileChangeObserver
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
@ -28,11 +29,12 @@ class PRApp : Application() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
AnalyticsUtils.init()
AnalyticsUtils.logEvent(AnalyticsUtils.Event.APP_LAUNCH_CK)
instance = this instance = this
isNeedFullScan = true isNeedFullScan = true
// 初始化文件变化监听(不立即启动) // 初始化文件变化监听(不立即启动)
fileChangeObserver = FileChangeObserver(this) fileChangeObserver = FileChangeObserver(this)
// 初始化数据库 // 初始化数据库
PdfRepository.initialize(this) PdfRepository.initialize(this)
// 初始化pdfbox // 初始化pdfbox

View File

@ -3,6 +3,7 @@ package com.all.pdfreader.pdf.reader.ui.act
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.all.pdfreader.pdf.reader.room.repository.PdfRepository import com.all.pdfreader.pdf.reader.room.repository.PdfRepository
import com.all.pdfreader.pdf.reader.sp.AppStore import com.all.pdfreader.pdf.reader.sp.AppStore
@ -11,12 +12,20 @@ import com.gyf.immersionbar.ImmersionBar
import com.gyf.immersionbar.OnInsetsChangeListener import com.gyf.immersionbar.OnInsetsChangeListener
abstract class BaseActivity : AppCompatActivity() { abstract class BaseActivity : AppCompatActivity() {
protected var backPressedCallback: OnBackPressedCallback? = null
/** 子类是否需要拦截返回 */
protected open fun shouldInterceptBackPress(): Boolean = false
/** 子类定义拦截后的操作(例如弹窗) */
protected open fun onInterceptBackPressed() {}
protected open val rootBottomView: View? = null protected open val rootBottomView: View? = null
protected abstract val TAG: String protected abstract val TAG: String
protected val appStore by lazy { AppStore(this) } protected val appStore by lazy { AppStore(this) }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
Log.d("ocean", "🚀 ${javaClass.simpleName} onCreate") Log.d("ocean", "🚀 ${javaClass.simpleName} onCreate")
setupBackPressedCallback()//初始化back事件
} }
override fun onStart() { override fun onStart() {
@ -82,4 +91,22 @@ abstract class BaseActivity : AppCompatActivity() {
bar.init() bar.init()
} }
private fun setupBackPressedCallback() {
backPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (shouldInterceptBackPress()) {
// 由子类处理拦截动作
onInterceptBackPressed()
} else {
// 不拦截:关闭自己
isEnabled = false
onBackPressedDispatcher.onBackPressed()
}
}
}
onBackPressedDispatcher.addCallback(this, backPressedCallback!!)
}
} }

View File

@ -25,6 +25,7 @@ import com.all.pdfreader.pdf.reader.ui.fragment.RecentlyFrag
import com.all.pdfreader.pdf.reader.ui.fragment.ToolsFrag import com.all.pdfreader.pdf.reader.ui.fragment.ToolsFrag
import com.all.pdfreader.pdf.reader.ui.view.CustomSwitchButton import com.all.pdfreader.pdf.reader.ui.view.CustomSwitchButton
import com.all.pdfreader.pdf.reader.ui.view.CustomSwitchButton.OnCheckedChangeListener import com.all.pdfreader.pdf.reader.ui.view.CustomSwitchButton.OnCheckedChangeListener
import com.all.pdfreader.pdf.reader.util.AnalyticsUtils
import com.all.pdfreader.pdf.reader.util.AppUtils import com.all.pdfreader.pdf.reader.util.AppUtils
import com.all.pdfreader.pdf.reader.util.AppUtils.setClickWithAnimation import com.all.pdfreader.pdf.reader.util.AppUtils.setClickWithAnimation
import com.all.pdfreader.pdf.reader.util.AppUtils.setOnSingleClickListener import com.all.pdfreader.pdf.reader.util.AppUtils.setOnSingleClickListener
@ -59,6 +60,7 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater) binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_ACTIVITY_VISIBLE)
setupDoubleBackExit() setupDoubleBackExit()
initObserve() initObserve()
setupImmersionBar { setupImmersionBar {
@ -160,6 +162,7 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
event.deleteResult?.let { event.deleteResult?.let {
if (event.deleteResult.success) { if (event.deleteResult.success) {
showToast(getString(R.string.delete_successfully)) showToast(getString(R.string.delete_successfully))
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_DEL_SUC)
} else { } else {
showToast(event.deleteResult.errorMessage.toString()) showToast(event.deleteResult.errorMessage.toString())
} }
@ -180,7 +183,10 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
private fun setupNavigation() { private fun setupNavigation() {
binding.switchScreenOn.setChecked(appStore.keepScreenOn) binding.switchScreenOn.setChecked(appStore.keepScreenOn)
binding.homeLlBtn.setOnSingleClickListener { switchFragment(homeFragment) } binding.homeLlBtn.setOnSingleClickListener {
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_CK)
switchFragment(homeFragment)
}
binding.recentlyLlBtn.setOnSingleClickListener { switchFragment(recentlyFragment) } binding.recentlyLlBtn.setOnSingleClickListener { switchFragment(recentlyFragment) }
binding.favoriteLlBtn.setOnSingleClickListener { switchFragment(favoriteFragment) } binding.favoriteLlBtn.setOnSingleClickListener { switchFragment(favoriteFragment) }
binding.toolsLayoutBtn.setOnSingleClickListener { switchFragment(toolsFragment) } binding.toolsLayoutBtn.setOnSingleClickListener { switchFragment(toolsFragment) }
@ -206,6 +212,7 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
binding.multiSelectBtn.setOnClickListener { binding.multiSelectBtn.setOnClickListener {
when (activeFragment) { when (activeFragment) {
is HomeFrag -> { is HomeFrag -> {
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL)
(activeFragment as HomeFrag).setupMultiSelect() (activeFragment as HomeFrag).setupMultiSelect()
} }
@ -238,6 +245,7 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
} }
binding.multiSelectDeleteBtn.setOnSingleClickListener { binding.multiSelectDeleteBtn.setOnSingleClickListener {
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SELL_CK)
val selectedItems = homeFragment.adapter.getSelectedItems() val selectedItems = homeFragment.adapter.getSelectedItems()
if (selectedItems.isNotEmpty()) { if (selectedItems.isNotEmpty()) {
val filesToDelete = selectedItems.map { File(it.filePath) } val filesToDelete = selectedItems.map { File(it.filePath) }
@ -249,8 +257,11 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
} }
PromptDialogFragment( PromptDialogFragment(
title, desc, onOkClick = { title, desc, onOkClick = {
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_DEL_CONF)
viewModel.deleteFiles(filesToDelete) viewModel.deleteFiles(filesToDelete)
exitAllMultiSelect() exitAllMultiSelect()
}, onCancelClick = {
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_DEL_CANC)
}).show(supportFragmentManager, "deleteFiles") }).show(supportFragmentManager, "deleteFiles")
} }
} }
@ -262,7 +273,17 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
else -> emptyList() else -> emptyList()
} }
if (selectedItems.isNotEmpty()) { if (selectedItems.isNotEmpty()) {
val intent = MergePdfActivity.createIntent(this, ArrayList(selectedItems)) var from = ""
when (activeFragment) {
is HomeFrag -> {
from = HomeFrag.FRAG_TAG
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_MER_CK)
}
is FavoriteFrag -> {}
is RecentlyFrag -> {}
}
val intent = MergePdfActivity.createIntent(this, ArrayList(selectedItems), from)
startActivity(intent) startActivity(intent)
exitAllMultiSelect() exitAllMultiSelect()
} }

View File

@ -7,7 +7,6 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.activity.result.contract.ActivityResultContract import androidx.activity.result.contract.ActivityResultContract
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -18,6 +17,8 @@ import com.all.pdfreader.pdf.reader.room.entity.PdfDocumentEntity
import com.all.pdfreader.pdf.reader.ui.adapter.PdfAdapter import com.all.pdfreader.pdf.reader.ui.adapter.PdfAdapter
import com.all.pdfreader.pdf.reader.ui.dialog.PdfPasswordProtectionDialogFragment import com.all.pdfreader.pdf.reader.ui.dialog.PdfPasswordProtectionDialogFragment
import com.all.pdfreader.pdf.reader.ui.dialog.PromptDialogFragment import com.all.pdfreader.pdf.reader.ui.dialog.PromptDialogFragment
import com.all.pdfreader.pdf.reader.ui.fragment.HomeFrag
import com.all.pdfreader.pdf.reader.util.AnalyticsUtils
import com.all.pdfreader.pdf.reader.util.AppUtils.setClickWithAnimation import com.all.pdfreader.pdf.reader.util.AppUtils.setClickWithAnimation
import com.all.pdfreader.pdf.reader.util.AppUtils.setOnSingleClickListener import com.all.pdfreader.pdf.reader.util.AppUtils.setOnSingleClickListener
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -31,18 +32,19 @@ class MergePdfActivity : BaseActivity() {
private lateinit var binding: ActivityPdfMergeBinding private lateinit var binding: ActivityPdfMergeBinding
private var selectedList: ArrayList<PdfDocumentEntity> = arrayListOf() private var selectedList: ArrayList<PdfDocumentEntity> = arrayListOf()
private lateinit var adapter: PdfAdapter private lateinit var adapter: PdfAdapter
private lateinit var from: String
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPdfMergeBinding.inflate(layoutInflater) binding = ActivityPdfMergeBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar { setupImmersionBar {
statusBarView(binding.view) statusBarView(binding.view)
statusBarDarkFont(true) statusBarDarkFont(true)
navigationBarColor(R.color.white) navigationBarColor(R.color.white)
} }
val list: ArrayList<PdfDocumentEntity> = requireParcelableArrayList(EXTRA_PDF_LIST) val list: ArrayList<PdfDocumentEntity> = requireParcelableArrayList(EXTRA_PDF_LIST)
from = intent.getStringExtra(EXTRA_FROM) ?: ""
updateContinueNowBtnState(list.size >= 2) updateContinueNowBtnState(list.size >= 2)
lifecycleScope.launch { lifecycleScope.launch {
handlePasswordProtectedPdfs(list) { handlePasswordProtectedPdfs(list) {
@ -83,13 +85,11 @@ class MergePdfActivity : BaseActivity() {
private suspend fun showPasswordDialogSuspend(file: File): String? = private suspend fun showPasswordDialogSuspend(file: File): String? =
suspendCancellableCoroutine { cont -> suspendCancellableCoroutine { cont ->
PdfPasswordProtectionDialogFragment( PdfPasswordProtectionDialogFragment(
file, file, onOkClick = { password ->
onOkClick = { password ->
if (cont.isActive) { if (cont.isActive) {
cont.resumeWith(Result.success(password)) cont.resumeWith(Result.success(password))
} }
}, }, onCancelClick = {
onCancelClick = {
if (cont.isActive) { if (cont.isActive) {
cont.resumeWith(Result.success(null)) cont.resumeWith(Result.success(null))
} }
@ -164,31 +164,50 @@ class MergePdfActivity : BaseActivity() {
binding.continueNowBtn.isEnabled = b binding.continueNowBtn.isEnabled = b
} }
private fun setupBackPressedCallback() { override fun shouldInterceptBackPress(): Boolean = true
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { override fun onInterceptBackPressed() {
override fun handleOnBackPressed() { when(from){
HomeFrag.FRAG_TAG->{
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_MER_EDIT_BACK_CK)
}
}
PromptDialogFragment( PromptDialogFragment(
getString(R.string.exit_merge), getString(R.string.exit_merge),
getString(R.string.confirm_discard_changes), getString(R.string.confirm_discard_changes),
getString(R.string.discard), getString(R.string.discard),
onOkClick = { onOkClick = {
isEnabled = false when(from){
HomeFrag.FRAG_TAG->{
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_MER_EDIT_LEA_CONF)
}
}
backPressedCallback?.isEnabled = false
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
}).show(supportFragmentManager, getString(R.string.exit_split)) }, onCancelClick = {
when(from){
HomeFrag.FRAG_TAG->{
AnalyticsUtils.logEvent(AnalyticsUtils.Event.HOME_SEL_MER_EDIT_LEA_CANC)
} }
})
} }
}).show(supportFragmentManager, getString(R.string.exit_merge))
}
companion object { companion object {
const val EXTRA_SELECTED_LIST = "extra_selected_list" const val EXTRA_SELECTED_LIST = "extra_selected_list"
const val EXTRA_PDF_LIST = "extra_pdf_list" const val EXTRA_PDF_LIST = "extra_pdf_list"
const val EXTRA_FROM = "extra_from"
const val TAG = "MergePdfActivity" const val TAG = "MergePdfActivity"
const val TAG_TOW = "MergePdfActivity_DIALOG"//标记从dialog进入 const val TAG_TOW = "MergePdfActivity_DIALOG"//标记从dialog进入
fun createIntent(context: Context, list: ArrayList<PdfDocumentEntity>): Intent { fun createIntent(
context: Context,
list: ArrayList<PdfDocumentEntity>,
from: String
): Intent {
return Intent(context, MergePdfActivity::class.java).apply { return Intent(context, MergePdfActivity::class.java).apply {
putParcelableArrayListExtra(EXTRA_PDF_LIST, list) putParcelableArrayListExtra(EXTRA_PDF_LIST, list)
putExtra(EXTRA_FROM, from)
} }
} }
} }

View File

@ -127,7 +127,6 @@ class PdfResultActivity : BaseActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPdfSplitResultBinding.inflate(layoutInflater) binding = ActivityPdfSplitResultBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar { setupImmersionBar {
statusBarView(binding.view) statusBarView(binding.view)
statusBarDarkFont(true) statusBarDarkFont(true)
@ -507,25 +506,17 @@ class PdfResultActivity : BaseActivity() {
exitDialog = null exitDialog = null
} }
private fun setupBackPressedCallback() { override fun shouldInterceptBackPress(): Boolean = isProcessing
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { override fun onInterceptBackPressed() {
override fun handleOnBackPressed() {
if (isProcessing) {
exitDialog = PromptDialogFragment( exitDialog = PromptDialogFragment(
getString(R.string.exit_split), getString(R.string.tip),
getString(R.string.confirm_discard_changes), getString(R.string.confirm_discard_changes),
getString(R.string.discard), getString(R.string.discard),
onOkClick = { onOkClick = {
isEnabled = false backPressedCallback?.isEnabled = false
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
}) })
exitDialog?.show(supportFragmentManager, getString(R.string.exit_split)) exitDialog?.show(supportFragmentManager, getString(R.string.exit_split))
} else {
isEnabled = false
onBackPressedDispatcher.onBackPressed()
}
}
})
} }
@Suppress("DEPRECATION") @Suppress("DEPRECATION")

View File

@ -5,8 +5,11 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import androidx.activity.OnBackPressedCallback
import androidx.core.view.doOnPreDraw
import com.all.pdfreader.pdf.reader.R import com.all.pdfreader.pdf.reader.R
import com.all.pdfreader.pdf.reader.databinding.ActivitySplashBinding import com.all.pdfreader.pdf.reader.databinding.ActivitySplashBinding
import com.all.pdfreader.pdf.reader.util.AnalyticsUtils
import com.gyf.immersionbar.BarHide import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar import com.gyf.immersionbar.ImmersionBar
@ -31,7 +34,7 @@ class SplashActivity : BaseActivity() {
} }
// 设置启动页布局 // 设置启动页布局
setContentView(binding.root) setContentView(binding.root)
AnalyticsUtils.logEvent(AnalyticsUtils.Event.SPLASH_VISIBLE)
// 延迟跳转到权限检查 // 延迟跳转到权限检查
Handler(Looper.getMainLooper()).postDelayed({ Handler(Looper.getMainLooper()).postDelayed({
navigateToNext() navigateToNext()
@ -44,9 +47,8 @@ class SplashActivity : BaseActivity() {
finish() finish()
} }
@Deprecated("Deprecated in Java") override fun shouldInterceptBackPress(): Boolean = true
@SuppressLint("MissingSuperCall") override fun onInterceptBackPressed() {
override fun onBackPressed() {
// 启动页禁止返回
} }
} }

View File

@ -64,7 +64,6 @@ class SplitPdfActivity : BaseActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPdfSplitBinding.inflate(layoutInflater) binding = ActivityPdfSplitBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar { setupImmersionBar {
statusBarView(binding.view) statusBarView(binding.view)
statusBarDarkFont(true) statusBarDarkFont(true)
@ -282,14 +281,8 @@ class SplitPdfActivity : BaseActivity() {
super.onDestroy() super.onDestroy()
} }
private fun setupBackPressedCallback() { override fun shouldInterceptBackPress(): Boolean = isSelectedViewShow
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { override fun onInterceptBackPressed() {
override fun handleOnBackPressed() {
if (!isSelectedViewShow) {//点击继续后说明已经操过过了不直接finish
isEnabled = false
onBackPressedDispatcher.onBackPressed()
return
}
when (currentViewState) { when (currentViewState) {
ViewState.SPLIT_SELECTED -> { ViewState.SPLIT_SELECTED -> {
// 已选页面列表,提示是否退出 // 已选页面列表,提示是否退出
@ -298,7 +291,7 @@ class SplitPdfActivity : BaseActivity() {
getString(R.string.confirm_discard_changes), getString(R.string.confirm_discard_changes),
getString(R.string.discard), getString(R.string.discard),
onOkClick = { onOkClick = {
isEnabled = false backPressedCallback?.isEnabled = false
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
}).show(supportFragmentManager, getString(R.string.exit_split)) }).show(supportFragmentManager, getString(R.string.exit_split))
} }
@ -313,6 +306,4 @@ class SplitPdfActivity : BaseActivity() {
} }
} }
} }
})
}
} }

View File

@ -0,0 +1,626 @@
package com.all.pdfreader.pdf.reader.util
import android.os.Bundle
import com.google.firebase.Firebase
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.analytics
object AnalyticsUtils {
private var firebaseAnalytics: FirebaseAnalytics? = null
fun init() {
if (firebaseAnalytics == null) {
firebaseAnalytics = Firebase.analytics
}
}
fun logEvent(eventName: String, params: Map<String, Any?> = emptyMap()) {
val bundle = Bundle()
params.forEach { (key, value) ->
when (value) {
is String -> bundle.putString(key, value)
is Int -> bundle.putInt(key, value)
is Long -> bundle.putLong(key, value)
is Double -> bundle.putDouble(key, value)
is Boolean -> bundle.putBoolean(key, value)
null -> {} // 忽略空值
else -> bundle.putString(key, value.toString()) // fallback
}
}
firebaseAnalytics?.logEvent(eventName, bundle)
}
/**
* 使用示例
* 1.单独打点事件无参数等方式
* AnalyticsUtils.logEvent(AnalyticsUtils.Event.APP_LAUNCH_CK)
* 2.需要传入params与对应值的方式
* AnalyticsUtils.logEvent(AnalyticsUtils.Event.SELECT_ITEM) {
* put(AnalyticsUtils.Param.ITEM_ID, id)
* put("item_name", name)
* }
*/
fun logEvent(eventName: String, block: MutableMap<String, Any?>.() -> Unit) {
val params = mutableMapOf<String, Any?>().apply(block)
logEvent(eventName, params)
}
/** event 常量 */
object Event {
const val APP_LAUNCH_CK = "app_launch_ck" // 应用启动app_launch_ck
const val SPLASH_VISIBLE = "splash_visible" // 启动页splash_visible
const val HOME_ACTIVITY_VISIBLE = "home_activity_visible" // 首页完全加载并可见home_activity_visible
const val HOME_CK = "home_ck" // 点击首页图标home_ck
const val HOME_SEL = "home_sel" // 进入文件选择状态home_sel
const val HOME_SELL_CK = "home_sell_ck" // 发起删除请求home_sell_ck
const val HOME_SEL_DEL_CANC = "home_sel_del_canc" // 取消删除home_sel_del_canc
const val HOME_SEL_DEL_CONF = "home_sel_del_conf" // 确认删除home_sel_del_conf
const val HOME_SEL_DEL_SUC = "home_sel_del_suc" // 删除成功home_sel_del_suc
const val HOME_SEL_MER_CK = "home_sel_mer_ck" // 发起合并请求home_sel_mer_ck
const val HOME_SEL_MER_EDIT_BACK_CK = "home_sel_mer_edit_back_ck" // 合并编辑页-点击返回home_sel_mer_edit_back_ck
const val HOME_SEL_MER_EDIT_LEA_CANC = "home_sel_mer_edit_lea_canc" // 合并编辑页-取消离开home_sel_mer_edit_lea_canc
const val HOME_SEL_MER_EDIT_LEA_CONF = "home_sel_mer_edit_lea_conf" // 合并编辑页-确认离开home_sel_mer_edit_lea_conf
const val HOME_SEL_MER_EDIT_ADD_CK = "home_sel_mer_edit_add_ck" // 合并编辑页-点击添加文件home_sel_mer_edit_add_ck
const val HOME_SEL_MER_ADD_SEA_CK = "home_sel_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索home_sel_mer_add_sea_ck
const val HOME_SEL_MER_SEA_CONF = "home_sel_mer_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件home_sel_mer_sea_conf
const val HOME_SEL_MER_EDIT_ADD_FINI = "home_sel_mer_edit_add_fini" // 合并编辑页-添加文件页-添加完成home_sel_mer_edit_add_fini
const val HOME_SEL_MER_EDIT_DEL = "home_sel_mer_edit_del" // 合并编辑页-删除已选文件home_sel_mer_edit_del
const val HOME_SEL_MER_EDIT_MER_CK = "home_sel_mer_edit_mer_ck" // 合并编辑页-点击合并home_sel_mer_edit_mer_ck
const val HOME_SEL_MER_NAM_CONF_CK = "home_sel_mer_nam_conf_ck" // 合并编辑页-确认合并命名home_sel_mer_nam_conf_ck
const val HOME_SEL_MER_SUC = "home_sel_mer_suc" // 合并成功home_sel_mer_suc
const val HOME_SEL_MER_SHA_CK = "home_sel_mer_sha_ck" // 合并成功页-点击分享按钮home_sel_mer_sha_ck
const val HOME_SEL_MER_OPEN_CK = "home_sel_mer_open_ck" // 合并成功页-点击打开文件按钮home_sel_mer_open_ck
const val HOME_SEL_SHA_CK = "home_sel_sha_ck" // 点击分享按钮home_sel_sha_ck
const val HOME_SEA_CK = "home_sea_ck" // 点击搜索home_sea_ck
const val HOME_SEA_SUC = "home_sea_suc" // 提交搜索请求home_sea_suc
const val HOME_SORT_CK = "home_sort_ck" // 点击排序按钮home_sort_ck
const val HOME_SORT_CONF = "home_sort_conf" // 确认排序规则(home_sort_conf)
const val HOME_PDF_OPEN = "home_pdf_open" // 进入PDF内容页home_pdf_open
const val HOME_PDF_BACK = "home_pdf_back" // 退出PDF内容页home_pdf_back
const val HOME_PDF_VIEW_MODE_CK = "home_pdf_view_mode_ck" // 点击浏览模式按钮home_pdf_view_mode_ck
const val HOME_PDF_VIEW_DIRE_SEL = "home_pdf_view_dire_sel" // 选择浏览方向home_pdf_view_dire_sel
const val HOME_PDF_VIEW_PAGE_MODE = "home_pdf_view_page_mode" // 选择页面浏览模式home_pdf_view_page_mode
const val HOME_PDF_VIEW_PAGE_COLOR = "home_pdf_view_page_color" // 选择页面颜色home_pdf_view_page_color
const val HOME_PDF_MARK_CK = "home_pdf_mark_ck" // 点击标签按钮home_pdf_mark_ck
const val HOME_PDF_MARK_ADD_CK = "home_pdf_mark_add_ck" // 进入书签编辑页home_pdf_mark_add_ck
const val HOME_PDF_MARK_ADD_PAGE_CK = "home_pdf_mark_add_page_ck" // 添加更多页面home_pdf_mark_add_page_ck
const val HOME_PDF_MARK_RENA_CK = "home_pdf_mark_rena_ck" // 发起重命名书签home_pdf_mark_rena_ck
const val HOME_PDF_MARK_RENA_CONF = "home_pdf_mark_rena_conf" // 确认重命名书签home_pdf_mark_rena_conf
const val HOME_PDF_MARK_PAGE_DEL = "home_pdf_mark_page_del" // 删除单个书签页home_pdf_mark_page_del
const val HOME_PDF_MARK_DEL_ALL_CK = "home_pdf_mark_del_all_ck" // 发起删除全部书签home_pdf_mark_del_all_ck
const val HOME_PDF_MARK_DEL_ALL_CANC = "home_pdf_mark_del_all_canc" // 取消删除全部书签home_pdf_mark_del_all_canc
const val HOME_PDF_MARK_DEL_ALL_CONF = "home_pdf_mark_del_all_conf" // 确认删除全部书签home_pdf_mark_del_all_conf
const val HOME_PDF_EYE_PRO_CK = "home_pdf_eye_pro_ck" // 点击护眼模式home_pdf_eye_pro_ck
const val HOME_PDF_SHA_CK = "home_pdf_sha_ck" // 点击分享home_pdf_sha_ck
const val HOME_PDF_MORE_CK = "home_pdf_more_ck" // 点击更多按钮home_pdf_more_ck
const val HOME_PDF_MORE_EXPA_CK = "home_pdf_more_expa_ck" // 展开详情信息介绍页home_pdf_more_expa_ck
const val HOME_PDF_MORE_COLSE_CK = "home_pdf_more_colse_ck" // 关闭详细信息介绍页home_pdf_more_colse_ck
const val HOME_PDF_MORE_RENA_CK = "home_pdf_more_rena_ck" // 点击重命名home_pdf_more_rena_ck
const val HOME_PDF_MORE_RENA_CANC = "home_pdf_more_rena_canc" // 取消重命名home_pdf_more_rena_canc
const val HOME_PDF_MORE_RENA_CONF = "home_pdf_more_rena_conf" // 确认重命名home_pdf_more_rena_conf
const val HOME_PDF_MORE_RENA_SUC = "home_pdf_more_rena_suc" // 重命名成功home_pdf_more_rena_suc
const val HOME_PDF_MORE_SHA_CK = "home_pdf_more_sha_ck" // 点击分享按钮home_pdf_more_sha_ck
const val HOME_PDF_MORE_PRINT_CK = "home_pdf_more_print_ck" // 点击打印按钮home_pdf_more_print_ck
const val HOME_PDF_MORE_FAV_ADD = "home_pdf_more_fav_add" // 添加喜欢home_pdf_more_fav_add
const val HOME_PDF_MORE_FAV_REMO = "home_pdf_more_fav_remo" // 取消喜欢home_pdf_more_fav_remo
const val HOME_PDF_MORE_PAGE_JUM_CK = "home_pdf_more_page_jum_ck" // 点击跳转页数按钮home_pdf_more_page_jum_ck
const val HOME_PDF_MORE_PAGE_JUM_CANC = "home_pdf_more_page_jum_canc" // 取消跳转home_pdf_more_page_jum_canc
const val HOME_PDF_MORE_PAGE_JUM_CONF = "home_pdf_more_page_jum_conf" // 确认跳转home_pdf_more_page_jum_conf
const val HOME_PDF_MORE_PAGE_JUM_SUC = "home_pdf_more_page_jum_suc" // 跳转成功home_pdf_more_page_jum_suc
const val HOME_PDF_MORE_COPY = "home_pdf_more_copy" // 点击复制文件home_pdf_more_copy
const val HOME_PDF_MORE_COPY_SUC = "home_pdf_more_copy_suc" // 复制文件成功home_pdf_more_copy_suc
const val HOME_PDF_MORE_MER_CK = "home_pdf_more_mer_ck" // 点击合并文件home_pdf_more_mer_ck
const val HOME_PDF_MORE_MER_SEL_SEA_CK = "home_pdf_more_mer_sel_sea_ck" // 选择页-点击搜索home_pdf_more_mer_sel_sea_ck
const val HOME_PDF_MORE_MER_SEL_SEA_CONF = "home_pdf_more_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件home_pdf_more_mer_sel_sea_conf
const val HOME_PDF_MORE_MER_SEL_CONT_CK = "home_pdf_more_mer_sel_cont_ck" // 选择页-点击持续按钮home_pdf_more_mer_sel_cont_ck
const val HOME_PDF_MORE_MER_EDIT_BACK_CK = "home_pdf_more_mer_edit_back_ck" // 合并编辑页-点击返回home_pdf_more_mer_edit_back_ck
const val HOME_PDF_MORE_MER_EDIT_LEA_CANC = "home_pdf_more_mer_edit_lea_canc" // 合并编辑页-取消放弃合并home_pdf_more_mer_edit_lea_canc
const val HOME_PDF_MORE_MER_EDIT_LEA_CONF = "home_pdf_more_mer_edit_lea_conf" // 合并编辑页-确认放弃合并home_pdf_more_mer_edit_lea_conf
const val HOME_PDF_MORE_MER_EDIT_ADD_CK = "home_pdf_more_mer_edit_add_ck" // 合并编辑页-点击添加文件home_pdf_more_mer_edit_add_ck
const val HOME_PDF_MORE_MER_ADD_SEA_CK = "home_pdf_more_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索home_pdf_more_mer_add_sea_ck
const val HOME_PDF_MORE_MER_ADD_SEA_CONF = "home_pdf_more_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件home_pdf_more_mer_add_sea_conf
const val HOME_PDF_MORE_MER_ADD_FINI_CK = "home_pdf_more_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成home_pdf_more_mer_add_fini_ck
const val HOME_PDF_MORE_MER_EDIT_DEL = "home_pdf_more_mer_edit_del" // 合并编辑页-删除已选文件home_pdf_more_mer_edit_del
const val HOME_PDF_MORE_MER_EDIT_CONF_CK = "home_pdf_more_mer_edit_conf_ck" // 合并编辑页-点击合并home_pdf_more_mer_edit_conf_ck
const val HOME_PDF_MORE_MER_NAM_CONF_CK = "home_pdf_more_mer_nam_conf_ck" // 合并编辑页-确认合并命名home_pdf_more_mer_nam_conf_ck
const val HOME_PDF_MORE_MER_SUC = "home_pdf_more_mer_suc" // 合并成功home_pdf_more_mer_suc
const val HOME_PDF_MORE_MER_SHA_CK = "home_pdf_more_mer_sha_ck" // 合并成功页-点击分享按钮home_pdf_more_mer_sha_ck
const val HOME_PDF_MORE_MER_OPEN_CK = "home_pdf_more_mer_open_ck" // 合并成功页-点击打开文件按钮home_pdf_more_mer_open_ck
const val HOME_PDF_MORE_SPLIT_CK = "home_pdf_more_split_ck" // 点击拆分文件home_pdf_more_split_ck
const val HOME_PDF_MORE_SPLIT_SEL_ALL_CK = "home_pdf_more_split_sel_all_ck" // 选择页-全选按钮home_pdf_more_split_sel_all_ck
const val HOME_PDF_MORE_SPLIT_SEL_CONT_CK = "home_pdf_more_split_sel_cont_ck" // 选择页-确认选择PDF页home_pdf_more_split_sel_cont_ck
const val HOME_PDF_MORE_SPLIT_EDIT_ADD_CK = "home_pdf_more_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮home_pdf_more_split_edit_add_ck
const val HOME_PDF_MORE_SPLIT_EDIT_ADD_FINI = "home_pdf_more_split_edit_add_fini" // 拆分编辑页-添加页-添加完成home_pdf_more_split_edit_add_fini
const val HOME_PDF_MORE_SPLIT_EDIT_RENA_CK = "home_pdf_more_split_edit_rena_ck" // 拆分编辑页-重命名文件home_pdf_more_split_edit_rena_ck
const val HOME_PDF_MORE_SPLIT_EDIT_RENA_CONF = "home_pdf_more_split_edit_rena_conf" // 拆分编辑页-确认重命名home_pdf_more_split_edit_rena_conf
const val HOME_PDF_MORE_SPLIT_EDIT_PAGE_DEL = "home_pdf_more_split_edit_page_del" // 拆分编辑页-删除已选PDF页home_pdf_more_split_edit_page_del
const val HOME_PDF_MORE_SPLIT_BACK_CK = "home_pdf_more_split_back_ck" // 拆分编辑页-点击返回home_pdf_more_split_back_ck
const val HOME_PDF_MORE_SPLIT_LEA_CANC = "home_pdf_more_split_lea_canc" // 拆分编辑页-取消放弃拆分home_pdf_more_split_lea_canc
const val HOME_PDF_MORE_SPLIT_LEA_CONF = "home_pdf_more_split_lea_conf" // 拆分编辑页-确认放弃拆分home_pdf_more_split_lea_conf
const val HOME_PDF_MORE_SPLIT_EDIT_CONF_CK = "home_pdf_more_split_edit_conf_ck" // 拆分编辑页-点击确认拆分home_pdf_more_split_edit_conf_ck
const val HOME_PDF_MORE_SPLIT_SUC = "home_pdf_more_split_suc" // 拆分-拆分成功home_pdf_more_split_suc
const val HOME_PDF_MORE_SPLIT_SHA_CK = "home_pdf_more_split_sha_ck" // 拆分成功页-点击分享按钮home_pdf_more_split_sha_ck
const val HOME_PDF_MORE_SPLIT_OPEN_CK = "home_pdf_more_split_open_ck" // 拆分成功页-点击打开文件按钮home_pdf_more_split_open_ck
const val HOME_PDF_MORE_PD_FTO_TU_CK = "home_pdf_more_pdfto_tu_ck" // 点击PDF转图片home_pdf_more_pdfto_tu_ck
const val HOME_PDF_MORE_PD_FTO_TU_SHA_CK = "home_pdf_more_pdfto_tu_sha_ck" // 点击分享home_pdf_more_pdfto_tu_sha_ck
const val HOME_PDF_MORE_PD_FTO_TU_CONF_CK = "home_pdf_more_pdfto_tu_conf_ck" // 确认转换home_pdf_more_pdfto_tu_conf_ck
const val HOME_PDF_MORE_PD_FTO_TU_SUC = "home_pdf_more_pdfto_tu_suc" // 转换成功home_pdf_more_pdfto_tu_suc
const val HOME_PDF_MORE_PD_FTO_CTU_CK = "home_pdf_more_pdfto_ctu_ck" // 点击PDF转长图home_pdf_more_pdfto_ctu_ck
const val HOME_PDF_MORE_PD_FTO_CTU_PREV_CK = "home_pdf_more_pdfto_ctu_prev_ck" // 进入预览页面home_pdf_more_pdfto_ctu_prev_ck
const val HOME_PDF_MORE_PD_FTO_CTU_SHA_CK = "home_pdf_more_pdfto_ctu_sha_ck" // 点击分享按钮home_pdf_more_pdfto_ctu_sha_ck
const val HOME_PDF_MORE_PD_FTO_CTU_CONF_CK = "home_pdf_more_pdfto_ctu_conf_ck" // 确认保存长图home_pdf_more_pdfto_ctu_conf_ck
const val HOME_PDF_MORE_PD_FTO_CTU_SUC = "home_pdf_more_pdfto_ctu_suc" // 转化成功home_pdf_more_pdfto_ctu_suc
const val HOME_DETA_CK = "home_deta_ck" // 点击文件详情按钮
const val HOME_DETA_EXPA_CK = "home_deta_expa_ck" // 展开详情信息页
const val HOME_DETA_COLSE_CK = "home_deta_colse_ck" // 关闭详细信息页
const val HOME_DETA_RENA_CK = "home_deta_rena_ck" // 点击重命名
const val HOME_DETA_RENA_CANC = "home_deta_rena_canc" // 取消重命名
const val HOME_DETA_RENA_CONF = "home_deta_rena_conf" // 确认重命名
const val HOME_DETA_RENA_SUC = "home_deta_rena_suc" // 重命名成功
const val HOME_DETA_SHA_CK = "home_deta_sha_ck" // 点击分享按钮
const val HOME_DETA_PRINT_CK = "home_deta_print_ck" // 点击打印按钮
const val HOME_DETA_FAV_ADD = "home_deta_fav_add" // 添加喜欢
const val HOME_DETA_FAV_REMO = "home_deta_fav_remo" // 取消喜欢
const val HOME_DETA_COPY_CK = "home_deta_copy" // 点击复制文件按钮
const val HOME_DETA_COPY_SUC = "home_deta_copy_suc" // 复制文件成功
const val HOME_DETA_MER_CK = "home_deta_mer_ck" // 点击合并文件
const val HOME_DETA_MER_SEL_SEA_CK = "home_deta_mer_sel_sea_ck" // 选择页-点击搜索
const val HOME_DETA_MER_SEL_SEA_CONF = "home_deta_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val HOME_DETA_MER_SEL_CONT_CK = "home_deta_mer_sel_cont_ck" // 选择页-点击持续按钮
const val HOME_DETA_MER_EDIT_BACK_CK = "home_deta_mer_edit_back_ck" // 合并编辑页-点击返回
const val HOME_DETA_MER_EDIT_LEA_CANC = "home_deta_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val HOME_DETA_MER_EDIT_LEA_CONF = "home_deta_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val HOME_DETA_MER_EDIT_ADD_CK = "home_deta_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val HOME_DETA_MER_ADD_SEA_CK = "home_deta_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val HOME_DETA_MER_ADD_SEA_CONF = "home_deta_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val HOME_DETA_MER_ADD_ADD_CK = "home_deta_mer_add_add_ck" // 合并编辑页-添加文件页-添加完成
const val HOME_DETA_MER_EDIT_DEL = "home_deta_mer_edit_del" // 合并编辑页-删除已选文件
const val HOME_DETA_MER_EDIT_CONF_CK = "home_deta_mer_edit_conf_ck" // 合并编辑页-点击合并
const val HOME_DETA_MER_NAM_CONF_CK = "home_deta_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val HOME_DETA_MER_SUC = "home_deta_mer_suc" // 合并成功
const val HOME_DETA_MER_SHA_CK = "home_deta_mer_sha_ck" // 合并成功页-点击分享按钮
const val HOME_DETA_MER_OPEN_CK = "home_deta_mer_open_ck" // 合并成功页-点击打开文件按钮
const val HOME_DETA_SPLIT_CK = "home_deta_split_ck" // 点击拆分文件
const val HOME_DETA_SPLIT_SEL_ALL_CK = "home_deta_split_sel_all_ck" // 选择页-全选按钮
const val HOME_DETA_SPLIT_SEL_CONT_CK = "home_deta_split_sel_cont_ck" // 选择页-确认选择PDF页
const val HOME_DETA_SPLIT_EDIT_ADD_CK = "home_deta_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮
const val HOME_DETA_SPLIT_EDIT_ADD_FINI = "home_deta_split_edit_add_fini" // 拆分编辑页-添加页-添加完成
const val HOME_DETA_SPLIT_EDIT_RENA_CK = "home_deta_split_edit_rena_ck" // 拆分编辑页-重命名文件
const val HOME_DETA_SPLIT_EDIT_RENA_CONF = "home_deta_split_edit_rena_conf" // 拆分编辑页-确认重命名
const val HOME_DETA_SPLIT_EDIT_PAGE_DEL = "home_deta_split_edit_page_del" // 拆分编辑页-删除已选PDF页
const val HOME_DETA_SPLIT_BACK_CK = "home_deta_split_back_ck" // 拆分编辑页-点击返回
const val HOME_DET_SPLIT_LEA_CANC = "home_deta_split_lea_canc" // 拆分编辑页-取消放弃拆分
const val HOME_DETA_SPLIT_LEA_CONF = "home_deta_split_lea_conf" // 拆分编辑页-确认放弃拆分
const val HOME_DETA_SPLIT_EDIT_CONF_CK = "home_deta_split_edit_conf_ck" // 拆分编辑页-点击确认拆分
const val HOME_DETA_SPLIT_SUC = "home_deta_split_suc" // 拆分-拆分成功
const val HOME_DETA_SPLIT_SHA_CK = "home_deta_split_sha_ck" // 拆分成功页-点击分享按钮
const val HOME_DETA_SPLIT_OPEN_CK = "home_deta_split_open_ck" // 拆分成功页-点击打开文件按钮
const val HOME_DETA_PDFTO_TU_CK = "home_deta_pdfto_tu_ck" // 点击PDF转图片
const val HOME_DETA_PDFTO_TU_SHA_CK = "home_deta_pdfto_tu_sha_ck" // 点击分享
const val HOME_DETA_PDFTO_TU_CONF_CK = "home_deta_pdfto_tu_conf_ck" // 确认转换
const val HOME_DETA_PDFTO_TU_SUC = "home_deta_pdfto_tu_suc" // 转换成功
const val HOME_DETA_PDFTO_CTU_CK = "home_deta_pdfto_ctu_ck" // 点击PDF转长图
const val HOME_DETA_PDFTO_CTU_PREV_CK = "home_deta_pdfto_ctu_prev_ck" // 进入预览页面
const val HOME_DETA_PDFTO_CTU_SHA_CK = "home_deta_pdfto_ctu_sha_ck" // 点击分享按钮
const val HOME_DETA_PDFTO_CTU_CONF_CK = "home_deta_pdfto_ctu_conf_ck" // 确认保存长图
const val HOME_DETA_PDFTO_CTU_SUC = "home_deta_pdfto_ctu_suc" // 转化成功
const val HOME_DETA_SET_PASW_CK = "home_deta_set_pasw_ck" // 点击设置密码
const val HOME_DETA_SET_PASW_CONF_CK = "home_deta_set_pasw_conf_ck" // 确认设置密码
const val HOME_DETA_SET_LOCK_SUC = "home_deta_set_lock_suc" // 文件锁定成功
const val HOME_DETA_DEL_CK = "home_deta_del_ck" // 点击删除文件按钮
const val HOME_DETA_DEL_CANC = "home_deta_del_canc" // 取消删除
const val HOME_DETA_DEL_CONF = "home_deta_del_conf" // 确认删除
const val HOME_DETA_DEL_SUC = "home_deta_del_suc" // 删除成功
const val REC_CK = "rec_ck" // 点击最近图标
const val REC_SEL_CK = "rec_sel_ck" // 进入文件选择状态
const val REC_SEL_DEL_CK = "rec_sel_del_ck" // 发起删除请求
const val REC_SEL_DEL_CANC = "rec_sel_del_canc" // 取消删除
const val REC_SEL_DEL_CONF = "rec_sel_del_conf" // 确认删除
const val REC_SEL_DEL_SUC = "rec_sel_del_suc" // 删除成功
const val REC_SEL_REMO_CK = "rec_sel_remo_ck" // 点击移除按钮
const val REC_SEL_REMO_CANC = "rec_sel_remo_canc" // 取消移除
const val REC_SEL_REMO_CONF = "rec_sel_remo_conf" // 确认移除
const val REC_SEL_REMO_SUC = "rec_sel_remo_suc" // 移除成功
const val REC_SEL_MER_CK = "rec_sel_mer_ck" // 发起合并请求
const val REC_SEL_MER_EDIT_BACK_CK = "rec_sel_mer_edit_back_ck" // 合并编辑页-点击返回
const val REC_SEL_MER_EDIT_LEA_CANC = "rec_sel_mer_edit_lea_canc" // 合并编辑页-取消离开
const val REC_SEL_MER_EDIT_LEA_CONF = "rec_sel_mer_edit_lea_conf" // 合并编辑页-确认离开
const val REC_SEL_MER_EDIT_ADD_CK = "rec_sel_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val REC_SEL_MER_ADD_SEA_CK = "rec_sel_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val REC_SEL_MER_ADD_SEA_CONF = "rec_sel_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val REC_SEL_MER_ADD_FIN_CK = "rec_sel_mer_add_fin_ck" // 合并编辑页-添加文件页-添加完成
const val REC_SEL_MER_EDIT_DEL = "rec_sel_mer_edit_del" // 合并编辑页-删除已选文件
const val REC_SEL_MER_EDIT_CONF_CK = "rec_sel_mer_edit_conf_ck" // 合并编辑页-点击合并
const val REC_SEL_MER_NAM_CONF_CK = "rec_sel_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val REC_SEL_MER_SUC = "rec_sel_mer_suc" // 合并成功
const val REC_SEL_MER_SHA_CK = "rec_sel_mer_sha_ck" // 合并成功页-点击分享按钮
const val REC_SEL_MER_OPEN_CK = "rec_sel_mer_open_ck" // 合并成功页-点击打开文件按钮
const val REC_SEL_SHA_CK = "rec_sel_sha_ck" // 点击分享按钮
const val REC_SEA_CK = "rec_sea_ck" // 点击搜索
const val REC_SEA_SUC = "rec_sea_suc" // 提交搜索请求
const val REC_PDF_OPEN = "rec_pdf_open" // 进入PDF内容页
const val REC_PDF_BACK = "rec_pdf_back" // 退出PDF内容页
const val REC_PDF_VIEW_MODE_CK = "rec_pdf_view_mode_ck" // 点击浏览模式按钮
const val PDF_VIEW_DIRE_SEL = "pdf_view_dire_sel" // 选择浏览方向
const val PDF_VIEW_PAGE_MODE_SEL = "pdf_view_page_mode_sel" // 选择页面浏览模式
const val PDF_VIEW_PAGE_COLOR_SEL = "pdf_view_page_color_sel" // 选择页面颜色
const val REC_PDF_MARK_CK = "rec_pdf_mark_ck" // 点击标签按钮
const val REC_PDF_MARK_ADD_CK = "rec_pdf_mark_add_ck" // 进入书签编辑页
const val REC_PDF_MARK_EDIT_ADD_PAGE_CK = "rec_pdf_mark_edit_add_page_ck" // 添加更多页面
const val REC_PDF_MARK_EDIT_RENA_CK = "rec_pdf_mark_edit_rena_ck" // 发起重命名书签
const val REC_PDF_MARK_EDIT_RENA_CANC = "rec_pdf_mark_edit_rena_canc" // 取消重命名书签
const val REC_PDF_MARK_EDIT_RENA_CONF = "rec_pdf_mark_edit_rena_conf" // 确认重命名书签
const val REC_PDF_MARK_EDIT_PAGE_DEL = "rec_pdf_mark_edit_page_del" // 删除单个书签页
const val REC_PDF_MARK_EDIT_DEL_ALL_CK = "rec_pdf_mark_edit_del_all_ck" // 发起删除全部书签
const val REC_PDF_MARK_EDIT_DEL_ALL_CANC = "rec_pdf_mark_edit_del_all_canc" // 取消删除全部书签
const val REC_PDF_MARK_EDIT_DEL_ALL_CONF = "rec_pdf_mark_edit_del_all_conf" // 确认删除全部书签
const val REC_PDF_EYE_PRO_CK = "rec_pdf_eye_pro_ck" // 点击护眼模式
const val REC_PDF_SHA_CK = "rec_pdf_sha_ck" // 点击分享
const val REC_PDF_MORE_CK = "rec_pdf_more_ck" // 点击更多按钮
const val REC_PDF_MORE_EXPA_CK = "rec_pdf_more_expa_ck" // 展开详情信息页
const val REC_PDF_MORE_COLSE_CK = "rec_pdf_more_colse_ck" // 关闭详细信息页
const val REC_PDF_MORE_RENA_CK = "rec_pdf_more_rena_ck" // 点击重命名
const val REC_PDF_MORE_RENA_CANC = "rec_pdf_more_rena_canc" // 取消重命名
const val REC_PDF_MORE_RENA_CONF = "rec_pdf_more_rena_conf" // 确认重命名
const val REC_PDF_MORE_RENA_SUC = "rec_pdf_more_rena_suc" // 重命名成功
const val REC_PDF_MORE_SHA_CK = "rec_pdf_more_sha_ck" // 点击分享按钮
const val REC_PDF_MORE_PRINT_CK = "rec_pdf_more_print_ck" // 点击打印按钮
const val REC_PDF_MORE_FAV_ADD = "rec_pdf_more_fav_add" // 添加喜欢
const val REC_PDF_MORE_FAV_REMO = "rec_pdf_more_fav_remo" // 取消喜欢
const val REC_PDF_MORE_PAGE_JUM_CK = "rec_pdf_more_page_jum_ck" // 点击跳转页数按钮
const val REC_PDF_MORE_PAGE_JUM_CANC = "rec_pdf_more_page_jum_canc" // 取消跳转
const val REC_PDF_MORE_PAGE_JUM_CONF = "rec_pdf_more_page_jum_conf" // 确认跳转
const val REC_PDF_MORE_PAGE_JUM_SUC = "rec_pdf_more_page_jum_suc" // 跳转成功
const val REC_PDF_MORE_COPY = "rec_pdf_morel_copy" // 点击复制文件按钮
const val REC_PDF_MORE_COPY_SUC = "rec_pdf_more_copy_suc" // 复制文件成功
const val REC_PDF_MORE_MER_CK = "rec_pdf_more_mer_ck" // 点击合并文件
const val REC_PDF_MORE_MER_SEL_SEA_CK = "rec_pdf_more_mer_sel_sea_ck" // 选择页-点击搜索
const val REC_PDF_MORE_MER_SEL_SEA_CONF = "rec_pdf_more_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val REC_PDF_MORE_MER_SEL_CONT_CK = "rec_pdf_more_mer_sel_cont_ck" // 选择页-点击持续按钮
const val REC_PDF_MORE_MER_EDIT_BACK_CK = "rec_pdf_more_mer_edit_back_ck" // 合并编辑页-点击返回
const val REC_PDF_MORE_MER_EDIT_LEA_CANC = "rec_pdf_more_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val REC_PDF_MORE_MER_EDIT_LEA_CONF = "rec_pdf_more_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val REC_PDF_MORE_MER_EDIT_ADD_CK = "rec_pdf_more_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val REC_PDF_MORE_MER_ADD_SEA_CK = "rec_pdf_more_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val REC_PDF_MORE_MER_ADD_SEA_CONF = "rec_pdf_more_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val REC_PDF_MORE_MER_ADD_FINI_CK = "rec_pdf_more_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val REC_PDF_MORE_MER_EDIT_DEL = "rec_pdf_more_mer_edit_del" // 合并编辑页-删除已选文件
const val REC_PDF_MORE_MER_EDIT_CONF_CK = "rec_pdf_more_mer_edit_conf_ck" // 合并编辑页-点击合并
const val REC_PDF_MORE_MER_NAM_CONF_CK = "rec_pdf_more_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val REC_PDF_MORE_MER_SUC = "rec_pdf_more_mer_suc" // 合并成功
const val REC_PDF_MORE_MER_SHA_CK = "rec_pdf_more_mer_sha_ck" // 合并成功页-点击分享按钮
const val REC_PDF_MORE_MER_OPEN_CK = "rec_pdf_more_mer_open_ck" // 合并成功页-点击打开文件按钮
const val REC_PDF_MORE_SPLIT_CK = "rec_pdf_more_split_ck" // 点击拆分文件
const val REC_PDF_MORE_SPLIT_SEL_ALL_CK = "rec_pdf_more_split_sel_all_ck" // 选择页-全选按钮
const val REC_PDF_MORE_SPLIT_SEL_CONT_CK = "rec_pdf_more_split_sel_cont_ck" // 选择页-确认选择PDF页
const val REC_PDF_MORE_SPLIT_EDIT_ADD_CK = "rec_pdf_more_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮
const val REC_PDF_MORE_SPLIT_EDIT_ADD_FINI = "rec_pdf_more_split_edit_add_fini" // 拆分编辑页-添加页-添加完成
const val REC_PDF_MORE_SPLIT_EDIT_RENA_CK = "rec_pdf_more_split_edit_rena_ck" // 拆分编辑页-重命名文件
const val REC_PDF_MORE_SPLIT_EDIT_RENA_CONF = "rec_pdf_more_split_edit_rena_conf" // 拆分编辑页-确认重命名
const val REC_PDF_MORE_SPLIT_EDIT_PAGE_DEL = "rec_pdf_more_split_edit_page_del" // 拆分编辑页-删除已选PDF页
const val REC_PDF_MORE_SPLIT_BACK_CK = "rec_pdf_more_split_back_ck" // 拆分编辑页-点击返回
const val REC_PDF_MORE_SPLIT_LEA_CANC = "rec_pdf_more_split_lea_canc" // 拆分编辑页-取消放弃拆分
const val REC_PDF_MORE_SPLIT_LEA_CONF = "rec_pdf_more_split_lea_conf" // 拆分编辑页-确认放弃拆分
const val REC_PDF_MORE_SPLIT_CONF_CK = "rec_pdf_more_split_conf_ck" // 拆分编辑页-点击确认拆分
const val REC_PDF_MORE_SPLIT_SUC = "rec_pdf_more_split_suc" // 拆分-拆分成功
const val REC_PDF_MORE_SPLIT_SHA_CK = "rec_pdf_more_split_sha_ck" // 拆分成功页-点击分享按钮
const val REC_PDF_MORE_SPLIT_OPEN_CK = "rec_pdf_more_split_open_ck" // 拆分成功页-点击打开文件按钮
const val REC_PDF_MORE_PDFTO_TU_CK = "rec_pdf_more_pdfto_tu_ck" // 点击PDF转图片
const val REC_PDF_MORE_PDFTO_TU_SHA_CK = "rec_pdf_more_pdfto_tu_sha_ck" // 点击分享
const val REC_PDF_MORE_PDFTO_TU_CONF_CK = "rec_pdf_more_pdfto_tu_conf_ck" // 确认转换
const val REC_PDF_MORE_PDFTO_TU_SUC = "rec_pdf_more_pdfto_tu_suc" // 转换成功
const val REC_PDF_MORE_PDFTO_CTU_CK = "rec_pdf_more_pdfto_ctu_ck" // 点击PDF转长图
const val REC_PDF_MORE_PDFTO_CTU_PREVIEW_CK = "rec_pdf_more_pdfto_ctu_preview_ck" // 进入预览页面
const val REC_PDF_MORE_PDFTO_CTU_SHA_CK = "rec_pdf_more_pdfto_ctu_sha_ck" // 点击分享按钮
const val REC_PDF_MORE_PDFTO_CTU_CONF_CK = "rec_pdf_more_pdfto_ctu_conf_ck" // 确认保存长图
const val REC_PDF_MORE_PDFTO_CTU_SUC = "rec_pdf_more_pdfto_ctu_suc" // 转化成功
const val REC_DETA_CK = "rec_deta_ck" // 点击文件详情按钮
const val REC_DETA_EXPA_CK = "rec_deta_expa_ck" // 展开详情信息页
const val REC_DETA_COLSE_CK = "rec_deta_colse_ck" // 关闭详细信息页
const val REC_DETA_RENA_CK = "rec_deta_rena_ck" // 点击重命名
const val REC_DETA_RENA_CANC = "rec_deta_rena_canc" // 取消重命名
const val REC_DETA_RENA_CONF = "rec_deta_rena_conf" // 确认重命名
const val REC_DETA_RENA_SUC = "rec_deta_rena_suc" // 重命名成功
const val REC_DETA_SHA_CK = "rec_deta_sha_ck" // 点击分享按钮
const val REC_DETA_PRINT_CK = "rec_deta_print_ck" // 点击打印按钮
const val REC_DETA_FAV_ADD = "rec_deta_fav_add" // 添加喜欢
const val REC_DETA_FAV_REMO = "rec_deta_fav_remo" // 取消喜欢
const val REC_DETA_MER_CK = "rec_deta_mer_ck" // 点击合并文件
const val REC_DETA_MER_SEL_SEA_CK = "rec_deta_mer_sel_sea_ck" // 选择页-点击搜索
const val REC_DETA_MER_SEL_SEA_CONF = "rec_deta_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val REC_DETA_MER_SEL_CONT_CK = "rec_deta_mer_sel_cont_ck" // 选择页-点击持续按钮
const val REC_DETA_MER_EDIT_BACK_CK = "rec_deta_mer_edit_back_ck" // 合并编辑页-点击返回
const val REC_DETA_MER_EDIT_LEA_CANC = "rec_deta_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val REC_DETA_MER_EDIT_LEA_CONF = "rec_deta_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val REC_DETA_MER_EDIT_ADD_CK = "rec_deta_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val REC_DETA_MER_ADD_SEA_CK = "rec_deta_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val REC_DETA_MER_ADD_SEA_CONF = "rec_deta_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val REC_DETA_MER_ADD_FINI_CK = "rec_deta_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val REC_DETA_MER_EDIT_DEL = "rec_deta_mer_edit_del" // 合并编辑页-删除已选文件
const val REC_DETA_MER_EDIT_CONF_CK = "rec_deta_mer_edit_conf_ck" // 合并编辑页-点击合并
const val REC_DETA_MER_NAM_CONF_CK = "rec_deta_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val REC_DETA_MER_SUC = "rec_deta_mer_suc" // 合并成功
const val REC_DETA_MER_SHA_CK = "rec_deta_mer_sha_ck" // 合并成功页-点击分享按钮
const val REC_DETA_MER_OPEN_CK = "rec_deta_mer_open_ck" // 合并成功页-点击打开文件按钮
const val REC_DETA_SPLIT_CK = "rec_deta_split_ck" // 点击拆分文件
const val REC_DETA_SPLIT_SEL_ALL_CK = "rec_deta_split_sel_all_ck" // 选择页-全选按钮
const val REC_DETA_SPLIT_SEL_CONT_CK = "rec_deta_split_sel_cont_ck" // 选择页-确认选择PDF页
const val REC_DETA_SPLIT_EDIT_ADD_CK = "rec_deta_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮
const val REC_DETA_SPLIT_EDIT_ADD_FINI = "rec_deta_split_edit_add_fini" // 拆分编辑页-添加页-添加完成
const val REC_DETA_SPLIT_EDIT_RENA_CK = "rec_deta_split_edit_rena_ck" // 拆分编辑页-重命名文件
const val REC_DETA_SPLIT_EDIT_RENA_CONF = "rec_deta_split_edit_rena_conf" // 拆分编辑页-确认重命名
const val REC_DETA_SPLIT_EDIT_PAGE_DEL = "rec_deta_split_edit_page_del" // 拆分编辑页-删除已选PDF页
const val REC_DETA_SPLIT_BACK_CK = "rec_deta_split_back_ck" // 拆分编辑页-点击返回
const val REC_DETA_SPLIT_LEA_CANC = "rec_deta_split_lea_canc" // 拆分编辑页-取消放弃拆分
const val REC_DETA_SPLIT_LEA_CONF = "rec_deta_split_lea_conf" // 拆分编辑页-确认放弃拆分
const val REC_DETA_SPLIT_EDIT_CONF_CK = "rec_deta_split_edit_conf_ck" // 拆分编辑页-点击确认拆分
const val REC_DETA_SPLIT_SUC = "rec_deta_split_suc" // 拆分-拆分成功
const val REC_DETA_SPLIT_SHA_CK = "rec_deta_split_sha_ck" // 拆分成功页-点击分享按钮
const val REC_DETA_SPLIT_OPEN_CK = "rec_deta_split_open_ck" // 拆分成功页-点击打开文件按钮
const val REC_DETA_PDFTO_TU_CK = "rec_deta_pdfto_tu_ck" // 点击PDF转图片
const val REC_DETA_PDFTO_TU_SHA_CK = "rec_deta_pdfto_tu_sha_ck" // 点击分享
const val REC_DETA_PDFTO_TU_CONF_CK = "rec_deta_pdfto_tu_conf_ck" // 确认转换
const val REC_DETA_PDFTO_TU_SUC = "rec_deta_pdfto_tu_suc" // 转换成功
const val REC_DETA_PDFTO_CTU_CK = "rec_deta_pdfto_ctu_ck" // 点击PDF转长图
const val REC_DETA_PDFTO_CTU_PREV_CK = "rec_deta_pdfto_ctu_prev_ck" // 进入预览页面
const val REC_DETA_PDFTO_CTU_SHA_CK = "rec_deta_pdfto_ctu_sha_ck" // 点击分享按钮
const val REC_DETA_PDFTO_CTU_CONF_CK = "rec_deta_pdfto_ctu_conf_ck" // 确认保存长图
const val REC_DETA_PDFTO_CTU_SUC = "rec_deta_pdfto_ctu_suc" // 转化成功
const val REC_DETA_SET_PASW_CK = "rec_deta_set_pasw_ck" // 点击设置密码
const val REC_DETA_SET_PASW_CONF_CK = "rec_deta_set_pasw_conf_ck" // 确认设置密码
const val REC_DETA_LOCK_SUC = "rec_deta_lock_suc" // 文件锁定成功
const val REC_DETA_REMO_INITIATE = "rec_deta_remo_initiate" // 点击移除按钮
const val REC_DETA_REMO_CANC = "rec_deta_remo_canc" // 取消移除
const val REC_DETA_REMO_CONF = "rec_deta_remo_conf" // 确认移除
const val REC_DETA_REMO_SUC = "rec_deta_remo_suc" // 移除成功
const val REC_DETA_DEL_CK = "rec_deta_del_ck" // 点击删除文件按钮
const val REC_DETA_DEL_CANC = "rec_deta_del_canc" // 取消删除
const val REC_DETA_DEL_CONF = "rec_deta_del_conf" // 确认删除
const val REC_DETA_DEL_SUC = "rec_deta_del_suc" // 删除成功
const val FAV_CK = "fav_ck" // 点击喜欢按钮
const val FAV_SEL_CK = "fav_sel_ck" // 进入文件选择状态
const val FAV_SEL_DEL_CK = "fav_sel_del_ck" // 发起删除请求
const val FAV_SEL_DEL_CANC = "fav_sel_del_canc" // 取消删除
const val FAV_SEL_DEL_CONF = "fav_sel_del_conf" // 确认删除
const val FAV_SEL_DEL_SUC = "fav_sel_del_suc" // 删除成功
const val FAV_SEL_CANC = "fav_sel_canc" // 点击取消喜欢
const val FAV_SEL_CANC_SUC = "fav_sel_canc_suc" // 取消喜欢成功
const val FAV_SEL_MER_CK = "fav_sel_mer_ck" // 发起合并请求
const val FAV_SEL_MER_EDIT_BACK_CK = "fav_sel_mer_edit_back_ck" // 合并编辑页-点击返回
const val FAV_SEL_MER_EDIT_LEA_CANC = "fav_sel_mer_edit_lea_canc" // 合并编辑页-取消离开
const val FAV_SEL_MER_EDIT_LEA_CONF = "fav_sel_mer_edit_lea_conf" // 合并编辑页-确认离开
const val FAV_SEL_MER_EDIT_ADD_CK = "fav_sel_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val FAV_SEL_MER_ADD_SEA_CK = "fav_sel_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val FAV_SEL_MER_ADD_SEA_CONF = "fav_sel_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val FAV_SEL_MER_ADD_FINI_CK = "fav_sel_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val FAV_SEL_MER_EDIT_DEL = "fav_sel_mer_edit_del" // 合并编辑页-删除已选文件
const val FAV_SEL_MER_EDIT_CONF_CK = "fav_sel_mer_edit_conf_ck" // 合并编辑页-点击合并
const val FAV_SEL_MER_NAM_CONF_CK = "fav_sel_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val FAV_SEL_MER_SUC = "fav_sel_mer_suc" // 合并成功
const val FAV_SEL_MER_SHA_CK = "fav_sel_mer_sha_ck" // 合并成功页-点击分享按钮
const val FAV_SEL_MER_OPEN_CK = "fav_sel_mer_open_ck" // 合并成功页-点击打开文件按钮
const val FAV_SHA_CK = "fav_sha_ck" // 点击分享按钮
const val FAV_SEA_CK = "fav_sea_ck" // 点击搜索
const val FAV_SEA_SUC = "fav_sea_suc" // 提交搜索请求
const val FAV_SORT_CK = "fav_sort_ck" // 点击排序按钮
const val FAV_SORT_CONF = "fav_sort_conf" // 确认排序规则
const val FAV_PDF_OPEN = "fav_pdf_open" // 进入PDF内容页
const val FAV_PDF_BACK = "fav_pdf_back" // 退出PDF内容页
const val FAV_PDF_VIEW_MODE_CK = "fav_pdf_view_mode_ck" // 点击浏览模式按钮
const val FAV_PDF_VIEW_DIRE_SEL = "fav_pdf_view_dire_sel" // 选择浏览方向
const val FAV_PDF_VIEW_PAGE_MODE_SEL = "fav_pdf_view_page_mode_sel" // 选择页面浏览模式
const val FAV_PDF_VIEW_PAGE_COLOR_SEL = "fav_pdf_view_page_color_sel" // 选择页面颜色
const val FAV_PDF_MARK_CK = "fav_pdf_mark_ck" // 点击标签按钮
const val FAV_PDF_MARK_ADD_CK = "fav_pdf_mark_add_ck" // 进入书签编辑页
const val FAV_PDF_MARK_EDIT_ADD_CK = "fav_pdf_mark_edit_add_ck" // 添加更多页面
const val FAV_PDF_MARK_EDIT_RENA_CK = "fav_pdf_mark_edit_rena_ck" // 发起重命名书签
const val FAV_PDF_MARK_EDIT_RENA_CANC = "fav_pdf_mark_edit_rena_canc" // 取消重命名书签
const val FAV_PDF_MARK_EDIT_RENA_CONF = "fav_pdf_mark_edit_rena_conf" // 确认重命名书签
const val FAV_PDF_MARK_EDIT_PAGE_DEL = "fav_pdf_mark_edit_page_del" // 删除单个书签页
const val FAV_PDF_MARK_EDIT_DEL_ALL_CK = "fav_pdf_mark_edit_del_all_ck" // 发起删除全部书签
const val FAV_PDF_MARK_EDIT_DEL_ALL_CANC = "fav_pdf_mark_edit_del_all_canc" // 取消删除全部书签
const val FAV_PDF_MARK_EDIT_DEL_ALL_CONF = "fav_pdf_mark_edit_del_all_conf" // 确认删除全部书签
const val FAV_PDF_EYE_PRO_CK = "fav_pdf_eye_pro_ck" // 点击护眼模式
const val FAV_PDF_SHA_CK = "fav_pdf_sha_ck" // 点击分享
const val FAV_PDF_MORE_CK = "fav_pdf_more_ck" // 点击更多按钮
const val FAV_PDF_MORE_EXPA_CK = "fav_pdf_more_expa_ck" // 展开详情信息页
const val FAV_PDF_MORE_COLSE_CK = "fav_pdf_more_colse_ck" // 关闭详细信息页
const val FAV_PDF_MORE_RENA_CK = "fav_pdf_more_rena_ck" // 点击重命名
const val FAV_PDF_MORE_RENA_CANC = "fav_pdf_more_rena_canc" // 取消重命名
const val FAV_PDF_MORE_RENA_CONF = "fav_pdf_more_rena_conf" // 确认重命名
const val FAV_PDF_MORE_RENA_SUC = "fav_pdf_more_rena_suc" // 重命名成功
const val FAV_PDF_MORE_SHA_CK = "fav_pdf_more_sha_ck" // 点击分享按钮
const val FAV_PDF_MORE_PRINT_CK = "fav_pdf_more_print_ck" // 点击打印按钮
const val FAV_PDF_MORE_UNFAV_CK = "fav_pdf_more_unfav_ck" // 点击取消喜欢
const val FAV_PDF_MORE_PAGE_JUM_CK = "fav_pdf_more_page_jum_ck" // 点击跳转页数按钮
const val FAV_PDF_MORE_PAGE_JUM_CANC = "fav_pdf_more_page_jum_canc" // 取消跳转
const val FAV_PDF_MORE_PAGE_JUM_CONF = "fav_pdf_more_page_jum_conf" // 确认跳转
const val FAV_PDF_MORE_PAGE_JUM_SUC = "fav_pdf_more_page_jum_suc" // 跳转成功
const val FAV_PDF_MORE_COPY = "fav_pdf_more_copy" // 点击复制文件
const val FAV_PDF_MORE_COPY_SUC = "fav_pdf_more_copy_suc" // 复制文件成功
const val FAV_PDF_MORE_MER_CK = "fav_pdf_more_mer_ck" // 点击合并文件
const val FAV_PDF_MORE_MER_SEL_SEA_CK = "fav_pdf_more_mer_sel_sea_ck" // 选择页-点击搜索
const val FAV_PDF_MORE_MER_SEL_SEA_CONF = "fav_pdf_more_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val FAV_PDF_MORE_MER_SEL_CONT_CK = "fav_pdf_more_mer_sel_cont_ck" // 选择页-点击持续按钮
const val FAV_PDF_MORE_MER_EDIT_BACK_CK = "fav_pdf_more_mer_edit_back_ck" // 合并编辑页-点击返回
const val FAV_PDF_MORE_MER_EDIT_LEA_CANC = "fav_pdf_more_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val FAV_PDF_MORE_MER_EDIT_LEA_CONF = "fav_pdf_more_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val FAV_PDF_MORE_MER_EDIT_ADD_CK = "fav_pdf_more_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val FAV_PDF_MORE_MER_ADD_SEA_CK = "fav_pdf_more_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val FAV_PDF_MORE_MER_ADD_SEA_CONF = "fav_pdf_more_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val FAV_PDF_MORE_MER_ADD_FINI_CK = "fav_pdf_more_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val FAV_PDF_MORE_MER_EDIT_DEL = "fav_pdf_more_mer_edit_del" // 合并编辑页-删除已选文件
const val FAV_PDF_MORE_MER_EDIT_CONF_CK = "fav_pdf_more_mer_edit_conf_ck" // 合并编辑页-点击合并
const val FAV_PDF_MORE_MER_NAM_CONF_CK = "fav_pdf_more_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val FAV_PDF_MORE_MER_SUC = "fav_pdf_more_mer_suc" // 合并成功
const val FAV_PDF_MORE_MER_SHA_CK = "fav_pdf_more_mer_sha_ck" // 合并成功页-点击分享按钮
const val FAV_PDF_MORE_MER_OPEN_CK = "fav_pdf_more_mer_open_ck" // 合并成功页-点击打开文件按钮
const val FAV_PDF_MORE_SPLIT_CK = "fav_pdf_more_split_ck" // 点击拆分文件
const val FAV_PDF_MORE_SPLIT_SEL_ALL_CK = "fav_pdf_more_split_sel_all_ck" // 选择页-全选按钮
const val FAV_PDF_MORE_SPLIT_SEL_CONT_CK = "fav_pdf_more_split_sel_cont_ck" // 选择页-确认选择PDF页
const val FAV_PDF_MORE_SPLIT_EDIT_ADD_CK = "fav_pdf_more_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮
const val FAV_PDF_MORE_SPLIT_EDIT_ADD_FINI = "fav_pdf_more_split_edit_add_fini" // 拆分编辑页-添加页-添加完成
const val FAV_PDF_MORE_SPLIT_EDIT_RENA_CK = "fav_pdf_more_split_edit_rena_ck" // 拆分编辑页-重命名文件
const val FAV_PDF_MORE_SPLIT_EDIT_RENA_CONF = "fav_pdf_more_split_edit_rena_conf" // 拆分编辑页-确认重命名
const val FAV_PDF_MORE_SPLIT_EDIT_PAGE_DEL = "fav_pdf_more_split_edit_page_del" // 拆分编辑页-删除已选PDF页
const val FAV_PDF_MORE_SPLIT_BACK_CK = "fav_pdf_more_split_back_ck" // 拆分编辑页-点击返回
const val FAV_PDF_MORE_SPLIT_LEA_CANC = "fav_pdf_more_split_lea_canc" // 拆分编辑页-取消放弃拆分
const val FAV_PDF_MORE_SPLIT_LEA_CONF = "fav_pdf_more_split_lea_conf" // 拆分编辑页-确认放弃拆分
const val FAV_PDF_MORE_SPLIT_EDIT_CONF_CK = "fav_pdf_more_split_edit_conf_ck" // 拆分编辑页-点击确认拆分
const val FAV_PDF_MORE_SPLIT_SUC = "fav_pdf_more_split_suc" // 拆分-拆分成功
const val FAV_PDF_MORE_SPLIT_SHA_CK = "fav_pdf_more_split_sha_ck" // 拆分成功页-点击分享按钮
const val FAV_PDF_MORE_SPLIT_OPEN_CK = "fav_pdf_more_split_open_ck" // 拆分成功页-点击打开文件按钮
const val FAV_PDF_MORE_PDFF_TO_TU_CK = "fav_pdf_more_pdfto_tu_ck" // 点击PDF转图片
const val FAV_PDF_MORE_PDFF_TO_TU_SHA_CK = "fav_pdf_more_pdfto_tu_sha_ck" // 点击分享
const val FAV_PDF_MORE_PDFF_TO_TU_CONF_CK = "fav_pdf_more_pdfto_tu_conf_ck" // 确认转换
const val FAV_PDF_MORE_PDFF_TO_TU_SUC = "fav_pdf_more_pdfto_tu_suc" // 转换成功
const val FAV_PDF_MORE_PDFF_TO_CTU_CK = "fav_pdf_more_pdfto_ctu_ck" // 点击PDF转长图
const val FAV_PDF_MORE_PDFF_TO_CTU_PREVIEW_CK = "fav_pdf_more_pdfto_ctu_preview_ck" // 进入预览页面
const val FAV_PDF_MORE_PDFF_TO_CTU_SHA_CK = "fav_pdf_more_pdfto_ctu_sha_ck" // 点击分享按钮
const val FAV_PDF_MORE_PDFF_TO_CTU_CONF_CK = "fav_pdf_more_pdfto_ctu_conf_ck" // 确认保存长图
const val FAV_PDF_MORE_PDFF_TO_CTU_SUC = "fav_pdf_more_pdfto_ctu_suc" // 转化成功
const val FAV_DETA_CK = "fav_deta_ck" // 点击文件详情按钮
const val FAV_DETA_EXPA_CK = "fav_deta_expa_ck" // 展开详情信息页
const val FAV_DETA_COLSE_CK = "fav_deta_colse_ck" // 关闭详细信息页
const val FAV_DETA_RENA_CK = "fav_deta_rena_ck" // 点击重命名
const val FAV_DETA_RENA_CANC = "fav_deta_rena_canc" // 取消重命名
const val FAV_DETA_RENA_CONF = "fav_deta_rena_conf" // 确认重命名
const val FAV_DETA_RENA_SUC = "fav_deta_rena_suc" // 重命名成功
const val FAV_DETA_SHA_CK = "fav_deta_sha_ck" // 点击分享按钮
const val FAV_DETA_PRINT_CK = "fav_deta_print_ck" // 点击打印按钮
const val FAV_DETA_UNFAV_CK = "fav_deta_unfav_ck" // 点击取消喜欢按钮
const val FAV_DETA_COPY = "fav_deta_copy" // 点击复制文件按钮
const val FAV_DETA_COPY_SUC = "fav_deta_copy_suc" // 复制文件成功
const val FAV_DETA_MER_CK = "fav_deta_mer_ck" // 点击合并文件
const val FAV_DETA_MER_SEL_SEA_CK = "fav_deta_mer_sel_sea_ck" // 选择页-点击搜索
const val FAV_DETA_MER_SEL_SEA_CONF = "fav_deta_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val FAV_DETA_MER_SEL_CONT_CK = "fav_deta_mer_sel_cont_ck" // 选择页-点击持续按钮
const val FAV_DETA_MER_EDIT_BACK_CK = "fav_deta_mer_edit_back_ck" // 合并编辑页-点击返回
const val FAV_DETA_MER_EDIT_LEA_CANC = "fav_deta_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val FAV_DETA_MER_EDIT_LEA_CONF = "fav_deta_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val FAV_DETA_MER_EDIT_ADD_CK = "fav_deta_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val FAV_DETA_MER_ADD_SEA_CK = "fav_deta_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val FAV_DETA_MER_ADD_SEA_CONF = "fav_deta_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val FAV_DETA_MER_ADD_FINI_CK = "fav_deta_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val FAV_DETA_MER_EDIT_DEL = "fav_deta_mer_edit_del" // 合并编辑页-删除已选文件
const val FAV_DETA_MER_EDIT_CONF_CK = "fav_deta_mer_edit_conf_ck" // 合并编辑页-点击合并
const val FAV_DETA_MER_NAM_CONF_CK = "fav_deta_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val FAV_DETA_MER_SUC = "fav_deta_mer_suc" // 合并成功
const val FAV_DETA_MER_SHA_CK = "fav_deta_mer_sha_ck" // 合并成功页-点击分享按钮
const val FAV_DETA_MER_OPEN_CK = "fav_deta_mer_open_ck" // 合并成功页-点击打开文件按钮
const val FAV_DETA_SPLIT_CK = "fav_deta_split_ck" // 点击拆分文件
const val FAV_DETA_SPLIT_SEL_ALL_CK = "fav_deta_split_sel_all_ck" // 选择页-全选按钮
const val FAV_DETA_SPLIT_SEL_CONT_CK = "fav_deta_split_sel_cont_ck" // 选择页-确认选择PDF页
const val FAV_DETA_SPLIT_EDIT_ADD_CK = "fav_deta_split_edit_add_ck" // 拆分编辑页-点击右上角的添加按钮
const val FAV_DETA_SPLIT_EDIT_ADD_FINI = "fav_deta_split_edit_add_fini" // 拆分编辑页-添加页-添加完成
const val FAV_DETA_SPLIT_EDIT_RENA_CK = "fav_deta_split_edit_rena_ck" // 拆分编辑页-重命名文件
const val FAV_DETA_SPLIT_EDIT_RENA_CONF = "fav_deta_split_edit_rena_conf" // 拆分编辑页-确认重命名
const val FAV_DETA_SPLIT_EDIT_PAGE_DEL = "fav_deta_split_edit_page_del" // 拆分编辑页-删除已选PDF页
const val FAV_DETA_SPLIT_BACK_CK = "fav_deta_split_back_ck" // 拆分编辑页-点击返回
const val FAV_DETA_SPLIT_LEA_CANC = "fav_deta_split_lea_canc" // 拆分编辑页-取消放弃拆分
const val FAV_DETA_SPLIT_LEA_CONF = "fav_deta_split_lea_conf" // 拆分编辑页-确认放弃拆分
const val FAV_DETA_SPLIT_EDIT_CONF_CK = "fav_deta_split_edit_conf_ck" // 拆分编辑页-点击确认拆分
const val FAV_DETA_SPLIT_SUC = "fav_deta_split_suc" // 拆分-拆分成功
const val FAV_DETA_SPLIT_SHA_CK = "fav_deta_split_sha_ck" // 拆分成功页-点击分享按钮
const val FAV_DETA_SPLIT_OPEN_CK = "fav_deta_split_open_ck" // 拆分成功页-点击打开文件按钮
const val FAV_DETA_PDFF_TO_TU_CK = "fav_deta_pdfto_tu_ck" // 点击PDF转图片
const val FAV_DETA_PDFF_TO_TU_SHA_CK = "fav_deta_pdfto_tu_sha_ck" // 点击分享
const val FAV_DETA_PDFF_TO_TU_CONF_CK = "fav_deta_pdfto_tu_conf_ck" // 确认转换
const val FAV_DETA_PDFF_TO_TU_SUC = "fav_deta_pdfto_tu_suc" // 转换成功
const val FAV_DETA_PDFF_TO_CTU_CK = "fav_deta_pdfto_ctu_ck" // 点击PDF转长图
const val FAV_DETA_PDFF_TO_CTU_PREVIEW_CK = "fav_deta_pdfto_ctu_preview_ck" // 进入预览页面
const val FAV_DETA_PDFF_TO_CTU_SHA_CK = "fav_deta_pdfto_ctu_sha_ck" // 点击分享按钮
const val FAV_DETA_PDFF_TO_CTU_CONF_CK = "fav_deta_pdfto_ctu_conf_ck" // 确认保存长图
const val FAV_DETA_PDFF_TO_CTU_SUC = "fav_deta_pdfto_ctu_suc" // 转化成功
const val FAV_DETA_SET_PASW_CK = "fav_deta_set_pasw_ck" // 点击设置密码
const val FAV_DETA_SET_PASW_CONF_CK = "fav_deta_set_pasw_conf_ck" // 确认设置密码
const val FAV_DETA_LOCK_SUC = "fav_deta_lock_suc" // 文件锁定成功
const val FAV_DETA_DEL_CK = "fav_deta_del_ck" // 点击删除文件按钮
const val FAV_DETA_DEL_CANC = "fav_deta_del_canc" // 取消删除
const val FAV_DETA_DEL_CONF = "fav_deta_del_conf" // 确认删除
const val FAV_DETA_DEL_SUC = "fav_deta_del_suc" // 删除成功
const val TOOL_CK = "tool_ck" // 点击工具按钮
const val TOOL_PDFF_TO_TU_CK = "tool_pdfto_tu_ck" // 点击PDF转图片
const val TOOL_PDFF_TO_TU_SEA_CK = "tool_pdfto_tu_sea_ck" // 点击搜索
const val TOOL_PDFF_TO_TU_SEA_CONF_CK = "tool_pdfto_tu_sea_conf_ck" // 确认转换
const val TOOL_PDFF_TO_TU_SUC = "tool_pdfto_tu_suc" // 转换成功
const val TOOL_PDFF_TO_TU_SHA_CK = "tool_pdfto_tu_sha_ck" // 转换成功页-点击分享按钮
const val TOOL_PDFF_TO_TU_OPEN_CK = "tool_pdfto_tu_open_ck" // 转换成功页-点击打开文件按钮
const val TOOL_PDFF_TO_TU_SAVE = "tool_pdfto_tu_save" // 转换成功页-点击保存到相册按钮
const val TOOL_TUTO_PDF_CK = "tool_tuto_pdf_ck" // 点击图片转PDF
const val TOOL_TUTO_PDF_ALL_CK = "tool_tuto_pdf_all_ck" // 全选图片
const val TOOL_TUTO_PDF_CONF_CK = "tool_tuto_pdf_conf_ck" // 确认选择并进入编辑
const val TOOL_TUTO_PDF_ADD_CK = "tool_tuto_pdf_add_ck" // 在编辑页添加图片
const val TOOL_TUTO_PDF_ORDER = "tool_tuto_pdf_order" // 拖拽排序图片
const val TOOL_TUTO_PDF_CONV_CK = "tool_tuto_pdf_conv_ck" // 点击转换
const val TOOL_TUTO_PDF_NAM_CONF = "tool_tuto_pdf_nam_conf" // 确认转换命名
const val TOOL_TUTO_PDF_SUC = "tool_tuto_pdf_suc" // 转换成功
const val TOOL_TUTO_PDF_SHA_CK = "tool_tuto_pdf_sha_ck" // 转换成功页-点击分享按钮
const val TOOL_TUTO_PDF_OPEN_CK = "tool_tuto_pdf_open_ck" // 转换成功页-点击打开文件按钮
const val TOOL_PDFF_TO_CTU_CK = "tool_pdfto_ctu_ck" // 点击PDF转长图
const val TOOL_PDFF_TO_CTU_SEA_CK = "tool_pdfto_ctu_sea_ck" // 点击搜索
const val TOOL_PDFF_TO_CTU_PREV_CK = "tool_pdfto_ctu_prev_ck" // 进入预览页面
const val TOOL_PDFF_TO_CTU_SEA_CONF_CK = "tool_pdfto_ctu_sea_conf_ck" // 确认转换
const val TOOL_PDFF_TO_CTU_SUC = "tool_pdfto_ctu_suc" // 转化成功
const val TOOL_PDFF_TO_CTU_SHA_CK = "tool_pdfto_ctu_sha_ck" // 转换成功页-点击分享按钮
const val TOOL_PDFF_TO_CTU_OPEN_CK = "tool_pdfto_ctu_open_ck" // 转换成功页-点击打开文件按钮
const val TOOL_MER_CK = "tool_mer_ck" // 点击合并文件
const val TOOL_MER_SEL_SEA_CK = "tool_mer_sel_sea_ck" // 选择页-点击搜索
const val TOOL_MER_SEL_SEA_CONF = "tool_mer_sel_sea_conf" // 选择页-搜索页-确认添加文件
const val TOOL_MER_SEL_CONT_CK = "tool_mer_sel_cont_ck" // 选择页-点击持续按钮
const val TOOL_MER_EDIT_BACK_CK = "tool_mer_edit_back_ck" // 合并编辑页-点击返回
const val TOOL_MER_EDIT_LEA_CANC = "tool_mer_edit_lea_canc" // 合并编辑页-取消放弃合并
const val TOOL_MER_EDIT_LEA_CONF = "tool_mer_edit_lea_conf" // 合并编辑页-确认放弃合并
const val TOOL_MER_EDIT_ADD_CK = "tool_mer_edit_add_ck" // 合并编辑页-点击添加文件
const val TOOL_MER_ADD_SEA_CK = "tool_mer_add_sea_ck" // 合并编辑页-添加文件页-点击搜索
const val TOOL_MER_ADD_SEA_CONF = "tool_mer_add_sea_conf" // 合并编辑页-添加文件页-搜索页-确认添加文件
const val TOOL_MER_ADD_FINI_CK = "tool_mer_add_fini_ck" // 合并编辑页-添加文件页-添加完成
const val TOOL_MER_EDIT_FILE_DEL = "tool_mer_edit_file_del" // 合并编辑页-删除已选文件
const val TOOL_MER_EDIT_CONF_CK = "tool_mer_edit_conf_ck" // 合并编辑页-点击合并
const val TOOL_MER_NAM_CONF_CK = "tool_mer_nam_conf_ck" // 合并编辑页-确认合并命名
const val TOOL_MER_SUC = "tool_mer_suc" // 合并成功
const val TOOL_MER_SHA_CK = "tool_mer_sha_ck" // 合并成功页-点击分享按钮
const val TOOL_MER_OPEN_CK = "tool_mer_open_ck" // 合并成功页-点击打开文件按钮
const val TOOL_SPLIT_CK = "tool_split_ck" // 点击拆分文件
const val TOOL_SPLIT_SEL_SEA_CK = "tool_split_sel_sea_ck" // 选择页-点击搜索
const val TOOL_SPLIT_SEL_ALL_CK = "tool_split_sel_all_ck" // 选择页-选择PDF页-全选按钮
const val TOOL_SPLIT_SEL_CONT_CK = "tool_split_sel_cont_ck" // 选择页-选择PDF页-确认选择PDF页
const val TOOL_SPLIT_EDIT_ADD_CK = "tool_split_edit_add_ck" // 编辑拆分页-点击右上角的添加按钮
const val TOOL_SPLIT_EDIT_RENA_CK = "tool_split_edit_rena_ck" // 编辑拆分页-重命名文件
const val TOOL_SPLIT_EDIT_RENA_CONF = "tool_split_edit_rena_conf" // 编辑拆分页-确认重命名
const val TOOL_SPLIT_EDIT_PAGE_DEL = "tool_split_edit_page_del" // 编辑拆分页-删除已选PDF页
const val TOOL_SPLIT_BACK_CK = "tool_split_back_ck" // 编辑拆分页-点击返回
const val TOOL_SPLIT_LEA_CANC = "tool_split_lea_canc" // 编辑拆分页-取消放弃拆分
const val TOOL_SPLIT_LEA_CONF = "tool_split_lea_conf" // 编辑拆分页-确认放弃拆分
const val TOOL_SPLIT_EDIT_CONF_CK = "tool_split_edit_conf_ck" // 编辑拆分页-点击确认拆分
const val TOOL_SPLIT_SUC = "tool_split_suc" // 拆分页-拆分成功
const val TOOL_SPLIT_SHA_CK = "tool_split_sha_ck" // 拆分成功页-点击分享按钮
const val TOOL_SPLIT_OPEN_CK = "tool_split_open_ck" // 拆分成功页-点击打开文件按钮
const val TOOL_LOCK_CK = "tool_lock_ck" // 点击锁定按钮
const val TOOL_LOCK_SEA_CK = "tool_lock_sea_ck" // 点击锁定页搜索按钮
const val TOOL_LOCK_SET_PASW_CANC = "tool_lock_set_pasw_canc" // 取消锁定
const val TOOL_LOCK_SET_PASW_CONF = "tool_lock_set_pasw_conf" // 确认设置密码
const val TOOL_LOCK_SUC = "tool_lock_suc" // 设置密码成功
const val TOOL_LOCK_SHA_CK = "tool_lock_sha_ck" // 锁定成功页-点击分享按钮
const val TOOL_LOCK_OPEN_CK = "tool_lock_open_ck" // 锁定成功页-点击打开文件按钮
const val TOOL_UNLOCK_CK = "tool_unlock_ck" // 点击解锁按钮
const val TOOL_UNLOCK_SEA_CK = "tool_unlock_sea_ck" // 点击解锁页搜索按钮
const val TOOL_UNLOCK_PASW_CANC = "tool_unlock_pasw_canc" // 取消解锁
const val TOOL_UNLOCK_PASW_CONF = "tool_unlock_pasw_conf" // 确认解锁
const val TOOL_UNLOCK_SUC = "tool_unlock_suc" // 解锁成功
const val TOOL_UNLOCK_SHA_CK = "tool_unlock_sha_ck" // 解锁成功页-点击分享按钮
const val TOOL_UNLOCK_OPEN_CK = "tool_unlock_open_ck" // 解锁成功页-点击打开文件按钮
const val SIDEBAR_OPEN = "sidebar_open" // 点击侧边栏
const val SIDEBAR_KEEP_SCREEN = "sidebar_keep_screen" // 点击切换屏幕常亮
const val SIDEBAR_SHA_APP_CK = "sidebar_sha_app_ck" // 点击分享软件
const val APP_EXIT_BACK_FIRST_CK = "app_exit_back_first_ck" // 退出应用-首次返回点击
const val APP_EXIT_CONF_CK = "app_exit_conf_ck" // 退出确认点击
const val APP_EXIT_SUC = "app_exit_suc" // 退出应用成功
}
/** param 常量 */
object Param {
}
}

View File

@ -3,4 +3,6 @@ plugins {
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.devtools.ksp) apply false alias(libs.plugins.devtools.ksp) apply false
id("com.google.gms.google-services") version "4.4.4" apply false
id("com.google.firebase.crashlytics") version "3.0.6" apply false
} }