build:重构项目并移除 Firebase 相关功能
-移除了 Firebase Analytics、Crashlytics 和 Performance Monitoring 的集成 - 删除了 EventRecord 类和相关的事件记录代码 - 更新了应用名称为"铁锈助手Lite" - 调整了应用图标和主题颜色 - 移除了不必要的权限请求和相关代码
|
@ -3,10 +3,6 @@ plugins {
|
||||||
id 'kotlin-android'
|
id 'kotlin-android'
|
||||||
// id "androidx.navigation.safeargs.kotlin"
|
// id "androidx.navigation.safeargs.kotlin"
|
||||||
id 'kotlin-kapt'
|
id 'kotlin-kapt'
|
||||||
id 'com.google.gms.google-services'
|
|
||||||
id 'com.google.firebase.firebase-perf'
|
|
||||||
id 'com.google.firebase.crashlytics'
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
@ -28,11 +24,11 @@ android {
|
||||||
// buildToolsVersion "30.0.3"
|
// buildToolsVersion "30.0.3"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.coldmint.rust.pro"
|
applicationId "com.coldmint.rust.lite"
|
||||||
minSdkVersion 23
|
minSdkVersion 23
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
versionCode 28
|
versionCode 28
|
||||||
versionName "2.3.0 Test(2025-One)"//第一季度 One 第二季度 Two 第三季度 Three 第四季度 Four
|
versionName "1.0 Lite"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,10 +92,6 @@ dependencies {
|
||||||
implementation 'com.google.android.material:material:1.9.0'
|
implementation 'com.google.android.material:material:1.9.0'
|
||||||
|
|
||||||
//引发BUG的组件
|
//引发BUG的组件
|
||||||
implementation platform('com.google.firebase:firebase-bom:31.3.0')
|
|
||||||
implementation 'com.google.firebase:firebase-analytics-ktx'
|
|
||||||
implementation 'com.google.firebase:firebase-crashlytics-ktx'
|
|
||||||
implementation 'com.google.firebase:firebase-perf-ktx'
|
|
||||||
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
|
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
|
||||||
implementation project(path: ':library')
|
implementation project(path: ':library')
|
||||||
implementation project(':imageactivity')
|
implementation project(':imageactivity')
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "787078274450",
|
|
||||||
"project_id": "rust-assistant-58ca5",
|
|
||||||
"storage_bucket": "rust-assistant-58ca5.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:787078274450:android:e5a88cb9c74737a9b6754b",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "com.coldmint.rust.pro"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "787078274450-uv7cj6beui62h4qpfqson6skek06u5sk.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyA5b4_azY4PMSnHDF3Qsu0cFwsFhWT413M"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "787078274450-uv7cj6beui62h4qpfqson6skek06u5sk.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 15 KiB |
|
@ -17,7 +17,6 @@ import com.coldmint.rust.core.tool.FileOperator
|
||||||
import com.coldmint.rust.core.tool.FileOperator.copyFile
|
import com.coldmint.rust.core.tool.FileOperator.copyFile
|
||||||
import com.coldmint.rust.pro.databinding.ActivityImporterBinding
|
import com.coldmint.rust.pro.databinding.ActivityImporterBinding
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.EventRecord
|
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
import com.coldmint.rust.pro.viewmodel.StartViewModel
|
import com.coldmint.rust.pro.viewmodel.StartViewModel
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
@ -31,16 +30,12 @@ class ImporterActivity : BaseActivity<ActivityImporterBinding>() {
|
||||||
private var uri: Uri? = null
|
private var uri: Uri? = null
|
||||||
private var fileName: String? = null
|
private var fileName: String? = null
|
||||||
private var type: String? = null
|
private var type: String? = null
|
||||||
val startViewModel by lazy {
|
private val startViewModel by lazy {
|
||||||
ViewModelProvider(this).get(StartViewModel::class.java)
|
ViewModelProvider(this)[StartViewModel::class.java]
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
setTitle(R.string.file_importer)
|
setTitle(R.string.file_importer)
|
||||||
val account = AppSettings.getValue(AppSettings.Setting.Account, "")
|
|
||||||
if (account.isNotBlank()) {
|
|
||||||
EventRecord.setUserId(account)
|
|
||||||
}
|
|
||||||
startViewModel.initAllData()
|
startViewModel.initAllData()
|
||||||
GlobalMethod.requestStoragePermissions(this) {
|
GlobalMethod.requestStoragePermissions(this) {
|
||||||
if (it) {
|
if (it) {
|
||||||
|
|
|
@ -1,19 +1,15 @@
|
||||||
package com.coldmint.rust.pro
|
package com.coldmint.rust.pro
|
||||||
|
|
||||||
import android.animation.ObjectAnimator
|
import android.animation.ObjectAnimator
|
||||||
import android.app.Service
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.VibrationEffect
|
|
||||||
import android.os.Vibrator
|
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
import android.text.SpannableString
|
import android.text.SpannableString
|
||||||
import android.text.TextPaint
|
import android.text.TextPaint
|
||||||
import android.text.TextWatcher
|
import android.text.TextWatcher
|
||||||
import android.text.method.LinkMovementMethod
|
import android.text.method.LinkMovementMethod
|
||||||
import android.text.style.ClickableSpan
|
import android.text.style.ClickableSpan
|
||||||
import android.util.Log
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
@ -30,10 +26,7 @@ import com.coldmint.rust.pro.base.BaseActivity
|
||||||
import com.coldmint.rust.pro.databinding.ActivityLoginBinding
|
import com.coldmint.rust.pro.databinding.ActivityLoginBinding
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.EmailAutoCompleteHelper
|
import com.coldmint.rust.pro.tool.EmailAutoCompleteHelper
|
||||||
import com.coldmint.rust.pro.tool.EventRecord
|
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.gyf.immersionbar.ktx.immersionBar
|
|
||||||
|
|
||||||
class LoginActivity : BaseActivity<ActivityLoginBinding>() {
|
class LoginActivity : BaseActivity<ActivityLoginBinding>() {
|
||||||
private var isLogin = false
|
private var isLogin = false
|
||||||
|
@ -124,9 +117,6 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
|
||||||
isLogin = false
|
isLogin = false
|
||||||
viewBinding.button.setText(R.string.login)
|
viewBinding.button.setText(R.string.login)
|
||||||
if (userData.code == ServerConfiguration.Success_Code) {
|
if (userData.code == ServerConfiguration.Success_Code) {
|
||||||
//记录登录事件
|
|
||||||
EventRecord.setUserId(account)
|
|
||||||
EventRecord.login()
|
|
||||||
AppSettings.forceSetValue(AppSettings.Setting.PassWord, passWord)
|
AppSettings.forceSetValue(AppSettings.Setting.PassWord, passWord)
|
||||||
AppSettings.forceSetValue(
|
AppSettings.forceSetValue(
|
||||||
AppSettings.Setting.Account,
|
AppSettings.Setting.Account,
|
||||||
|
|
|
@ -33,7 +33,6 @@ import com.coldmint.rust.pro.base.BaseActivity
|
||||||
import com.coldmint.rust.pro.databinding.ActivityMainBinding
|
import com.coldmint.rust.pro.databinding.ActivityMainBinding
|
||||||
import com.coldmint.rust.pro.databinding.HeadLayoutBinding
|
import com.coldmint.rust.pro.databinding.HeadLayoutBinding
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.EventRecord
|
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
import com.coldmint.rust.pro.viewmodel.StartViewModel
|
import com.coldmint.rust.pro.viewmodel.StartViewModel
|
||||||
import com.google.android.material.color.DynamicColors
|
import com.google.android.material.color.DynamicColors
|
||||||
|
@ -692,7 +691,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||||
opIntent.putExtra("userId", account)
|
opIntent.putExtra("userId", account)
|
||||||
startActivity(opIntent)
|
startActivity(opIntent)
|
||||||
}
|
}
|
||||||
EventRecord.setUserId(account)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
startViewModel.needLoginLiveData.observe(this) {
|
startViewModel.needLoginLiveData.observe(this) {
|
||||||
|
|
|
@ -22,7 +22,6 @@ import com.coldmint.rust.core.interfaces.LineParserEvent
|
||||||
import com.coldmint.rust.core.tool.FileFinder2
|
import com.coldmint.rust.core.tool.FileFinder2
|
||||||
import com.coldmint.rust.core.tool.FileOperator
|
import com.coldmint.rust.core.tool.FileOperator
|
||||||
import com.coldmint.rust.pro.databinding.ActivityPackBinding
|
import com.coldmint.rust.pro.databinding.ActivityPackBinding
|
||||||
import com.coldmint.rust.pro.tool.EventRecord
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.StringBuilder
|
import java.lang.StringBuilder
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
|
@ -309,7 +308,6 @@ class PackActivity : BaseActivity<ActivityPackBinding>() {
|
||||||
|
|
||||||
override fun whenCompressionComplete(result: Boolean) {
|
override fun whenCompressionComplete(result: Boolean) {
|
||||||
handler.post {
|
handler.post {
|
||||||
EventRecord.packMod(targetFile.name)
|
|
||||||
resetButton(result)
|
resetButton(result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,16 +4,12 @@ import android.annotation.SuppressLint
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.pm.ActivityInfo
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import cat.ereza.customactivityoncrash.config.CaocConfig
|
import cat.ereza.customactivityoncrash.config.CaocConfig
|
||||||
import com.coldmint.rust.core.debug.LogCat
|
import com.coldmint.rust.core.debug.LogCat
|
||||||
import com.coldmint.rust.core.debug.LogCatObserver
|
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.google.android.material.color.DynamicColors
|
import com.google.android.material.color.DynamicColors
|
||||||
import com.google.android.material.color.DynamicColorsOptions
|
import com.google.android.material.color.DynamicColorsOptions
|
||||||
import com.google.firebase.crashlytics.ktx.crashlytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import com.hjq.language.MultiLanguages
|
import com.hjq.language.MultiLanguages
|
||||||
import com.youth.banner.BuildConfig
|
import com.youth.banner.BuildConfig
|
||||||
|
|
||||||
|
@ -47,11 +43,6 @@ class RustApplication : Application() {
|
||||||
)
|
)
|
||||||
}.build()
|
}.build()
|
||||||
DynamicColors.applyToActivitiesIfAvailable(this, options)
|
DynamicColors.applyToActivitiesIfAvailable(this, options)
|
||||||
LogCat.attachObserver(object : LogCatObserver {
|
|
||||||
override fun onReceiveLog(msg: String) {
|
|
||||||
Firebase.crashlytics.log(msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
LogCat.setEnable(!BuildConfig.DEBUG)
|
LogCat.setEnable(!BuildConfig.DEBUG)
|
||||||
//程序崩溃
|
//程序崩溃
|
||||||
CaocConfig.Builder.create()
|
CaocConfig.Builder.create()
|
||||||
|
|
|
@ -13,30 +13,18 @@ import com.coldmint.rust.pro.base.BaseVh
|
||||||
import com.coldmint.rust.pro.databinding.ActivityCodeTableBinding
|
import com.coldmint.rust.pro.databinding.ActivityCodeTableBinding
|
||||||
import com.coldmint.rust.pro.databinding.ItemCodetableBinding
|
import com.coldmint.rust.pro.databinding.ItemCodetableBinding
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
import com.google.android.gms.common.internal.Objects
|
|
||||||
|
|
||||||
class CodeTableAdapter(
|
class CodeTableAdapter(
|
||||||
val context: Context,
|
val context: Context,
|
||||||
private val group: List<SectionInfo>,
|
private val group: List<SectionInfo>,
|
||||||
private val itemList: List<List<CodeInfo>>,
|
private val itemList: List<List<CodeInfo>>,
|
||||||
private val binding: ActivityCodeTableBinding
|
private val binding: ActivityCodeTableBinding
|
||||||
) : RecyclerView.Adapter<BaseVh<ItemCodetableBinding>>() {
|
) : RecyclerView.Adapter<BaseVh<ItemCodetableBinding>>() {
|
||||||
private var versionMap: HashMap<Int, String>? = null
|
private var versionMap: HashMap<Int, String>? = null
|
||||||
private var typeNameMap: HashMap<String, String>? = null
|
private var typeNameMap: HashMap<String, String>? = null
|
||||||
private var sectionMap: HashMap<String, String>? = null
|
private var sectionMap: HashMap<String, String>? = null
|
||||||
|
|
||||||
/* private val executorService by lazy {
|
|
||||||
Executors.newSingleThreadExecutor()
|
|
||||||
}*/
|
|
||||||
private val lineParser = LineParser()
|
private val lineParser = LineParser()
|
||||||
|
|
||||||
//Label点击事件
|
|
||||||
// var labelFunction: ((Int, View, String) -> Unit)? = null
|
|
||||||
/* private val developerMode by lazy {
|
|
||||||
AppSettings
|
|
||||||
.getValue(AppSettings.Setting.DeveloperMode, false)
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节名映射
|
* 节名映射
|
||||||
* @param sectionMap HashMap<String, String>
|
* @param sectionMap HashMap<String, String>
|
||||||
|
@ -61,129 +49,17 @@ class CodeTableAdapter(
|
||||||
this.versionMap = versionMap
|
this.versionMap = versionMap
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fun getChildView(
|
override fun onCreateViewHolder(
|
||||||
groupPosition: Int,
|
parent: ViewGroup,
|
||||||
childPosition: Int,
|
viewType: Int
|
||||||
isLastChild: Boolean,
|
): BaseVh<ItemCodetableBinding> {
|
||||||
convertView: View?,
|
return BaseVh(
|
||||||
parent: ViewGroup
|
ItemCodetableBinding.inflate(
|
||||||
): View {
|
LayoutInflater.from(parent.context),
|
||||||
val resultView: CodeTableItemBinding =
|
parent,
|
||||||
CodeTableItemBinding.inflate(layoutInflater, parent, false)
|
false
|
||||||
val codeInfo = itemList[groupPosition][childPosition]
|
)
|
||||||
|
)
|
||||||
// resultView.belongStackLabelView.onLabelClickListener = OnLabelClickListener { index, v, s ->
|
|
||||||
// }
|
|
||||||
resultView.descriptionView.text = codeInfo.description
|
|
||||||
resultView.descriptionView.setOnClickListener {
|
|
||||||
GlobalMethod.copyText(context, codeInfo.description, it)
|
|
||||||
}
|
|
||||||
resultView.titleView.text = codeInfo.translate
|
|
||||||
resultView.titleView.setOnClickListener {
|
|
||||||
GlobalMethod.copyText(context, codeInfo.translate, it)
|
|
||||||
}
|
|
||||||
|
|
||||||
val demo = codeInfo.demo
|
|
||||||
resultView.imageView.isVisible = demo.isNotBlank()
|
|
||||||
resultView.imageView.setOnClickListener {
|
|
||||||
val dialog = MaterialAlertDialogBuilder(context);
|
|
||||||
dialog.setTitle(R.string.code_demo)
|
|
||||||
dialog.setMessage(demo)
|
|
||||||
dialog.setPositiveButton(R.string.dialog_ok){
|
|
||||||
v,a->
|
|
||||||
}
|
|
||||||
dialog.show()
|
|
||||||
}
|
|
||||||
|
|
||||||
resultView.subTitleView.text = codeInfo.code
|
|
||||||
resultView.subTitleView.setOnClickListener {
|
|
||||||
GlobalMethod.copyText(context, codeInfo.code, it)
|
|
||||||
}
|
|
||||||
resultView.valueTypeView.text = typeNameMap?.get(codeInfo.type) ?: codeInfo.type
|
|
||||||
lineParser.text = codeInfo.section
|
|
||||||
resultView.chipGroup.removeAllViews()
|
|
||||||
var isNotEmpty = false
|
|
||||||
lineParser.analyse { lineNum, lineData, isEnd ->
|
|
||||||
isNotEmpty = true
|
|
||||||
val text = sectionMap?.get(lineData) ?: lineData
|
|
||||||
val chip = Chip(context)
|
|
||||||
chip.text = text
|
|
||||||
chip.setOnClickListener {
|
|
||||||
labelFunction?.invoke(lineNum, it, text)
|
|
||||||
}
|
|
||||||
resultView.chipGroup.addView(chip)
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
resultView.chipGroup.isVisible = isNotEmpty
|
|
||||||
resultView.valueTypeView.setOnClickListener {
|
|
||||||
val handler = Handler(Looper.getMainLooper())
|
|
||||||
executorService.submit {
|
|
||||||
val codeDataBase = CodeDataBase.getInstance(context)
|
|
||||||
val typeInfo = codeDataBase.getValueTypeDao().findTypeByType(codeInfo.type)
|
|
||||||
if (typeInfo == null) {
|
|
||||||
handler.post {
|
|
||||||
handler.post {
|
|
||||||
MaterialDialog(context).show {
|
|
||||||
title(text = codeInfo.type).message(
|
|
||||||
text = String.format(
|
|
||||||
context.getString(
|
|
||||||
R.string.unknown_type
|
|
||||||
), codeInfo.type
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.positiveButton(R.string.dialog_ok)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (developerMode) {
|
|
||||||
val stringBuilder = StringBuilder()
|
|
||||||
stringBuilder.append("介绍:")
|
|
||||||
stringBuilder.append(typeInfo.describe)
|
|
||||||
stringBuilder.append("\n附加信息:")
|
|
||||||
stringBuilder.append(typeInfo.external)
|
|
||||||
stringBuilder.append("\n关联的自动提示:")
|
|
||||||
stringBuilder.append(typeInfo.list)
|
|
||||||
stringBuilder.append("\n光标偏差:")
|
|
||||||
stringBuilder.append(typeInfo.offset)
|
|
||||||
stringBuilder.append("\n标签:")
|
|
||||||
stringBuilder.append(typeInfo.tag)
|
|
||||||
stringBuilder.append("\n数据规则:")
|
|
||||||
stringBuilder.append(typeInfo.rule)
|
|
||||||
handler.post {
|
|
||||||
MaterialDialog(context).show {
|
|
||||||
title(text = typeInfo.name + "(开发者模式)").message(text = stringBuilder.toString())
|
|
||||||
.positiveButton(R.string.dialog_ok)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (typeInfo.describe == "@search(code)") {
|
|
||||||
handler.post {
|
|
||||||
MaterialDialog(context).show {
|
|
||||||
title(text = typeInfo.name).message(text = codeInfo.description)
|
|
||||||
.positiveButton(R.string.dialog_ok)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
handler.post {
|
|
||||||
MaterialDialog(context).show {
|
|
||||||
title(text = typeInfo.name).message(text = typeInfo.describe)
|
|
||||||
.positiveButton(R.string.dialog_ok)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resultView.versionView.text =
|
|
||||||
versionMap?.get(codeInfo.addVersion) ?: codeInfo.addVersion.toString()
|
|
||||||
return resultView.root
|
|
||||||
}*/
|
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseVh<ItemCodetableBinding> {
|
|
||||||
return BaseVh(ItemCodetableBinding.inflate(LayoutInflater.from(parent.context), parent, false))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getItemCount(): Int {
|
override fun getItemCount(): Int {
|
||||||
|
@ -207,28 +83,38 @@ class CodeTableAdapter(
|
||||||
override fun onBindViewHolder(holder: BaseVh<ItemCodetableBinding>, position: Int) {
|
override fun onBindViewHolder(holder: BaseVh<ItemCodetableBinding>, position: Int) {
|
||||||
holder.binging.title.text = group[position].translate
|
holder.binging.title.text = group[position].translate
|
||||||
val format = String.format(
|
val format = String.format(
|
||||||
context.getString(R.string.filenum),
|
context.getString(R.string.filenum),
|
||||||
itemList[position].size
|
itemList[position].size
|
||||||
)
|
)
|
||||||
holder.binging.message.text = format
|
holder.binging.message.text = format
|
||||||
holder.itemView.setOnClickListener {
|
holder.itemView.setOnClickListener {
|
||||||
i = group[position].translate
|
val finalPosition = holder.layoutPosition
|
||||||
|
i = group[finalPosition].translate
|
||||||
pick = 0
|
pick = 0
|
||||||
pickString = ""
|
pickString = ""
|
||||||
picklist.clear()
|
picklist.clear()
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
item!!.list = itemList[position]
|
item!!.list = itemList[position]
|
||||||
binding.codeRecyclerB.adapter = item
|
binding.codeRecyclerB.adapter = item
|
||||||
notifyDataSetChanged()
|
|
||||||
}
|
}
|
||||||
// notifyItemChanged(p)
|
notifyItemChanged(finalPosition)
|
||||||
}
|
}
|
||||||
if (Objects.equal(group[position].translate, i)) {
|
if (group[position].translate == i) {
|
||||||
//背景高亮
|
//背景高亮
|
||||||
holder.binging.root.setCardBackgroundColor(GlobalMethod.getThemeColor(context, R.attr.colorPrimaryContainer))
|
holder.binging.root.setCardBackgroundColor(
|
||||||
|
GlobalMethod.getThemeColor(
|
||||||
|
context,
|
||||||
|
R.attr.colorPrimaryContainer
|
||||||
|
)
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
//背景恢复
|
//背景恢复
|
||||||
holder.binging.root.setCardBackgroundColor(GlobalMethod.getThemeColor(context, R.attr.colorSurface))
|
holder.binging.root.setCardBackgroundColor(
|
||||||
|
GlobalMethod.getThemeColor(
|
||||||
|
context,
|
||||||
|
R.attr.colorSurface
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,12 +7,8 @@ import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import com.google.firebase.analytics.FirebaseAnalytics
|
|
||||||
import com.google.firebase.analytics.ktx.analytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
|
|
||||||
abstract class BaseFragment<T : ViewBinding> : Fragment() {
|
abstract class BaseFragment<T : ViewBinding> : Fragment() {
|
||||||
protected lateinit var firebaseAnalytics: FirebaseAnalytics
|
|
||||||
protected lateinit var viewBinding: T
|
protected lateinit var viewBinding: T
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,11 +50,6 @@ abstract class BaseFragment<T : ViewBinding> : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
try {
|
|
||||||
firebaseAnalytics = Firebase.analytics
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e.printStackTrace()
|
|
||||||
}
|
|
||||||
whenViewCreated(layoutInflater, savedInstanceState)
|
whenViewCreated(layoutInflater, savedInstanceState)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,7 +19,6 @@ import com.coldmint.rust.pro.base.BaseFragment
|
||||||
import com.coldmint.rust.pro.databean.CommunityServiceInfo
|
import com.coldmint.rust.pro.databean.CommunityServiceInfo
|
||||||
import com.coldmint.rust.pro.databinding.FragmentUserInfoBinding
|
import com.coldmint.rust.pro.databinding.FragmentUserInfoBinding
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.EventRecord
|
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
|
|
||||||
class UserInfoFragment : BaseFragment<FragmentUserInfoBinding>() {
|
class UserInfoFragment : BaseFragment<FragmentUserInfoBinding>() {
|
||||||
|
@ -171,8 +170,6 @@ class UserInfoFragment : BaseFragment<FragmentUserInfoBinding>() {
|
||||||
|
|
||||||
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
|
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
|
||||||
viewBinding.logOutButton.setOnClickListener {
|
viewBinding.logOutButton.setOnClickListener {
|
||||||
EventRecord.logout()
|
|
||||||
EventRecord.setUserId(null)
|
|
||||||
AppSettings.setValue(AppSettings.Setting.LoginStatus, false)
|
AppSettings.setValue(AppSettings.Setting.LoginStatus, false)
|
||||||
// GlobalMethod.isActive = false
|
// GlobalMethod.isActive = false
|
||||||
AppSettings.setValue(
|
AppSettings.setValue(
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
package com.coldmint.rust.pro.tool
|
|
||||||
|
|
||||||
import android.os.Bundle
|
|
||||||
import com.google.firebase.analytics.ktx.analytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 事件记录类
|
|
||||||
*/
|
|
||||||
object EventRecord {
|
|
||||||
const val Event_LOGOUT = "logout"
|
|
||||||
|
|
||||||
//打包Mod
|
|
||||||
const val Event_PACK_MOD = "pack_mod"
|
|
||||||
const val Event_LOGIN = "login"
|
|
||||||
|
|
||||||
private val firebaseAnalytics = Firebase.analytics
|
|
||||||
private var account: String? = null
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置用户id
|
|
||||||
*/
|
|
||||||
fun setUserId(userId: String?) {
|
|
||||||
account = userId
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录
|
|
||||||
*/
|
|
||||||
fun login() {
|
|
||||||
val bundle = Bundle()
|
|
||||||
bundle.putString("account", account)
|
|
||||||
firebaseAnalytics.logEvent(Event_LOGIN, bundle)
|
|
||||||
firebaseAnalytics.setUserId(account)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登出
|
|
||||||
*/
|
|
||||||
fun logout() {
|
|
||||||
val bundle = Bundle()
|
|
||||||
bundle.putString("account", account)
|
|
||||||
firebaseAnalytics.logEvent(Event_LOGOUT, bundle)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 打包模组
|
|
||||||
*/
|
|
||||||
fun packMod(targetFileName: String) {
|
|
||||||
val bundle = Bundle()
|
|
||||||
bundle.putString("account", account)
|
|
||||||
bundle.putString("fileName", targetFileName)
|
|
||||||
firebaseAnalytics.logEvent(Event_PACK_MOD, bundle)
|
|
||||||
firebaseAnalytics.setUserId(account)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -14,8 +14,6 @@ import com.coldmint.rust.pro.livedata.OpenedSourceFileListLiveData
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.CompletionItemConverter
|
import com.coldmint.rust.pro.tool.CompletionItemConverter
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
import com.google.firebase.crashlytics.ktx.crashlytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -38,13 +36,7 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
|
||||||
var targetFile: File? = null
|
var targetFile: File? = null
|
||||||
|
|
||||||
private val codeTranslate by lazy {
|
private val codeTranslate by lazy {
|
||||||
val c = CodeTranslate(getApplication())
|
CodeTranslate(getApplication())
|
||||||
c.setCompileErrorRecordFun {
|
|
||||||
//将信息上传至FireBase
|
|
||||||
Firebase.crashlytics.setCustomKey("type", "代码编译错误")
|
|
||||||
Firebase.crashlytics.recordException(it)
|
|
||||||
}
|
|
||||||
c
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,28 +1,15 @@
|
||||||
package com.coldmint.rust.pro.viewmodel
|
package com.coldmint.rust.pro.viewmodel
|
||||||
|
|
||||||
import android.Manifest
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
|
||||||
import android.os.CountDownTimer
|
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import android.provider.Settings
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.core.app.ActivityCompat
|
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.coldmint.rust.core.CompressionManager
|
import com.coldmint.rust.core.CompressionManager
|
||||||
import com.coldmint.rust.core.DataSet
|
import com.coldmint.rust.core.DataSet
|
||||||
import com.coldmint.rust.core.dataBean.LoginRequestData
|
|
||||||
import com.coldmint.rust.core.dataBean.user.ActivationInfo
|
import com.coldmint.rust.core.dataBean.user.ActivationInfo
|
||||||
import com.coldmint.rust.core.dataBean.user.SocialInfoData
|
|
||||||
import com.coldmint.rust.core.dataBean.user.UserData
|
|
||||||
import com.coldmint.rust.core.database.code.CodeDataBase
|
import com.coldmint.rust.core.database.code.CodeDataBase
|
||||||
import com.coldmint.rust.core.debug.LogCat
|
import com.coldmint.rust.core.debug.LogCat
|
||||||
import com.coldmint.rust.core.interfaces.ApiCallBack
|
import com.coldmint.rust.core.interfaces.ApiCallBack
|
||||||
|
@ -39,12 +26,8 @@ import com.coldmint.rust.pro.tool.BookmarkManager
|
||||||
import com.coldmint.rust.pro.tool.CompletionItemConverter
|
import com.coldmint.rust.pro.tool.CompletionItemConverter
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
import com.google.android.material.color.DynamicColors
|
import com.google.android.material.color.DynamicColors
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|
||||||
import com.google.firebase.crashlytics.ktx.crashlytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.Executors
|
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,14 +117,12 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
|
||||||
val status = AppSettings.getValue(AppSettings.Setting.LoginStatus, false)
|
val status = AppSettings.getValue(AppSettings.Setting.LoginStatus, false)
|
||||||
if (!status) {
|
if (!status) {
|
||||||
needLoginLiveData.value = true
|
needLoginLiveData.value = true
|
||||||
Firebase.crashlytics.setUserId("")
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//验证登录
|
//验证登录
|
||||||
val token = AppSettings.getValue(AppSettings.Setting.Token, "")
|
val token = AppSettings.getValue(AppSettings.Setting.Token, "")
|
||||||
if (token.isBlank()) {
|
if (token.isBlank()) {
|
||||||
needLoginLiveData.value = true
|
needLoginLiveData.value = true
|
||||||
Firebase.crashlytics.setUserId("")
|
|
||||||
} else {
|
} else {
|
||||||
User.getUserActivationInfo(token, object : ApiCallBack<ActivationInfo> {
|
User.getUserActivationInfo(token, object : ApiCallBack<ActivationInfo> {
|
||||||
override fun onFailure(e: Exception) {
|
override fun onFailure(e: Exception) {
|
||||||
|
@ -151,7 +132,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
|
||||||
)
|
)
|
||||||
if (localTime == (-2).toLong()) {
|
if (localTime == (-2).toLong()) {
|
||||||
isActivationLiveData.value = true
|
isActivationLiveData.value = true
|
||||||
Firebase.crashlytics.setUserId("")
|
|
||||||
} else {
|
} else {
|
||||||
val nowTime = System.currentTimeMillis()
|
val nowTime = System.currentTimeMillis()
|
||||||
//本地时间大于当前时间 激活
|
//本地时间大于当前时间 激活
|
||||||
|
@ -171,7 +151,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
|
||||||
time
|
time
|
||||||
)
|
)
|
||||||
isActivationLiveData.value = activationInfo.data.activation
|
isActivationLiveData.value = activationInfo.data.activation
|
||||||
Firebase.crashlytics.setUserId(activationInfo.data.account)
|
|
||||||
} else {
|
} else {
|
||||||
// 用户登录失败
|
// 用户登录失败
|
||||||
verifyErrorMsgLiveData.value = activationInfo.message
|
verifyErrorMsgLiveData.value = activationInfo.message
|
||||||
|
@ -259,7 +238,10 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
|
||||||
DynamicColors.isDynamicColorAvailable()
|
DynamicColors.isDynamicColorAvailable()
|
||||||
)
|
)
|
||||||
//如果是安卓12或更低,那么默认启用。安卓13默认关闭
|
//如果是安卓12或更低,那么默认启用。安卓13默认关闭
|
||||||
AppSettings.initSetting(AppSettings.Setting.ClipboardCue,Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2)
|
AppSettings.initSetting(
|
||||||
|
AppSettings.Setting.ClipboardCue,
|
||||||
|
Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2
|
||||||
|
)
|
||||||
AppSettings.initSetting(AppSettings.Setting.KeywordColor, "#2196f3")
|
AppSettings.initSetting(AppSettings.Setting.KeywordColor, "#2196f3")
|
||||||
AppSettings.initSetting(AppSettings.Setting.SectionColor, "#e91e63")
|
AppSettings.initSetting(AppSettings.Setting.SectionColor, "#e91e63")
|
||||||
AppSettings.initSetting(AppSettings.Setting.TextColor, "#212121")
|
AppSettings.initSetting(AppSettings.Setting.TextColor, "#212121")
|
||||||
|
@ -324,7 +306,10 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
|
||||||
DebugHelper.printLog("加载数据集", "无法二次加载" + databaseFolder)
|
DebugHelper.printLog("加载数据集", "无法二次加载" + databaseFolder)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
DebugHelper.printLog("加载数据集", "已解压" + databaseFolder + "但不使用。")
|
DebugHelper.printLog(
|
||||||
|
"加载数据集",
|
||||||
|
"已解压" + databaseFolder + "但不使用。"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
Before Width: | Height: | Size: 3.7 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 4.3 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Normal file
After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.1 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 794 B |
Before Width: | Height: | Size: 3.4 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 5.2 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.9 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Normal file
After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 8.4 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 9.6 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Normal file
After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 13 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Normal file
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 15 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Normal file
After Width: | Height: | Size: 8.9 KiB |
4
app/src/main/res/values/ic_launcher_background.xml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="ic_launcher_background">#3919CD</color>
|
||||||
|
</resources>
|
|
@ -1,5 +1,5 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">铁锈助手</string>
|
<string name="app_name">铁锈助手Lite</string>
|
||||||
<string name="dialog_title">权限申请</string>
|
<string name="dialog_title">权限申请</string>
|
||||||
<string name="dialog_msg29">我们需要文件管理权限,用于读取模组列表,编辑源文件,导入导出模组。</string>
|
<string name="dialog_msg29">我们需要文件管理权限,用于读取模组列表,编辑源文件,导入导出模组。</string>
|
||||||
<string name="dialog_confirm">授权</string>
|
<string name="dialog_confirm">授权</string>
|
||||||
|
|
|
@ -138,7 +138,7 @@ class CodeTranslate(val context: Context) {
|
||||||
num++
|
num++
|
||||||
debugKey = "代码翻译器-任务${num}"
|
debugKey = "代码翻译器-任务${num}"
|
||||||
DebugHelper.printLog(
|
DebugHelper.printLog(
|
||||||
CodeTranslate.debugKey,
|
debugKey,
|
||||||
"开始执行(英文模式${englishMode} 翻译模式${translateMode})...",
|
"开始执行(英文模式${englishMode} 翻译模式${translateMode})...",
|
||||||
"代码翻译", isError = true
|
"代码翻译", isError = true
|
||||||
)
|
)
|
||||||
|
@ -146,7 +146,7 @@ class CodeTranslate(val context: Context) {
|
||||||
if (englishMode) {
|
if (englishMode) {
|
||||||
//如果是英文模式,无论是翻译还是编译都返回其本身。
|
//如果是英文模式,无论是翻译还是编译都返回其本身。
|
||||||
DebugHelper.printLog(
|
DebugHelper.printLog(
|
||||||
CodeTranslate.debugKey,
|
debugKey,
|
||||||
"是英文模式返回其本身。",
|
"是英文模式返回其本身。",
|
||||||
"代码翻译", isError = true
|
"代码翻译", isError = true
|
||||||
)
|
)
|
||||||
|
@ -199,7 +199,7 @@ class CodeTranslate(val context: Context) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
DebugHelper.printLog(
|
DebugHelper.printLog(
|
||||||
CodeTranslate.debugKey,
|
debugKey,
|
||||||
"追加引用值[" + referenceValue + "]",
|
"追加引用值[" + referenceValue + "]",
|
||||||
"翻译行引用处理"
|
"翻译行引用处理"
|
||||||
)
|
)
|
||||||
|
@ -235,7 +235,7 @@ class CodeTranslate(val context: Context) {
|
||||||
} else if (codeBlockType == CodeBlockType.Reference) {
|
} else if (codeBlockType == CodeBlockType.Reference) {
|
||||||
//资源引用值应该被整体处理
|
//资源引用值应该被整体处理
|
||||||
DebugHelper.printLog(
|
DebugHelper.printLog(
|
||||||
CodeTranslate.debugKey,
|
debugKey,
|
||||||
"翻译添加引用值[" + code + "]",
|
"翻译添加引用值[" + code + "]",
|
||||||
"翻译代码处理"
|
"翻译代码处理"
|
||||||
)
|
)
|
||||||
|
@ -356,7 +356,7 @@ class CodeTranslate(val context: Context) {
|
||||||
}
|
}
|
||||||
translationResult.append(codeResult.toString())
|
translationResult.append(codeResult.toString())
|
||||||
DebugHelper.printLog(
|
DebugHelper.printLog(
|
||||||
CodeTranslate.debugKey,
|
debugKey,
|
||||||
"代码[" + code + "]译文[" + codeResult.toString() + "]是否翻译[" + (code != codeResult.toString()) + "]",
|
"代码[" + code + "]译文[" + codeResult.toString() + "]是否翻译[" + (code != codeResult.toString()) + "]",
|
||||||
"翻译"
|
"翻译"
|
||||||
)
|
)
|
||||||
|
|