build:重构项目并移除 Firebase 相关功能

-移除了 Firebase Analytics、Crashlytics 和 Performance Monitoring 的集成
- 删除了 EventRecord 类和相关的事件记录代码
- 更新了应用名称为"铁锈助手Lite"
- 调整了应用图标和主题颜色
- 移除了不必要的权限请求和相关代码
This commit is contained in:
Cold-Mint 2025-02-07 11:46:12 +08:00
parent 1e1b046d47
commit db003678d5
41 changed files with 60 additions and 337 deletions

View File

@ -3,10 +3,6 @@ plugins {
id 'kotlin-android'
// id "androidx.navigation.safeargs.kotlin"
id 'kotlin-kapt'
id 'com.google.gms.google-services'
id 'com.google.firebase.firebase-perf'
id 'com.google.firebase.crashlytics'
}
android {
@ -28,11 +24,11 @@ android {
// buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.coldmint.rust.pro"
applicationId "com.coldmint.rust.lite"
minSdkVersion 23
targetSdkVersion 33
versionCode 28
versionName "2.3.0 Test(2025-One)"// One Two Three Four
versionName "1.0 Lite"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@ -96,10 +92,6 @@ dependencies {
implementation 'com.google.android.material:material:1.9.0'
//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 project(path: ':library')
implementation project(':imageactivity')

View File

@ -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"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -17,7 +17,6 @@ import com.coldmint.rust.core.tool.FileOperator
import com.coldmint.rust.core.tool.FileOperator.copyFile
import com.coldmint.rust.pro.databinding.ActivityImporterBinding
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.viewmodel.StartViewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder
@ -31,16 +30,12 @@ class ImporterActivity : BaseActivity<ActivityImporterBinding>() {
private var uri: Uri? = null
private var fileName: String? = null
private var type: String? = null
val startViewModel by lazy {
ViewModelProvider(this).get(StartViewModel::class.java)
private val startViewModel by lazy {
ViewModelProvider(this)[StartViewModel::class.java]
}
private fun initView() {
setTitle(R.string.file_importer)
val account = AppSettings.getValue(AppSettings.Setting.Account, "")
if (account.isNotBlank()) {
EventRecord.setUserId(account)
}
startViewModel.initAllData()
GlobalMethod.requestStoragePermissions(this) {
if (it) {

View File

@ -1,19 +1,15 @@
package com.coldmint.rust.pro
import android.animation.ObjectAnimator
import android.app.Service
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.os.VibrationEffect
import android.os.Vibrator
import android.text.Editable
import android.text.SpannableString
import android.text.TextPaint
import android.text.TextWatcher
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.util.Log
import android.view.LayoutInflater
import android.view.View
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.tool.AppSettings
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.gyf.immersionbar.ktx.immersionBar
class LoginActivity : BaseActivity<ActivityLoginBinding>() {
private var isLogin = false
@ -124,9 +117,6 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
isLogin = false
viewBinding.button.setText(R.string.login)
if (userData.code == ServerConfiguration.Success_Code) {
//记录登录事件
EventRecord.setUserId(account)
EventRecord.login()
AppSettings.forceSetValue(AppSettings.Setting.PassWord, passWord)
AppSettings.forceSetValue(
AppSettings.Setting.Account,

View File

@ -33,7 +33,6 @@ import com.coldmint.rust.pro.base.BaseActivity
import com.coldmint.rust.pro.databinding.ActivityMainBinding
import com.coldmint.rust.pro.databinding.HeadLayoutBinding
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.viewmodel.StartViewModel
import com.google.android.material.color.DynamicColors
@ -692,7 +691,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
opIntent.putExtra("userId", account)
startActivity(opIntent)
}
EventRecord.setUserId(account)
}
startViewModel.needLoginLiveData.observe(this) {

View File

@ -22,7 +22,6 @@ import com.coldmint.rust.core.interfaces.LineParserEvent
import com.coldmint.rust.core.tool.FileFinder2
import com.coldmint.rust.core.tool.FileOperator
import com.coldmint.rust.pro.databinding.ActivityPackBinding
import com.coldmint.rust.pro.tool.EventRecord
import java.io.File
import java.lang.StringBuilder
import java.text.SimpleDateFormat
@ -309,7 +308,6 @@ class PackActivity : BaseActivity<ActivityPackBinding>() {
override fun whenCompressionComplete(result: Boolean) {
handler.post {
EventRecord.packMod(targetFile.name)
resetButton(result)
}
}

View File

@ -4,16 +4,12 @@ import android.annotation.SuppressLint
import android.app.Activity
import android.app.Application
import android.content.Context
import android.content.pm.ActivityInfo
import android.os.Bundle
import cat.ereza.customactivityoncrash.config.CaocConfig
import com.coldmint.rust.core.debug.LogCat
import com.coldmint.rust.core.debug.LogCatObserver
import com.coldmint.rust.pro.tool.AppSettings
import com.google.android.material.color.DynamicColors
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.youth.banner.BuildConfig
@ -47,11 +43,6 @@ class RustApplication : Application() {
)
}.build()
DynamicColors.applyToActivitiesIfAvailable(this, options)
LogCat.attachObserver(object : LogCatObserver {
override fun onReceiveLog(msg: String) {
Firebase.crashlytics.log(msg)
}
})
LogCat.setEnable(!BuildConfig.DEBUG)
//程序崩溃
CaocConfig.Builder.create()

View File

@ -13,30 +13,18 @@ import com.coldmint.rust.pro.base.BaseVh
import com.coldmint.rust.pro.databinding.ActivityCodeTableBinding
import com.coldmint.rust.pro.databinding.ItemCodetableBinding
import com.coldmint.rust.pro.tool.GlobalMethod
import com.google.android.gms.common.internal.Objects
class CodeTableAdapter(
val context: Context,
private val group: List<SectionInfo>,
private val itemList: List<List<CodeInfo>>,
private val binding: ActivityCodeTableBinding
val context: Context,
private val group: List<SectionInfo>,
private val itemList: List<List<CodeInfo>>,
private val binding: ActivityCodeTableBinding
) : RecyclerView.Adapter<BaseVh<ItemCodetableBinding>>() {
private var versionMap: HashMap<Int, String>? = null
private var typeNameMap: HashMap<String, String>? = null
private var sectionMap: HashMap<String, String>? = null
/* private val executorService by lazy {
Executors.newSingleThreadExecutor()
}*/
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>
@ -61,129 +49,17 @@ class CodeTableAdapter(
this.versionMap = versionMap
}
/* fun getChildView(
groupPosition: Int,
childPosition: Int,
isLastChild: Boolean,
convertView: View?,
parent: ViewGroup
): View {
val resultView: CodeTableItemBinding =
CodeTableItemBinding.inflate(layoutInflater, parent, 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 onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BaseVh<ItemCodetableBinding> {
return BaseVh(
ItemCodetableBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
)
}
override fun getItemCount(): Int {
@ -207,28 +83,38 @@ class CodeTableAdapter(
override fun onBindViewHolder(holder: BaseVh<ItemCodetableBinding>, position: Int) {
holder.binging.title.text = group[position].translate
val format = String.format(
context.getString(R.string.filenum),
itemList[position].size
context.getString(R.string.filenum),
itemList[position].size
)
holder.binging.message.text = format
holder.itemView.setOnClickListener {
i = group[position].translate
val finalPosition = holder.layoutPosition
i = group[finalPosition].translate
pick = 0
pickString = ""
picklist.clear()
if (item != null) {
item!!.list = itemList[position]
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 {
//背景恢复
holder.binging.root.setCardBackgroundColor(GlobalMethod.getThemeColor(context, R.attr.colorSurface))
holder.binging.root.setCardBackgroundColor(
GlobalMethod.getThemeColor(
context,
R.attr.colorSurface
)
)
}
}

View File

@ -7,12 +7,8 @@ import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
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() {
protected lateinit var firebaseAnalytics: FirebaseAnalytics
protected lateinit var viewBinding: T
@ -54,11 +50,6 @@ abstract class BaseFragment<T : ViewBinding> : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
try {
firebaseAnalytics = Firebase.analytics
} catch (e: Exception) {
e.printStackTrace()
}
whenViewCreated(layoutInflater, savedInstanceState)
}
}

View File

@ -19,7 +19,6 @@ import com.coldmint.rust.pro.base.BaseFragment
import com.coldmint.rust.pro.databean.CommunityServiceInfo
import com.coldmint.rust.pro.databinding.FragmentUserInfoBinding
import com.coldmint.rust.pro.tool.AppSettings
import com.coldmint.rust.pro.tool.EventRecord
import com.coldmint.rust.pro.tool.GlobalMethod
class UserInfoFragment : BaseFragment<FragmentUserInfoBinding>() {
@ -171,8 +170,6 @@ class UserInfoFragment : BaseFragment<FragmentUserInfoBinding>() {
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
viewBinding.logOutButton.setOnClickListener {
EventRecord.logout()
EventRecord.setUserId(null)
AppSettings.setValue(AppSettings.Setting.LoginStatus, false)
// GlobalMethod.isActive = false
AppSettings.setValue(

View File

@ -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)
}
}

View File

@ -14,8 +14,6 @@ import com.coldmint.rust.pro.livedata.OpenedSourceFileListLiveData
import com.coldmint.rust.pro.tool.AppSettings
import com.coldmint.rust.pro.tool.CompletionItemConverter
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.text.SimpleDateFormat
import java.util.*
@ -38,13 +36,7 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
var targetFile: File? = null
private val codeTranslate by lazy {
val c = CodeTranslate(getApplication())
c.setCompileErrorRecordFun {
//将信息上传至FireBase
Firebase.crashlytics.setCustomKey("type", "代码编译错误")
Firebase.crashlytics.recordException(it)
}
c
CodeTranslate(getApplication())
}
/**

View File

@ -1,28 +1,15 @@
package com.coldmint.rust.pro.viewmodel
import android.Manifest
import android.app.Application
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.CountDownTimer
import android.os.Environment
import android.provider.Settings
import android.util.Log
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.lifecycle.MutableLiveData
import com.coldmint.rust.core.CompressionManager
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.SocialInfoData
import com.coldmint.rust.core.dataBean.user.UserData
import com.coldmint.rust.core.database.code.CodeDataBase
import com.coldmint.rust.core.debug.LogCat
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.GlobalMethod
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.util.*
import java.util.concurrent.Executors
import java.util.zip.ZipEntry
@ -134,14 +117,12 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
val status = AppSettings.getValue(AppSettings.Setting.LoginStatus, false)
if (!status) {
needLoginLiveData.value = true
Firebase.crashlytics.setUserId("")
return
}
//验证登录
val token = AppSettings.getValue(AppSettings.Setting.Token, "")
if (token.isBlank()) {
needLoginLiveData.value = true
Firebase.crashlytics.setUserId("")
} else {
User.getUserActivationInfo(token, object : ApiCallBack<ActivationInfo> {
override fun onFailure(e: Exception) {
@ -151,7 +132,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
)
if (localTime == (-2).toLong()) {
isActivationLiveData.value = true
Firebase.crashlytics.setUserId("")
} else {
val nowTime = System.currentTimeMillis()
//本地时间大于当前时间 激活
@ -171,7 +151,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
time
)
isActivationLiveData.value = activationInfo.data.activation
Firebase.crashlytics.setUserId(activationInfo.data.account)
} else {
// 用户登录失败
verifyErrorMsgLiveData.value = activationInfo.message
@ -259,7 +238,10 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
DynamicColors.isDynamicColorAvailable()
)
//如果是安卓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.SectionColor, "#e91e63")
AppSettings.initSetting(AppSettings.Setting.TextColor, "#212121")
@ -324,7 +306,10 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
DebugHelper.printLog("加载数据集", "无法二次加载" + databaseFolder)
}
} else {
DebugHelper.printLog("加载数据集", "已解压" + databaseFolder + "但不使用。")
DebugHelper.printLog(
"加载数据集",
"已解压" + databaseFolder + "但不使用。"
)
}
}

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#3919CD</color>
</resources>

View File

@ -1,5 +1,5 @@
<resources>
<string name="app_name">铁锈助手</string>
<string name="app_name">铁锈助手Lite</string>
<string name="dialog_title">权限申请</string>
<string name="dialog_msg29">我们需要文件管理权限,用于读取模组列表,编辑源文件,导入导出模组。</string>
<string name="dialog_confirm">授权</string>

View File

@ -138,7 +138,7 @@ class CodeTranslate(val context: Context) {
num++
debugKey = "代码翻译器-任务${num}"
DebugHelper.printLog(
CodeTranslate.debugKey,
debugKey,
"开始执行(英文模式${englishMode} 翻译模式${translateMode})...",
"代码翻译", isError = true
)
@ -146,7 +146,7 @@ class CodeTranslate(val context: Context) {
if (englishMode) {
//如果是英文模式,无论是翻译还是编译都返回其本身。
DebugHelper.printLog(
CodeTranslate.debugKey,
debugKey,
"是英文模式返回其本身。",
"代码翻译", isError = true
)
@ -199,7 +199,7 @@ class CodeTranslate(val context: Context) {
)
}
DebugHelper.printLog(
CodeTranslate.debugKey,
debugKey,
"追加引用值[" + referenceValue + "]",
"翻译行引用处理"
)
@ -235,7 +235,7 @@ class CodeTranslate(val context: Context) {
} else if (codeBlockType == CodeBlockType.Reference) {
//资源引用值应该被整体处理
DebugHelper.printLog(
CodeTranslate.debugKey,
debugKey,
"翻译添加引用值[" + code + "]",
"翻译代码处理"
)
@ -356,7 +356,7 @@ class CodeTranslate(val context: Context) {
}
translationResult.append(codeResult.toString())
DebugHelper.printLog(
CodeTranslate.debugKey,
debugKey,
"代码[" + code + "]译文[" + codeResult.toString() + "]是否翻译[" + (code != codeResult.toString()) + "]",
"翻译"
)