diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 45951bf8..a239ba8c 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,3 +1,4 @@
+#file: noinspection YAMLSchemaValidation
blank_issues_enabled: false
contact_links:
- name: SmsForwarder 使用流程与问题排查流程
diff --git a/app/build.gradle b/app/build.gradle
index db19973b..54ac9411 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,3 +1,5 @@
+//file:noinspection GrDeprecatedAPIUsage
+//file:noinspection DependencyNotationArgument
plugins {
id 'com.android.application'
id 'kotlin-android'
@@ -159,7 +161,7 @@ android {
}
}
- android.applicationVariants.all { variant ->
+ android.applicationVariants.configureEach { variant ->
// Assigns a different version code for each output APK.
variant.outputs.each { output ->
def date = new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+08"))
@@ -197,8 +199,11 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation deps.espresso.core
+ //noinspection GradleDependency
implementation 'androidx.core:core-ktx:1.9.0'
+ //noinspection GradleDependency
implementation 'androidx.activity:activity-ktx:1.6.1'
+ //noinspection GradleDependency
implementation 'androidx.fragment:fragment-ktx:1.5.5'
implementation "androidx.cardview:cardview:1.0.0"
implementation 'androidx.appcompat:appcompat:1.6.1'
@@ -231,15 +236,22 @@ dependencies {
//implementation 'com.meituan.android.walle:library:1.1.6'
def work_version = '2.8.1'
+ //noinspection GradleDependency
api("androidx.work:work-multiprocess:$work_version")
+ //noinspection GradleDependency
api("androidx.work:work-runtime-ktx:$work_version")
//Android Room
def room_version = '2.5.2'
+ //noinspection GradleDependency
implementation "androidx.room:room-ktx:$room_version"
+ //noinspection GradleDependency
implementation "androidx.room:room-runtime:$room_version"
+ //noinspection GradleDependency
implementation "androidx.room:room-paging:$room_version"
+ //noinspection GradleDependency
implementation "androidx.room:room-rxjava2:$room_version"
+ //noinspection KaptUsageInsteadOfKsp
kapt "androidx.room:room-compiler:$room_version"
//CodeView:https://github.com/AmrDeveloper/CodeView
@@ -258,12 +270,14 @@ dependencies {
implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit2_version"
def paging_version = "3.1.1"
+ //noinspection GradleDependency
implementation "androidx.paging:paging-runtime-ktx:$paging_version"
// alternatively - without Android dependencies for tests
+ //noinspection GradleDependency
testImplementation "androidx.paging:paging-common-ktx:$paging_version"
//权限请求框架:https://github.com/getActivity/XXPermissions
- implementation 'com.github.getActivity:XXPermissions:18.2'
+ implementation 'com.github.getActivity:XXPermissions:18.5'
def mail_version = '1.6.7'
implementation "com.sun.mail:android-mail:$mail_version"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8c65937d..dd4cc8d2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -230,7 +230,8 @@
android:enabled="true" />
+ android:enabled="true"
+ android:foregroundServiceType="location" />
-
: DelegateAdapter.Adapter {
+@Suppress("unused")
+abstract class XDelegateAdapter : DelegateAdapter.Adapter {
/**
* 数据源
*/
diff --git a/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/AppListAdapterItem.kt b/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/AppListAdapterItem.kt
index 63a21a18..409d278c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/AppListAdapterItem.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/AppListAdapterItem.kt
@@ -3,7 +3,7 @@ package com.idormy.sms.forwarder.adapter.spinner
import android.graphics.drawable.Drawable
import com.xuexiang.xui.utils.ResUtils
-@Suppress("unused")
+@Suppress("unused", "DEPRECATION")
class AppListAdapterItem {
var name: String = ""
diff --git a/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/SenderAdapterItem.kt b/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/SenderAdapterItem.kt
index 3ce02dba..b63280c2 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/SenderAdapterItem.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/adapter/spinner/SenderAdapterItem.kt
@@ -4,7 +4,7 @@ import android.content.Context
import android.graphics.drawable.Drawable
import com.xuexiang.xui.utils.ResUtils
-@Suppress("unused")
+@Suppress("unused", "DEPRECATION")
class SenderAdapterItem {
//标题内容
diff --git a/app/src/main/java/com/idormy/sms/forwarder/core/webview/WebViewInterceptDialog.kt b/app/src/main/java/com/idormy/sms/forwarder/core/webview/WebViewInterceptDialog.kt
index 0c664360..1c08bc0d 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/core/webview/WebViewInterceptDialog.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/core/webview/WebViewInterceptDialog.kt
@@ -20,6 +20,7 @@ import java.net.URISyntaxException
* @author xuexiang
* @since 2019-10-21 9:51
*/
+@Suppress("DEPRECATION")
class WebViewInterceptDialog : AppCompatActivity(), DialogInterface.OnDismissListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt
index 434bff32..70b0851f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt
@@ -8,7 +8,7 @@ import androidx.room.PrimaryKey
import com.idormy.sms.forwarder.R
import com.idormy.sms.forwarder.utils.STATUS_ON
import kotlinx.parcelize.Parcelize
-import java.util.*
+import java.util.Date
@Parcelize
@Entity(tableName = "Frpc")
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Logs.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Logs.kt
index e70b9642..dc5063eb 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Logs.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Logs.kt
@@ -1,10 +1,13 @@
package com.idormy.sms.forwarder.database.entity
import android.os.Parcelable
-import androidx.room.*
-import com.idormy.sms.forwarder.R
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.ForeignKey
+import androidx.room.Index
+import androidx.room.PrimaryKey
import kotlinx.parcelize.Parcelize
-import java.util.*
+import java.util.Date
@Parcelize
@Entity(
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/LogsDetail.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/LogsDetail.kt
index 4e1b94a1..8975d054 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/LogsDetail.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/LogsDetail.kt
@@ -4,9 +4,24 @@ import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.DatabaseView
import com.idormy.sms.forwarder.R
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.TYPE_BARK
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_GROUP_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_INNER_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_EMAIL
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU_APP
+import com.idormy.sms.forwarder.utils.TYPE_GOTIFY
+import com.idormy.sms.forwarder.utils.TYPE_PUSHPLUS
+import com.idormy.sms.forwarder.utils.TYPE_SERVERCHAN
+import com.idormy.sms.forwarder.utils.TYPE_SMS
+import com.idormy.sms.forwarder.utils.TYPE_SOCKET
+import com.idormy.sms.forwarder.utils.TYPE_TELEGRAM
+import com.idormy.sms.forwarder.utils.TYPE_URL_SCHEME
+import com.idormy.sms.forwarder.utils.TYPE_WEBHOOK
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_AGENT
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_ROBOT
import kotlinx.parcelize.Parcelize
-import java.util.*
+import java.util.Date
@Parcelize
@DatabaseView("SELECT LOGS.id,LOGS.type,LOGS.msg_id,LOGS.rule_id,LOGS.sender_id,LOGS.forward_status,LOGS.forward_response,LOGS.TIME,Rule.filed AS rule_filed,Rule.`check` AS rule_check,Rule.value AS rule_value,Rule.sim_slot AS rule_sim_slot,Sender.type AS sender_type,Sender.NAME AS sender_name FROM LOGS LEFT JOIN Rule ON LOGS.rule_id = Rule.id LEFT JOIN Sender ON LOGS.sender_id = Sender.id")
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Msg.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Msg.kt
index 3fa694ec..3c077e31 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Msg.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Msg.kt
@@ -7,7 +7,7 @@ import androidx.room.Index
import androidx.room.PrimaryKey
import com.idormy.sms.forwarder.R
import kotlinx.parcelize.Parcelize
-import java.util.*
+import java.util.Date
@Parcelize
@Entity(
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Sender.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Sender.kt
index 98bd5191..72d762a8 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Sender.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Sender.kt
@@ -5,9 +5,25 @@ import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.idormy.sms.forwarder.R
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.STATUS_OFF
+import com.idormy.sms.forwarder.utils.TYPE_BARK
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_GROUP_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_INNER_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_EMAIL
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU_APP
+import com.idormy.sms.forwarder.utils.TYPE_GOTIFY
+import com.idormy.sms.forwarder.utils.TYPE_PUSHPLUS
+import com.idormy.sms.forwarder.utils.TYPE_SERVERCHAN
+import com.idormy.sms.forwarder.utils.TYPE_SMS
+import com.idormy.sms.forwarder.utils.TYPE_SOCKET
+import com.idormy.sms.forwarder.utils.TYPE_TELEGRAM
+import com.idormy.sms.forwarder.utils.TYPE_URL_SCHEME
+import com.idormy.sms.forwarder.utils.TYPE_WEBHOOK
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_AGENT
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_ROBOT
import kotlinx.parcelize.Parcelize
-import java.util.*
+import java.util.Date
@Parcelize
@Entity(tableName = "Sender")
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersDate.kt b/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersDate.kt
index 70e5133a..76ad5046 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersDate.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersDate.kt
@@ -1,7 +1,7 @@
package com.idormy.sms.forwarder.database.ext
import androidx.room.TypeConverter
-import java.util.*
+import java.util.Date
@Suppress("unused")
class ConvertersDate {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersSenderList.kt b/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersSenderList.kt
index a04eb775..155b3a8f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersSenderList.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/ext/ConvertersSenderList.kt
@@ -3,7 +3,6 @@ package com.idormy.sms.forwarder.database.ext
import androidx.room.TypeConverter
import com.idormy.sms.forwarder.core.Core
import com.idormy.sms.forwarder.database.entity.Sender
-import java.util.*
@Suppress("unused")
class ConvertersSenderList {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/LogsViewModel.kt b/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/LogsViewModel.kt
index c6e3c7a4..9bddd42f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/LogsViewModel.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/database/viewmodel/LogsViewModel.kt
@@ -1,20 +1,13 @@
package com.idormy.sms.forwarder.database.viewmodel
import androidx.lifecycle.ViewModel
-import androidx.lifecycle.viewModelScope
-import androidx.paging.Pager
-import androidx.paging.PagingConfig
-import androidx.paging.PagingData
-import androidx.paging.cachedIn
import com.idormy.sms.forwarder.database.dao.LogsDao
-import com.idormy.sms.forwarder.database.entity.LogsAndRuleAndSender
import com.idormy.sms.forwarder.database.ext.ioThread
-import kotlinx.coroutines.flow.Flow
class LogsViewModel(private val dao: LogsDao) : ViewModel() {
- private var type: String = "sms"
+ //private var type: String = "sms"
- fun setType(type: String): LogsViewModel {
+ /*fun setType(type: String): LogsViewModel {
this.type = type
return this
}
@@ -27,7 +20,7 @@ class LogsViewModel(private val dao: LogsDao) : ViewModel() {
)
) {
dao.pagingSource(type)
- }.flow.cachedIn(viewModelScope)
+ }.flow.cachedIn(viewModelScope)*/
fun delete(id: Long) = ioThread {
dao.delete(id)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/entity/result/FeishuAppResult.kt b/app/src/main/java/com/idormy/sms/forwarder/entity/result/FeishuAppResult.kt
index 025004ef..4d1435c5 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/entity/result/FeishuAppResult.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/entity/result/FeishuAppResult.kt
@@ -1,5 +1,6 @@
package com.idormy.sms.forwarder.entity.result
+@Suppress("PropertyName")
data class FeishuAppResult(
var code: Long,
var msg: String,
diff --git a/app/src/main/java/com/idormy/sms/forwarder/entity/result/WeworkAgentResult.kt b/app/src/main/java/com/idormy/sms/forwarder/entity/result/WeworkAgentResult.kt
index 78a86b32..df53b7ab 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/entity/result/WeworkAgentResult.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/entity/result/WeworkAgentResult.kt
@@ -1,5 +1,6 @@
package com.idormy.sms.forwarder.entity.result
+@Suppress("PropertyName")
data class WeworkAgentResult(
var errcode: Long,
var errmsg: String,
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/AppListFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/AppListFragment.kt
index efa39c7f..c8949bf5 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/AppListFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/AppListFragment.kt
@@ -36,7 +36,7 @@ import com.xuexiang.xutil.XUtil
class AppListFragment : BaseFragment() {
private val TAG: String = AppListFragment::class.java.simpleName
- var appListAdapter: AppListAdapter? = null
+ private var appListAdapter: AppListAdapter? = null
private val appListObserver = Observer { it: String ->
Log.d(TAG, "EVENT_LOAD_APP_LIST: $it")
appListAdapter?.refresh(getAppsList(false))
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt
index ef3422d6..90b2fb89 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt
@@ -16,7 +16,14 @@ import com.idormy.sms.forwarder.core.BaseFragment
import com.idormy.sms.forwarder.databinding.FragmentClientBinding
import com.idormy.sms.forwarder.server.model.BaseResponse
import com.idormy.sms.forwarder.server.model.ConfigData
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.Base64
+import com.idormy.sms.forwarder.utils.CLIENT_FRAGMENT_LIST
+import com.idormy.sms.forwarder.utils.CommonUtils
+import com.idormy.sms.forwarder.utils.HttpServerUtils
+import com.idormy.sms.forwarder.utils.RSACrypt
+import com.idormy.sms.forwarder.utils.SM4Crypt
+import com.idormy.sms.forwarder.utils.SettingUtils
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.xuexiang.xaop.annotation.SingleClick
import com.xuexiang.xhttp2.XHttp
import com.xuexiang.xhttp2.cache.model.CacheMode
@@ -38,11 +45,11 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
import com.xuexiang.xutil.XUtil
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName")
@Page(name = "主动控制·客户端")
class ClientFragment : BaseFragment(), View.OnClickListener, RecyclerViewHolder.OnItemClickListener {
- val TAG: String = ClientFragment::class.java.simpleName
+ private val TAG: String = ClientFragment::class.java.simpleName
private var appContext: App? = null
private var serverConfig: ConfigData? = null
private var serverHistory: MutableMap = mutableMapOf()
@@ -125,14 +132,17 @@ class ClientFragment : BaseFragment(), View.OnClickListe
safetyMeasuresId = R.id.rb_safety_measures_sign
binding!!.tvSignKey.text = getString(R.string.sign_key)
}
+
2 -> {
safetyMeasuresId = R.id.rb_safety_measures_rsa
binding!!.tvSignKey.text = getString(R.string.public_key)
}
+
3 -> {
safetyMeasuresId = R.id.rb_safety_measures_sm4
binding!!.tvSignKey.text = getString(R.string.sm4_key)
}
+
else -> {
binding!!.layoutSignKey.visibility = View.GONE
}
@@ -146,14 +156,17 @@ class ClientFragment : BaseFragment(), View.OnClickListe
safetyMeasures = 1
binding!!.tvSignKey.text = getString(R.string.sign_key)
}
+
R.id.rb_safety_measures_rsa -> {
safetyMeasures = 2
binding!!.tvSignKey.text = getString(R.string.public_key)
}
+
R.id.rb_safety_measures_sm4 -> {
safetyMeasures = 3
binding!!.tvSignKey.text = getString(R.string.sm4_key)
}
+
else -> {
binding!!.layoutSignKey.visibility = View.GONE
}
@@ -185,6 +198,7 @@ class ClientFragment : BaseFragment(), View.OnClickListe
}
CommonUtils.previewPicture(this, getString(R.string.url_wechat_miniprogram), null)
}
+
R.id.btn_server_history -> {
if (serverHistory.isEmpty()) {
XToastUtils.warning(getString(R.string.no_server_history))
@@ -213,14 +227,17 @@ class ClientFragment : BaseFragment(), View.OnClickListe
safetyMeasuresId = R.id.rb_safety_measures_sign
binding!!.tvSignKey.text = getString(R.string.sign_key)
}
+
"2" -> {
safetyMeasuresId = R.id.rb_safety_measures_rsa
binding!!.tvSignKey.text = getString(R.string.public_key)
}
+
"3" -> {
safetyMeasuresId = R.id.rb_safety_measures_sm4
binding!!.tvSignKey.text = getString(R.string.sm4_key)
}
+
else -> {
binding!!.tvSignKey.visibility = View.GONE
binding!!.etSignKey.visibility = View.GONE
@@ -237,6 +254,7 @@ class ClientFragment : BaseFragment(), View.OnClickListe
HttpServerUtils.serverHistory = ""
}.show()
}
+
R.id.btn_server_test -> {
if (!CommonUtils.checkUrl(HttpServerUtils.serverAddress)) {
XToastUtils.error(getString(R.string.invalid_service_address))
@@ -244,6 +262,7 @@ class ClientFragment : BaseFragment(), View.OnClickListe
}
queryConfig(true)
}
+
else -> {}
}
}
@@ -311,6 +330,7 @@ class ClientFragment : BaseFragment(), View.OnClickListe
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -325,6 +345,7 @@ class ClientFragment : BaseFragment(), View.OnClickListe
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcEditFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcEditFragment.kt
index 8ed3543a..31c7e225 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcEditFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcEditFragment.kt
@@ -31,8 +31,8 @@ import com.xuexiang.xui.widget.edittext.materialedittext.MaterialEditText
@Page(name = "Frp内网穿透·编辑配置")
class FrpcEditFragment : BaseFragment() {
- var titleBar: TitleBar? = null
- var frpc: Frpc? = null
+ private var titleBar: TitleBar? = null
+ private var frpc: Frpc? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
override fun initViews() {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt
index 1a422b6a..84ac0d92 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt
@@ -17,7 +17,14 @@ import com.idormy.sms.forwarder.database.viewmodel.BaseViewModelFactory
import com.idormy.sms.forwarder.database.viewmodel.FrpcViewModel
import com.idormy.sms.forwarder.databinding.FragmentFrpcsBinding
import com.idormy.sms.forwarder.service.ForegroundService
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.EVENT_FRPC_DELETE_CONFIG
+import com.idormy.sms.forwarder.utils.EVENT_FRPC_RUNNING_ERROR
+import com.idormy.sms.forwarder.utils.EVENT_FRPC_RUNNING_SUCCESS
+import com.idormy.sms.forwarder.utils.EVENT_FRPC_UPDATE_CONFIG
+import com.idormy.sms.forwarder.utils.FrpcUtils
+import com.idormy.sms.forwarder.utils.INTENT_FRPC_APPLY_FILE
+import com.idormy.sms.forwarder.utils.INTENT_FRPC_EDIT_FILE
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.jeremyliao.liveeventbus.LiveEventBus
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.xuexiang.xaop.annotation.SingleClick
@@ -41,7 +48,7 @@ import kotlinx.coroutines.launch
@Page(name = "Frp内网穿透")
class FrpcFragment : BaseFragment(), FrpcPagingAdapter.OnItemClickListener {
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var adapter = FrpcPagingAdapter(this)
private val viewModel by viewModels { BaseViewModelFactory(context) }
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt
index c37d6d36..e68962be 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/LogsFragment.kt
@@ -36,11 +36,11 @@ import kotlinx.coroutines.launch
import java.text.SimpleDateFormat
import java.util.*
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "转发日志")
class LogsFragment : BaseFragment(), MsgPagingAdapter.OnItemClickListener {
- val TAG: String = LogsFragment::class.java.simpleName
+ private val TAG: String = LogsFragment::class.java.simpleName
private var adapter = MsgPagingAdapter(this)
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var currentType: String = "sms"
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesEditFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesEditFragment.kt
index 8e2d481f..df88e7a1 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesEditFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesEditFragment.kt
@@ -52,11 +52,11 @@ import java.util.*
class RulesEditFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = RulesEditFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
- var callType = 1
- var callTypeIndex = 0
+ private var callType = 1
+ private var callTypeIndex = 0
//免打扰(禁用转发)时间段
private val mTimeOption = DataProvider.timePeriodOption
@@ -64,12 +64,12 @@ class RulesEditFragment : BaseFragment(), View.OnClic
private var silentPeriodEnd = 0
//当前发送通道
- var senderId = 0L
- var senderListSelected: MutableList = mutableListOf()
+ private var senderId = 0L
+ private var senderListSelected: MutableList = mutableListOf()
private var senderItemMap = HashMap(2)
//发送通道列表
- var senderListAll: MutableList = mutableListOf()
+ private var senderListAll: MutableList = mutableListOf()
private val senderSpinnerList = ArrayList()
private lateinit var senderSpinnerAdapter: SenderSpinnerAdapter<*>
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesFragment.kt
index e3451d0a..60c4f5fa 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/RulesFragment.kt
@@ -14,7 +14,11 @@ import com.idormy.sms.forwarder.database.entity.Rule
import com.idormy.sms.forwarder.database.viewmodel.BaseViewModelFactory
import com.idormy.sms.forwarder.database.viewmodel.RuleViewModel
import com.idormy.sms.forwarder.databinding.FragmentRulesBinding
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.EVENT_UPDATE_RULE_TYPE
+import com.idormy.sms.forwarder.utils.KEY_RULE_CLONE
+import com.idormy.sms.forwarder.utils.KEY_RULE_ID
+import com.idormy.sms.forwarder.utils.KEY_RULE_TYPE
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.jeremyliao.liveeventbus.LiveEventBus
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.xuexiang.xpage.annotation.Page
@@ -26,11 +30,11 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
-@Suppress("PropertyName")
+@Suppress("DEPRECATION")
@Page(name = "转发规则")
class RulesFragment : BaseFragment(), RulePagingAdapter.OnItemClickListener {
- val TAG: String = RulesFragment::class.java.simpleName
+ //private val TAG: String = RulesFragment::class.java.simpleName
private var adapter = RulePagingAdapter(this)
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var currentType: String = "sms"
@@ -101,6 +105,7 @@ class RulesFragment : BaseFragment(), RulePagingAdapter.O
.putBoolean(KEY_RULE_CLONE, true)
.open(this)
}
+
R.id.iv_edit -> {
PageOption.to(RulesEditFragment::class.java)
.setNewActivity(true)
@@ -108,6 +113,7 @@ class RulesFragment : BaseFragment(), RulePagingAdapter.O
.putString(KEY_RULE_TYPE, item.type)
.open(this)
}
+
R.id.iv_delete -> {
MaterialDialog.Builder(requireContext())
.title(R.string.delete_rule_title)
@@ -120,6 +126,7 @@ class RulesFragment : BaseFragment(), RulePagingAdapter.O
}
.show()
}
+
else -> {}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/SendersFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/SendersFragment.kt
index 7d7d12f0..b82a06db 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/SendersFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/SendersFragment.kt
@@ -15,8 +15,42 @@ import com.idormy.sms.forwarder.database.entity.Sender
import com.idormy.sms.forwarder.database.viewmodel.BaseViewModelFactory
import com.idormy.sms.forwarder.database.viewmodel.SenderViewModel
import com.idormy.sms.forwarder.databinding.FragmentSendersBinding
-import com.idormy.sms.forwarder.fragment.senders.*
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.fragment.senders.BarkFragment
+import com.idormy.sms.forwarder.fragment.senders.DingtalkGroupRobotFragment
+import com.idormy.sms.forwarder.fragment.senders.DingtalkInnerRobotFragment
+import com.idormy.sms.forwarder.fragment.senders.EmailFragment
+import com.idormy.sms.forwarder.fragment.senders.FeishuAppFragment
+import com.idormy.sms.forwarder.fragment.senders.FeishuFragment
+import com.idormy.sms.forwarder.fragment.senders.GotifyFragment
+import com.idormy.sms.forwarder.fragment.senders.PushplusFragment
+import com.idormy.sms.forwarder.fragment.senders.ServerchanFragment
+import com.idormy.sms.forwarder.fragment.senders.SmsFragment
+import com.idormy.sms.forwarder.fragment.senders.SocketFragment
+import com.idormy.sms.forwarder.fragment.senders.TelegramFragment
+import com.idormy.sms.forwarder.fragment.senders.UrlSchemeFragment
+import com.idormy.sms.forwarder.fragment.senders.WebhookFragment
+import com.idormy.sms.forwarder.fragment.senders.WeworkAgentFragment
+import com.idormy.sms.forwarder.fragment.senders.WeworkRobotFragment
+import com.idormy.sms.forwarder.utils.KEY_SENDER_CLONE
+import com.idormy.sms.forwarder.utils.KEY_SENDER_ID
+import com.idormy.sms.forwarder.utils.KEY_SENDER_TYPE
+import com.idormy.sms.forwarder.utils.TYPE_BARK
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_GROUP_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_DINGTALK_INNER_ROBOT
+import com.idormy.sms.forwarder.utils.TYPE_EMAIL
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU
+import com.idormy.sms.forwarder.utils.TYPE_FEISHU_APP
+import com.idormy.sms.forwarder.utils.TYPE_GOTIFY
+import com.idormy.sms.forwarder.utils.TYPE_PUSHPLUS
+import com.idormy.sms.forwarder.utils.TYPE_SERVERCHAN
+import com.idormy.sms.forwarder.utils.TYPE_SMS
+import com.idormy.sms.forwarder.utils.TYPE_SOCKET
+import com.idormy.sms.forwarder.utils.TYPE_TELEGRAM
+import com.idormy.sms.forwarder.utils.TYPE_URL_SCHEME
+import com.idormy.sms.forwarder.utils.TYPE_WEBHOOK
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_AGENT
+import com.idormy.sms.forwarder.utils.TYPE_WEWORK_ROBOT
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.xuexiang.xpage.annotation.Page
import com.xuexiang.xpage.core.PageOption
@@ -27,11 +61,11 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "发送通道")
class SendersFragment : BaseFragment(), SenderPagingAdapter.OnItemClickListener {
- val TAG: String = SendersFragment::class.java.simpleName
+ private val TAG: String = SendersFragment::class.java.simpleName
private var adapter = SenderPagingAdapter(this)
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var currentStatus: Int = 1
@@ -119,6 +153,7 @@ class SendersFragment : BaseFragment(), SenderPagingAda
.putBoolean(KEY_SENDER_CLONE, true)
.open(this)
}
+
R.id.iv_edit -> {
PageOption.to(
when (item.type) {
@@ -145,6 +180,7 @@ class SendersFragment : BaseFragment(), SenderPagingAda
.putInt(KEY_SENDER_TYPE, item.type)
.open(this)
}
+
R.id.iv_delete -> {
MaterialDialog.Builder(requireContext())
.title(R.string.delete_sender_title)
@@ -157,6 +193,7 @@ class SendersFragment : BaseFragment(), SenderPagingAda
}
.show()
}
+
else -> {}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/ServiceProtocolFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/ServiceProtocolFragment.kt
index f97930eb..3dd06a00 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/ServiceProtocolFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/ServiceProtocolFragment.kt
@@ -29,6 +29,7 @@ class ServiceProtocolFragment : BaseFragment()
@JvmField
@AutoWired(name = KEY_IS_IMMERSIVE)
var isImmersive = false
+
override fun initArgs() {
XRouter.getInstance().inject(this)
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt
index 4821eb01..d494eaa9 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt
@@ -55,11 +55,11 @@ import com.xuexiang.xutil.app.AppUtils.getAppPackageName
import kotlinx.coroutines.*
import java.util.*
-@Suppress("PropertyName", "SpellCheckingInspection")
+@Suppress("SpellCheckingInspection", "PrivatePropertyName")
@Page(name = "通用设置")
class SettingsFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = SettingsFragment::class.java.simpleName
+ private val TAG: String = SettingsFragment::class.java.simpleName
private val mTimeOption = DataProvider.timePeriodOption
//已安装App信息列表
@@ -86,39 +86,28 @@ class SettingsFragment : BaseFragment(), View.OnClickL
@SuppressLint("NewApi", "SetTextI18n")
override fun initViews() {
-
//转发短信广播
switchEnableSms(binding!!.sbEnableSms)
//转发通话记录
- switchEnablePhone(
- binding!!.sbEnablePhone, binding!!.scbCallType1, binding!!.scbCallType2, binding!!.scbCallType3, binding!!.scbCallType4, binding!!.scbCallType5, binding!!.scbCallType6
- )
+ switchEnablePhone(binding!!.sbEnablePhone, binding!!.scbCallType1, binding!!.scbCallType2, binding!!.scbCallType3, binding!!.scbCallType4, binding!!.scbCallType5, binding!!.scbCallType6)
//转发应用通知
- switchEnableAppNotify(
- binding!!.sbEnableAppNotify, binding!!.scbCancelAppNotify, binding!!.scbNotUserPresent
- )
+ switchEnableAppNotify(binding!!.sbEnableAppNotify, binding!!.scbCancelAppNotify, binding!!.scbNotUserPresent)
+ //启用GPS定位功能
+ switchEnableLocation(binding!!.sbEnableLocation, binding!!.layoutLocationSetting, binding!!.rgAccuracy, binding!!.rgPowerRequirement, binding!!.xsbMinInterval, binding!!.xsbMinDistance)
//短信指令
switchEnableSmsCommand(binding!!.sbEnableSmsCommand, binding!!.etSafePhone)
-
+ //启动时异步获取已安装App信息
+ switchEnableLoadAppList(binding!!.sbEnableLoadAppList, binding!!.scbLoadUserApp, binding!!.scbLoadSystemApp)
//设置自动消除额外APP通知
editExtraAppList(binding!!.etAppList)
- //启动时异步获取已安装App信息
- switchEnableLoadAppList(
- binding!!.sbEnableLoadAppList, binding!!.scbLoadUserApp, binding!!.scbLoadSystemApp
- )
- //过滤多久内重复消息
+ //自动过滤多久内重复消息
binding!!.xsbDuplicateMessagesLimits.setDefaultValue(SettingUtils.duplicateMessagesLimits)
binding!!.xsbDuplicateMessagesLimits.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
SettingUtils.duplicateMessagesLimits = newValue
}
//免打扰(禁用转发)时间段
binding!!.tvSilentPeriod.text = mTimeOption[SettingUtils.silentPeriodStart] + " ~ " + mTimeOption[SettingUtils.silentPeriodEnd]
- //自动删除N天前的转发记录
- binding!!.xsbAutoCleanLogs.setDefaultValue(SettingUtils.autoCleanLogsDays)
- binding!!.xsbAutoCleanLogs.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
- SettingUtils.autoCleanLogsDays = newValue
- }
//开机启动
checkWithReboot(binding!!.sbWithReboot, binding!!.tvAutoStartup)
@@ -126,12 +115,8 @@ class SettingsFragment : BaseFragment(), View.OnClickL
batterySetting(binding!!.layoutBatterySetting, binding!!.sbBatterySetting)
//不在最近任务列表中显示
switchExcludeFromRecents(binding!!.layoutExcludeFromRecents, binding!!.sbExcludeFromRecents)
-
//Cactus增强保活措施
- switchEnableCactus(
- binding!!.sbEnableCactus, binding!!.scbPlaySilenceMusic, binding!!.scbOnePixelActivity
- )
-
+ switchEnableCactus(binding!!.sbEnableCactus, binding!!.scbPlaySilenceMusic, binding!!.scbOnePixelActivity)
//接口请求失败重试时间间隔
editRetryDelayTime(binding!!.xsbRetryTimes, binding!!.xsbDelayTime, binding!!.xsbTimeout)
@@ -145,23 +130,16 @@ class SettingsFragment : BaseFragment(), View.OnClickL
editAddExtraSim1(binding!!.etExtraSim1)
//SIM2备注
editAddExtraSim2(binding!!.etExtraSim2)
-
//通知内容
editNotifyContent(binding!!.etNotifyContent)
-
//启用自定义模版
switchSmsTemplate(binding!!.sbSmsTemplate)
//自定义模板
editSmsTemplate(binding!!.etSmsTemplate)
-
//纯客户端模式
switchDirectlyToClient(binding!!.sbDirectlyToClient)
-
//纯自动任务模式
switchDirectlyToTask(binding!!.sbDirectlyToTask)
-
- //启用 {{定位信息}} 标签
- switchEnableLocation(binding!!.sbEnableLocation, binding!!.layoutLocationSetting, binding!!.rgAccuracy, binding!!.rgPowerRequirement, binding!!.xsbMinInterval, binding!!.xsbMinDistance)
}
override fun onResume() {
@@ -183,7 +161,6 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//监听已安装App信息列表加载完成事件
LiveEventBus.get(EVENT_LOAD_APP_LIST, String::class.java).observeStickyForever(appListObserver)
-
}
@SuppressLint("SetTextI18n")
@@ -295,7 +272,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//转发短信
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnableSms(sbEnableSms: SwitchButton) {
+ private fun switchEnableSms(sbEnableSms: SwitchButton) {
sbEnableSms.isChecked = SettingUtils.enableSms
sbEnableSms.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
SettingUtils.enableSms = isChecked
@@ -338,9 +315,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//转发通话
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnablePhone(
- sbEnablePhone: SwitchButton, scbCallType1: SmoothCheckBox, scbCallType2: SmoothCheckBox, scbCallType3: SmoothCheckBox, scbCallType4: SmoothCheckBox, scbCallType5: SmoothCheckBox, scbCallType6: SmoothCheckBox
- ) {
+ private fun switchEnablePhone(sbEnablePhone: SwitchButton, scbCallType1: SmoothCheckBox, scbCallType2: SmoothCheckBox, scbCallType3: SmoothCheckBox, scbCallType4: SmoothCheckBox, scbCallType5: SmoothCheckBox, scbCallType6: SmoothCheckBox) {
sbEnablePhone.isChecked = SettingUtils.enablePhone
scbCallType1.isChecked = SettingUtils.enableCallType1
scbCallType2.isChecked = SettingUtils.enableCallType2
@@ -441,9 +416,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//转发应用通知
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnableAppNotify(
- sbEnableAppNotify: SwitchButton, scbCancelAppNotify: SmoothCheckBox, scbNotUserPresent: SmoothCheckBox
- ) {
+ private fun switchEnableAppNotify(sbEnableAppNotify: SwitchButton, scbCancelAppNotify: SmoothCheckBox, scbNotUserPresent: SmoothCheckBox) {
val isEnable: Boolean = SettingUtils.enableAppNotify
sbEnableAppNotify.isChecked = isEnable
@@ -482,9 +455,99 @@ class SettingsFragment : BaseFragment(), View.OnClickL
}
}
+ //启用定位功能
+ private fun switchEnableLocation(@SuppressLint("UseSwitchCompatOrMaterialCode") switchEnableLocation: SwitchButton, layoutLocationSetting: LinearLayout, rgAccuracy: RadioGroup, rgPowerRequirement: RadioGroup, xsbMinInterval: XSeekBar, xsbMinDistance: XSeekBar) {
+ //是否启用定位功能
+ switchEnableLocation.isChecked = SettingUtils.enableLocation
+ layoutLocationSetting.visibility = if (SettingUtils.enableLocation) View.VISIBLE else View.GONE
+ switchEnableLocation.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
+ SettingUtils.enableLocation = isChecked
+ if (isChecked) {
+ XXPermissions.with(this).permission(Permission.ACCESS_COARSE_LOCATION).permission(Permission.ACCESS_FINE_LOCATION).permission(Permission.ACCESS_BACKGROUND_LOCATION).request(object : OnPermissionCallback {
+ override fun onGranted(permissions: List, all: Boolean) {
+ restartLocationService()
+ }
+
+ override fun onDenied(permissions: List, never: Boolean) {
+ if (never) {
+ XToastUtils.error(R.string.toast_denied_never)
+ // 如果是被永久拒绝就跳转到应用权限系统设置页面
+ XXPermissions.startPermissionActivity(requireContext(), permissions)
+ } else {
+ XToastUtils.error(R.string.toast_denied)
+ }
+ SettingUtils.enableLocation = false
+ switchEnableLocation.isChecked = false
+ restartLocationService()
+ }
+ })
+ } else {
+ restartLocationService()
+ }
+ layoutLocationSetting.visibility = if (isChecked) View.VISIBLE else View.GONE
+ }
+ //设置位置精度:高精度(默认)
+ rgAccuracy.check(
+ when (SettingUtils.locationAccuracy) {
+ Criteria.ACCURACY_FINE -> R.id.rb_accuracy_fine
+ Criteria.ACCURACY_COARSE -> R.id.rb_accuracy_coarse
+ Criteria.NO_REQUIREMENT -> R.id.rb_accuracy_no_requirement
+ else -> R.id.rb_accuracy_fine
+ }
+ )
+ rgAccuracy.setOnCheckedChangeListener { _: RadioGroup?, checkedId: Int ->
+ SettingUtils.locationAccuracy = when (checkedId) {
+ R.id.rb_accuracy_fine -> Criteria.ACCURACY_FINE
+ R.id.rb_accuracy_coarse -> Criteria.ACCURACY_COARSE
+ R.id.rb_accuracy_no_requirement -> Criteria.NO_REQUIREMENT
+ else -> Criteria.ACCURACY_FINE
+ }
+ restartLocationService()
+ }
+ //设置电量消耗:低电耗(默认)
+ rgPowerRequirement.check(
+ when (SettingUtils.locationPowerRequirement) {
+ Criteria.POWER_HIGH -> R.id.rb_power_requirement_high
+ Criteria.POWER_MEDIUM -> R.id.rb_power_requirement_medium
+ Criteria.POWER_LOW -> R.id.rb_power_requirement_low
+ Criteria.NO_REQUIREMENT -> R.id.rb_power_requirement_no_requirement
+ else -> R.id.rb_power_requirement_low
+ }
+ )
+ rgPowerRequirement.setOnCheckedChangeListener { _: RadioGroup?, checkedId: Int ->
+ SettingUtils.locationPowerRequirement = when (checkedId) {
+ R.id.rb_power_requirement_high -> Criteria.POWER_HIGH
+ R.id.rb_power_requirement_medium -> Criteria.POWER_MEDIUM
+ R.id.rb_power_requirement_low -> Criteria.POWER_LOW
+ R.id.rb_power_requirement_no_requirement -> Criteria.NO_REQUIREMENT
+ else -> Criteria.POWER_LOW
+ }
+ restartLocationService()
+ }
+ //设置位置更新最小时间间隔(单位:毫秒); 默认间隔:10000毫秒,最小间隔:1000毫秒
+ xsbMinInterval.setDefaultValue((SettingUtils.locationMinInterval / 1000).toInt())
+ xsbMinInterval.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
+ SettingUtils.locationMinInterval = newValue * 1000L
+ restartLocationService()
+ }
+ //设置位置更新最小距离(单位:米);默认距离:0米
+ xsbMinDistance.setDefaultValue(SettingUtils.locationMinDistance)
+ xsbMinDistance.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
+ SettingUtils.locationMinDistance = newValue
+ restartLocationService()
+ }
+ }
+
+ //重启定位服务
+ private fun restartLocationService() {
+ val serviceIntent = Intent(requireContext(), LocationService::class.java)
+ serviceIntent.action = "START"
+ requireContext().startService(serviceIntent)
+ }
+
//接受短信指令
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnableSmsCommand(sbEnableSmsCommand: SwitchButton, etSafePhone: EditText) {
+ private fun switchEnableSmsCommand(sbEnableSmsCommand: SwitchButton, etSafePhone: EditText) {
sbEnableSmsCommand.isChecked = SettingUtils.enableSmsCommand
etSafePhone.visibility = if (SettingUtils.enableSmsCommand) View.VISIBLE else View.GONE
@@ -549,9 +612,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//启动时异步获取已安装App信息
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnableLoadAppList(
- sbEnableLoadAppList: SwitchButton, scbLoadUserApp: SmoothCheckBox, scbLoadSystemApp: SmoothCheckBox
- ) {
+ private fun switchEnableLoadAppList(sbEnableLoadAppList: SwitchButton, scbLoadUserApp: SmoothCheckBox, scbLoadSystemApp: SmoothCheckBox) {
val isEnable: Boolean = SettingUtils.enableLoadAppList
sbEnableLoadAppList.isChecked = isEnable
@@ -600,9 +661,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
}
//开机启动
- private fun checkWithReboot(
- @SuppressLint("UseSwitchCompatOrMaterialCode") sbWithReboot: SwitchButton, tvAutoStartup: TextView
- ) {
+ private fun checkWithReboot(@SuppressLint("UseSwitchCompatOrMaterialCode") sbWithReboot: SwitchButton, tvAutoStartup: TextView) {
tvAutoStartup.text = getAutoStartTips()
//获取组件
@@ -624,7 +683,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//电池优化设置
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun batterySetting(layoutBatterySetting: LinearLayout, sbBatterySetting: SwitchButton) {
+ private fun batterySetting(layoutBatterySetting: LinearLayout, sbBatterySetting: SwitchButton) {
//安卓6.0以下没有忽略电池优化
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
layoutBatterySetting.visibility = View.GONE
@@ -652,9 +711,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//不在最近任务列表中显示
@SuppressLint("ObsoleteSdkInt,UseSwitchCompatOrMaterialCode")
- fun switchExcludeFromRecents(
- layoutExcludeFromRecents: LinearLayout, sbExcludeFromRecents: SwitchButton
- ) {
+ private fun switchExcludeFromRecents(layoutExcludeFromRecents: LinearLayout, sbExcludeFromRecents: SwitchButton) {
//安卓6.0以下没有不在最近任务列表中显示
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
layoutExcludeFromRecents.visibility = View.GONE
@@ -675,11 +732,9 @@ class SettingsFragment : BaseFragment(), View.OnClickL
}
}
- //转发应用通知
+ //Cactus增强保活措施
@SuppressLint("UseSwitchCompatOrMaterialCode")
- fun switchEnableCactus(
- sbEnableCactus: SwitchButton, scbPlaySilenceMusic: SmoothCheckBox, scbOnePixelActivity: SmoothCheckBox
- ) {
+ private fun switchEnableCactus(sbEnableCactus: SwitchButton, scbPlaySilenceMusic: SmoothCheckBox, scbOnePixelActivity: SmoothCheckBox) {
val layoutCactusOptional: LinearLayout = binding!!.layoutCactusOptional
val isEnable: Boolean = SettingUtils.enableCactus
sbEnableCactus.isChecked = isEnable
@@ -708,9 +763,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
}
//接口请求失败重试时间间隔
- private fun editRetryDelayTime(
- xsbRetryTimes: XSeekBar, xsbDelayTime: XSeekBar, xsbTimeout: XSeekBar
- ) {
+ private fun editRetryDelayTime(xsbRetryTimes: XSeekBar, xsbDelayTime: XSeekBar, xsbTimeout: XSeekBar) {
xsbRetryTimes.setDefaultValue(SettingUtils.requestRetryTimes)
xsbRetryTimes.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
SettingUtils.requestRetryTimes = newValue
@@ -814,7 +867,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL
//设置转发时启用自定义模版
@SuppressLint("UseSwitchCompatOrMaterialCode", "SetTextI18n")
- fun switchSmsTemplate(sbSmsTemplate: SwitchButton) {
+ private fun switchSmsTemplate(sbSmsTemplate: SwitchButton) {
val isOn: Boolean = SettingUtils.enableSmsTemplate
sbSmsTemplate.isChecked = isOn
val layoutSmsTemplate: LinearLayout = binding!!.layoutSmsTemplate
@@ -876,96 +929,6 @@ class SettingsFragment : BaseFragment(), View.OnClickL
}
}
- //启用定位功能
- private fun switchEnableLocation(@SuppressLint("UseSwitchCompatOrMaterialCode") switchEnableLocation: SwitchButton, layoutLocationSetting: LinearLayout, rgAccuracy: RadioGroup, rgPowerRequirement: RadioGroup, xsbMinInterval: XSeekBar, xsbMinDistance: XSeekBar) {
- //是否启用定位功能
- switchEnableLocation.isChecked = SettingUtils.enableLocation
- layoutLocationSetting.visibility = if (SettingUtils.enableLocation) View.VISIBLE else View.GONE
- switchEnableLocation.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
- SettingUtils.enableLocation = isChecked
- if (isChecked) {
- XXPermissions.with(this).permission(Permission.ACCESS_COARSE_LOCATION).permission(Permission.ACCESS_FINE_LOCATION).permission(Permission.ACCESS_BACKGROUND_LOCATION).request(object : OnPermissionCallback {
- override fun onGranted(permissions: List, all: Boolean) {
- restartLocationService()
- }
-
- override fun onDenied(permissions: List, never: Boolean) {
- if (never) {
- XToastUtils.error(R.string.toast_denied_never)
- // 如果是被永久拒绝就跳转到应用权限系统设置页面
- XXPermissions.startPermissionActivity(requireContext(), permissions)
- } else {
- XToastUtils.error(R.string.toast_denied)
- }
- SettingUtils.enableLocation = false
- switchEnableLocation.isChecked = false
- restartLocationService()
- }
- })
- } else {
- restartLocationService()
- }
- layoutLocationSetting.visibility = if (isChecked) View.VISIBLE else View.GONE
- }
- //设置位置精度:高精度(默认)
- rgAccuracy.check(
- when (SettingUtils.locationAccuracy) {
- Criteria.ACCURACY_FINE -> R.id.rb_accuracy_fine
- Criteria.ACCURACY_COARSE -> R.id.rb_accuracy_coarse
- Criteria.NO_REQUIREMENT -> R.id.rb_accuracy_no_requirement
- else -> R.id.rb_accuracy_fine
- }
- )
- rgAccuracy.setOnCheckedChangeListener { _: RadioGroup?, checkedId: Int ->
- SettingUtils.locationAccuracy = when (checkedId) {
- R.id.rb_accuracy_fine -> Criteria.ACCURACY_FINE
- R.id.rb_accuracy_coarse -> Criteria.ACCURACY_COARSE
- R.id.rb_accuracy_no_requirement -> Criteria.NO_REQUIREMENT
- else -> Criteria.ACCURACY_FINE
- }
- restartLocationService()
- }
- //设置电量消耗:低电耗(默认)
- rgPowerRequirement.check(
- when (SettingUtils.locationPowerRequirement) {
- Criteria.POWER_HIGH -> R.id.rb_power_requirement_high
- Criteria.POWER_MEDIUM -> R.id.rb_power_requirement_medium
- Criteria.POWER_LOW -> R.id.rb_power_requirement_low
- Criteria.NO_REQUIREMENT -> R.id.rb_power_requirement_no_requirement
- else -> R.id.rb_power_requirement_low
- }
- )
- rgPowerRequirement.setOnCheckedChangeListener { _: RadioGroup?, checkedId: Int ->
- SettingUtils.locationPowerRequirement = when (checkedId) {
- R.id.rb_power_requirement_high -> Criteria.POWER_HIGH
- R.id.rb_power_requirement_medium -> Criteria.POWER_MEDIUM
- R.id.rb_power_requirement_low -> Criteria.POWER_LOW
- R.id.rb_power_requirement_no_requirement -> Criteria.NO_REQUIREMENT
- else -> Criteria.POWER_LOW
- }
- restartLocationService()
- }
- //设置位置更新最小时间间隔(单位:毫秒); 默认间隔:10000毫秒,最小间隔:1000毫秒
- xsbMinInterval.setDefaultValue((SettingUtils.locationMinInterval / 1000).toInt())
- xsbMinInterval.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
- SettingUtils.locationMinInterval = newValue * 1000L
- restartLocationService()
- }
- //设置位置更新最小距离(单位:米);默认距离:0米
- xsbMinDistance.setDefaultValue(SettingUtils.locationMinDistance)
- xsbMinDistance.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
- SettingUtils.locationMinDistance = newValue
- restartLocationService()
- }
- }
-
- //重启定位服务
- private fun restartLocationService() {
- val serviceIntent = Intent(requireContext(), LocationService::class.java)
- serviceIntent.action = "START"
- requireContext().startService(serviceIntent)
- }
-
//获取当前手机品牌
private fun getAutoStartTips(): String {
return when (Build.BRAND.lowercase(Locale.ROOT)) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksEditFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksEditFragment.kt
index a854ac6a..16a3563c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksEditFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksEditFragment.kt
@@ -58,7 +58,7 @@ class TasksEditFragment : BaseFragment(), View.OnClic
private val TAG: String = TasksEditFragment::class.java.simpleName
private val that = this
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private val dialog: BottomSheetDialog by lazy {
BottomSheetDialog(requireContext())
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksFragment.kt
index 743fb7bf..18ede981 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/TasksFragment.kt
@@ -32,12 +32,12 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
-@Suppress("PropertyName", "DEPRECATION")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "自动任务")
class TasksFragment : BaseFragment(), TaskPagingAdapter.OnItemClickListener {
- val TAG: String = TasksFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private val TAG: String = TasksFragment::class.java.simpleName
+ private var titleBar: TitleBar? = null
private var adapter = TaskPagingAdapter(this)
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var currentType: String = "mine"
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/FrpcFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/FrpcFragment.kt
index 7fffae41..25f3f4f5 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/FrpcFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/FrpcFragment.kt
@@ -29,7 +29,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class FrpcFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = FrpcFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var mCountDownHelper: CountDownButtonHelper? = null
@JvmField
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/HttpServerFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/HttpServerFragment.kt
index dc62fcc4..f5d300c6 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/HttpServerFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/HttpServerFragment.kt
@@ -29,7 +29,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class HttpServerFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = HttpServerFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var mCountDownHelper: CountDownButtonHelper? = null
@JvmField
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/NotificationFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/NotificationFragment.kt
index a1ab4839..eae5f361 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/NotificationFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/NotificationFragment.kt
@@ -41,7 +41,7 @@ import java.util.*
class NotificationFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = NotificationFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var mCountDownHelper: CountDownButtonHelper? = null
@JvmField
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SendSmsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SendSmsFragment.kt
index 1401ad2b..5f592fce 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SendSmsFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SendSmsFragment.kt
@@ -46,7 +46,7 @@ import com.xuexiang.xutil.XUtil
class SendSmsFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = SendSmsFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var mCountDownHelper: CountDownButtonHelper? = null
@JvmField
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/BatteryQueryFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/BatteryQueryFragment.kt
index 2127fc08..c547e93c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/BatteryQueryFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/BatteryQueryFragment.kt
@@ -10,7 +10,12 @@ import com.idormy.sms.forwarder.core.BaseFragment
import com.idormy.sms.forwarder.databinding.FragmentClientBatteryQueryBinding
import com.idormy.sms.forwarder.entity.BatteryInfo
import com.idormy.sms.forwarder.server.model.BaseResponse
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.Base64
+import com.idormy.sms.forwarder.utils.HttpServerUtils
+import com.idormy.sms.forwarder.utils.RSACrypt
+import com.idormy.sms.forwarder.utils.SM4Crypt
+import com.idormy.sms.forwarder.utils.SettingUtils
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.xuexiang.xhttp2.XHttp
import com.xuexiang.xhttp2.cache.model.CacheMode
import com.xuexiang.xhttp2.callback.SimpleCallBack
@@ -22,11 +27,11 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
import com.xuexiang.xui.widget.grouplist.XUIGroupListView
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程查电量")
class BatteryQueryFragment : BaseFragment() {
- val TAG: String = BatteryQueryFragment::class.java.simpleName
+ private val TAG: String = BatteryQueryFragment::class.java.simpleName
override fun viewBindingInflate(
inflater: LayoutInflater,
@@ -82,6 +87,7 @@ class BatteryQueryFragment : BaseFragment()
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -96,6 +102,7 @@ class BatteryQueryFragment : BaseFragment()
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CallQueryFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CallQueryFragment.kt
index 604757cf..8fb4b8f2 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CallQueryFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CallQueryFragment.kt
@@ -50,11 +50,11 @@ import com.xuexiang.xutil.data.DateUtils
import com.xuexiang.xutil.system.ClipboardUtils
import me.samlss.broccoli.Broccoli
-@Suppress("PropertyName", "DEPRECATION")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程查通话")
class CallQueryFragment : BaseFragment() {
- val TAG: String = CallQueryFragment::class.java.simpleName
+ private val TAG: String = CallQueryFragment::class.java.simpleName
private var mAdapter: SimpleDelegateAdapter? = null
private var callType: Int = 3
private var pageNum: Int = 1
@@ -133,6 +133,10 @@ class CallQueryFragment : BaseFragment() {
.addPlaceholder(PlaceholderHelper.getParameter(holder.findView(R.id.iv_call)))
.addPlaceholder(PlaceholderHelper.getParameter(holder.findView(R.id.iv_reply)))
}
+
+ override fun onBindViewHolder(holder: RecyclerViewHolder, position: Int) {
+ TODO("Not yet implemented")
+ }
}
val delegateAdapter = DelegateAdapter(virtualLayoutManager)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CloneFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CloneFragment.kt
index 97178ec0..9a96b207 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CloneFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/CloneFragment.kt
@@ -42,11 +42,11 @@ import com.xuexiang.xutil.file.FileUtils
import java.io.File
import java.util.*
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "一键换新机")
class CloneFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = CloneFragment::class.java.simpleName
+ private val TAG: String = CloneFragment::class.java.simpleName
private var backupPath: String? = null
private val backupFile = "SmsForwarder.json"
private var pushCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactAddFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactAddFragment.kt
index 11a2f7ec..47db836c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactAddFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactAddFragment.kt
@@ -25,11 +25,11 @@ import com.xuexiang.xui.utils.ResUtils
import com.xuexiang.xui.widget.actionbar.TitleBar
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程加话簿")
class ContactAddFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = ContactAddFragment::class.java.simpleName
+ private val TAG: String = ContactAddFragment::class.java.simpleName
private var mCountDownHelper: CountDownButtonHelper? = null
override fun viewBindingInflate(
@@ -120,6 +120,7 @@ class ContactAddFragment : BaseFragment(), Vie
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -134,6 +135,7 @@ class ContactAddFragment : BaseFragment(), Vie
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
@@ -174,6 +176,7 @@ class ContactAddFragment : BaseFragment(), Vie
}
})
}
+
else -> {}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactQueryFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactQueryFragment.kt
index fce48a5a..cabeaff8 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactQueryFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/ContactQueryFragment.kt
@@ -49,11 +49,11 @@ import com.xuexiang.xutil.data.ConvertTools
import com.xuexiang.xutil.system.ClipboardUtils
import me.samlss.broccoli.Broccoli
-@Suppress("PropertyName", "DEPRECATION")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程查话簿")
class ContactQueryFragment : BaseFragment() {
- val TAG: String = ContactQueryFragment::class.java.simpleName
+ private val TAG: String = ContactQueryFragment::class.java.simpleName
private var mAdapter: SimpleDelegateAdapter? = null
private var keyword: String = ""
@@ -124,6 +124,10 @@ class ContactQueryFragment : BaseFragment()
.addPlaceholder(PlaceholderHelper.getParameter(holder.findView(R.id.iv_call)))
.addPlaceholder(PlaceholderHelper.getParameter(holder.findView(R.id.iv_reply)))
}
+
+ override fun onBindViewHolder(holder: RecyclerViewHolder, position: Int) {
+ TODO("Not yet implemented")
+ }
}
val delegateAdapter = DelegateAdapter(virtualLayoutManager)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/LocationFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/LocationFragment.kt
index 2d1c5ab5..5d1a4c34 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/LocationFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/LocationFragment.kt
@@ -11,7 +11,12 @@ import com.idormy.sms.forwarder.core.BaseFragment
import com.idormy.sms.forwarder.databinding.FragmentClientLocationBinding
import com.idormy.sms.forwarder.entity.LocationInfo
import com.idormy.sms.forwarder.server.model.BaseResponse
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.Base64
+import com.idormy.sms.forwarder.utils.HttpServerUtils
+import com.idormy.sms.forwarder.utils.RSACrypt
+import com.idormy.sms.forwarder.utils.SM4Crypt
+import com.idormy.sms.forwarder.utils.SettingUtils
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.xuexiang.xaop.annotation.SingleClick
import com.xuexiang.xhttp2.XHttp
import com.xuexiang.xhttp2.cache.model.CacheMode
@@ -25,11 +30,11 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
import com.xuexiang.xui.widget.grouplist.XUIGroupListView
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程找手机")
class LocationFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = LocationFragment::class.java.simpleName
+ private val TAG: String = LocationFragment::class.java.simpleName
private var mCountDownHelper: CountDownButtonHelper? = null
override fun viewBindingInflate(
@@ -72,6 +77,7 @@ class LocationFragment : BaseFragment(), View.On
R.id.btn_refresh -> {
getLocation()
}
+
else -> {}
}
}
@@ -110,6 +116,7 @@ class LocationFragment : BaseFragment(), View.On
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -124,6 +131,7 @@ class LocationFragment : BaseFragment(), View.On
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsQueryFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsQueryFragment.kt
index 5aa0545e..925cb28c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsQueryFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsQueryFragment.kt
@@ -49,11 +49,11 @@ import com.xuexiang.xutil.data.ConvertTools
import com.xuexiang.xutil.data.DateUtils
import me.samlss.broccoli.Broccoli
-@Suppress("PropertyName", "DEPRECATION")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程查短信")
class SmsQueryFragment : BaseFragment() {
- val TAG: String = SmsQueryFragment::class.java.simpleName
+ private val TAG: String = SmsQueryFragment::class.java.simpleName
private var mAdapter: SimpleDelegateAdapter? = null
private var smsType: Int = 1
private var pageNum: Int = 1
@@ -122,6 +122,10 @@ class SmsQueryFragment : BaseFragment() {
.addPlaceholder(PlaceholderHelper.getParameter(holder.findView(R.id.iv_reply)))
}
+ override fun onBindViewHolder(holder: RecyclerViewHolder, position: Int) {
+ TODO("Not yet implemented")
+ }
+
}
val delegateAdapter = DelegateAdapter(virtualLayoutManager)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt
index 7ba2a56e..14eecbf8 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt
@@ -26,11 +26,11 @@ import com.xuexiang.xui.utils.ResUtils
import com.xuexiang.xui.widget.actionbar.TitleBar
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程发短信")
class SmsSendFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = SmsSendFragment::class.java.simpleName
+ private val TAG: String = SmsSendFragment::class.java.simpleName
private var mCountDownHelper: CountDownButtonHelper? = null
override fun viewBindingInflate(
@@ -138,6 +138,7 @@ class SmsSendFragment : BaseFragment(), View.OnCl
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -152,6 +153,7 @@ class SmsSendFragment : BaseFragment(), View.OnCl
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
@@ -192,6 +194,7 @@ class SmsSendFragment : BaseFragment(), View.OnCl
}
})
}
+
else -> {}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/WolSendFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/WolSendFragment.kt
index 987ef71a..b1378d0a 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/WolSendFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/WolSendFragment.kt
@@ -10,7 +10,12 @@ import com.idormy.sms.forwarder.R
import com.idormy.sms.forwarder.core.BaseFragment
import com.idormy.sms.forwarder.databinding.FragmentClientWolSendBinding
import com.idormy.sms.forwarder.server.model.BaseResponse
-import com.idormy.sms.forwarder.utils.*
+import com.idormy.sms.forwarder.utils.Base64
+import com.idormy.sms.forwarder.utils.HttpServerUtils
+import com.idormy.sms.forwarder.utils.RSACrypt
+import com.idormy.sms.forwarder.utils.SM4Crypt
+import com.idormy.sms.forwarder.utils.SettingUtils
+import com.idormy.sms.forwarder.utils.XToastUtils
import com.xuexiang.xaop.annotation.SingleClick
import com.xuexiang.xhttp2.XHttp
import com.xuexiang.xhttp2.cache.model.CacheMode
@@ -25,11 +30,11 @@ import com.xuexiang.xui.widget.dialog.materialdialog.DialogAction
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
import com.xuexiang.xutil.data.ConvertTools
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@Page(name = "远程WOL")
class WolSendFragment : BaseFragment(), View.OnClickListener {
- val TAG: String = WolSendFragment::class.java.simpleName
+ private val TAG: String = WolSendFragment::class.java.simpleName
private var mCountDownHelper: CountDownButtonHelper? = null
private var wolHistory: MutableMap = mutableMapOf()
@@ -103,6 +108,7 @@ class WolSendFragment : BaseFragment(), View.OnCl
}
.show()
}
+
R.id.btn_submit -> {
val requestUrl: String = HttpServerUtils.serverAddress + "/wol/send"
Log.i(TAG, "requestUrl:$requestUrl")
@@ -166,6 +172,7 @@ class WolSendFragment : BaseFragment(), View.OnCl
}
postRequest.upString(requestMsg)
}
+
3 -> {
try {
val sm4Key = ConvertTools.hexStringToByteArray(HttpServerUtils.clientSignKey)
@@ -180,6 +187,7 @@ class WolSendFragment : BaseFragment(), View.OnCl
}
postRequest.upString(requestMsg)
}
+
else -> {
postRequest.upJson(requestMsg)
}
@@ -223,6 +231,7 @@ class WolSendFragment : BaseFragment(), View.OnCl
}
})
}
+
else -> {}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/BatteryFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/BatteryFragment.kt
index 03dcabc3..40cae608 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/BatteryFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/BatteryFragment.kt
@@ -28,7 +28,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class BatteryFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = BatteryFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ChargeFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ChargeFragment.kt
index a58b3351..26aaeef1 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ChargeFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ChargeFragment.kt
@@ -27,7 +27,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class ChargeFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = ChargeFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/CronFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/CronFragment.kt
index 41b7b6f3..1d759126 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/CronFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/CronFragment.kt
@@ -41,7 +41,7 @@ import java.util.Locale
class CronFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = CronFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private var mCountDownHelper: CountDownButtonHelper? = null
@JvmField
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt
index a79afee7..b8c86ee9 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt
@@ -35,7 +35,7 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
class LeaveAddressFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = LeaveAddressFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LockScreenFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LockScreenFragment.kt
index e7687b69..d7c68be6 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LockScreenFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LockScreenFragment.kt
@@ -27,7 +27,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class LockScreenFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = LockScreenFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/NetworkFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/NetworkFragment.kt
index 165696f4..2bd9d2fd 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/NetworkFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/NetworkFragment.kt
@@ -29,7 +29,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class NetworkFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = NetworkFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/SimFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/SimFragment.kt
index 56f2b184..babc1ffc 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/SimFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/SimFragment.kt
@@ -27,7 +27,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
class SimFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = SimFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt
index 284658e4..5859dfd8 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt
@@ -35,7 +35,7 @@ import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
class ToAddressFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = ToAddressFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
@JvmField
@AutoWired(name = KEY_EVENT_DATA_CONDITION)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt
index eee872b9..a4e6e45f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt
@@ -50,7 +50,7 @@ import java.util.Date
class BarkFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = BarkFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
private var barkLevel: String = "active" //通知级别
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkGroupRobotFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkGroupRobotFragment.kt
index d8d6fad6..1748da33 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkGroupRobotFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkGroupRobotFragment.kt
@@ -48,7 +48,7 @@ import java.util.Date
class DingtalkGroupRobotFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = DingtalkGroupRobotFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkInnerRobotFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkInnerRobotFragment.kt
index cb6cdffd..77d6bca9 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkInnerRobotFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/DingtalkInnerRobotFragment.kt
@@ -43,7 +43,7 @@ import java.util.*
class DingtalkInnerRobotFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = DingtalkInnerRobotFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/EmailFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/EmailFragment.kt
index 76303bc5..7b03a406 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/EmailFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/EmailFragment.kt
@@ -48,7 +48,7 @@ import java.util.Date
class EmailFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = EmailFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
private var mailType: String = getString(R.string.other_mail_type) //邮箱类型
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt
index 6bbee409..01c82fde 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt
@@ -46,7 +46,7 @@ import java.util.Date
class FeishuAppFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = FeishuAppFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt
index 3e6bd41b..c3297334 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt
@@ -46,7 +46,7 @@ import java.util.Date
class FeishuFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = FeishuFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/GotifyFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/GotifyFragment.kt
index f8f0cfc8..008d0f09 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/GotifyFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/GotifyFragment.kt
@@ -46,7 +46,7 @@ import java.util.Date
class GotifyFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = GotifyFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/PushplusFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/PushplusFragment.kt
index 46668ade..6a4193f7 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/PushplusFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/PushplusFragment.kt
@@ -47,7 +47,7 @@ import java.util.Date
class PushplusFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = PushplusFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/ServerchanFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/ServerchanFragment.kt
index 685dee44..c3da11ed 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/ServerchanFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/ServerchanFragment.kt
@@ -44,7 +44,7 @@ import java.util.Date
class ServerchanFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = ServerchanFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SmsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SmsFragment.kt
index 5e081933..b5d00d31 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SmsFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SmsFragment.kt
@@ -49,7 +49,7 @@ import java.util.Date
class SmsFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = SmsFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SocketFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SocketFragment.kt
index 1bca22e5..4c4579ad 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SocketFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/SocketFragment.kt
@@ -46,7 +46,7 @@ import java.util.Date
class SocketFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = SocketFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt
index dd3bf398..5551d7d6 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt
@@ -47,7 +47,7 @@ import java.util.Date
class TelegramFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = TelegramFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/UrlSchemeFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/UrlSchemeFragment.kt
index e1b167d4..d06dd13b 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/UrlSchemeFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/UrlSchemeFragment.kt
@@ -49,7 +49,7 @@ import java.util.Date
class UrlSchemeFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = UrlSchemeFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt
index e7615ab9..459ad343 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt
@@ -48,7 +48,7 @@ import java.util.Date
class WebhookFragment : BaseFragment(), View.OnClickListener {
private val TAG: String = WebhookFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
private var headerItemMap = HashMap(2)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkAgentFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkAgentFragment.kt
index d2d28af0..83fdcf67 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkAgentFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkAgentFragment.kt
@@ -42,7 +42,7 @@ import java.util.*
class WeworkAgentFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = WeworkAgentFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkRobotFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkRobotFragment.kt
index 79e0d8ea..be73f8ff 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkRobotFragment.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WeworkRobotFragment.kt
@@ -47,7 +47,7 @@ import java.util.Date
class WeworkRobotFragment : BaseFragment(), View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private val TAG: String = WeworkRobotFragment::class.java.simpleName
- var titleBar: TitleBar? = null
+ private var titleBar: TitleBar? = null
private val viewModel by viewModels { BaseViewModelFactory(context) }
private var mCountDownHelper: CountDownButtonHelper? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/receiver/BatteryReceiver.kt b/app/src/main/java/com/idormy/sms/forwarder/receiver/BatteryReceiver.kt
index cdc7ccff..2dd7c787 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/receiver/BatteryReceiver.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/receiver/BatteryReceiver.kt
@@ -15,10 +15,10 @@ import com.idormy.sms.forwarder.utils.TaskWorker
import com.idormy.sms.forwarder.utils.task.TaskUtils
import com.idormy.sms.forwarder.workers.BatteryWorker
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName")
class BatteryReceiver : BroadcastReceiver() {
- val TAG: String = BatteryReceiver::class.java.simpleName
+ private val TAG: String = BatteryReceiver::class.java.simpleName
override fun onReceive(context: Context?, intent: Intent?) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/receiver/BootCompletedReceiver.kt b/app/src/main/java/com/idormy/sms/forwarder/receiver/BootCompletedReceiver.kt
index ae76be40..0896dac2 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/receiver/BootCompletedReceiver.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/receiver/BootCompletedReceiver.kt
@@ -6,10 +6,10 @@ import android.content.Intent
import android.util.Log
import com.idormy.sms.forwarder.activity.SplashActivity
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName")
class BootCompletedReceiver : BroadcastReceiver() {
- val TAG: String = BootCompletedReceiver::class.java.simpleName
+ private val TAG: String = BootCompletedReceiver::class.java.simpleName
override fun onReceive(context: Context, intent: Intent?) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/receiver/LockScreenReceiver.kt b/app/src/main/java/com/idormy/sms/forwarder/receiver/LockScreenReceiver.kt
index 1f4a0165..a7321e64 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/receiver/LockScreenReceiver.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/receiver/LockScreenReceiver.kt
@@ -12,10 +12,10 @@ import com.idormy.sms.forwarder.utils.TaskWorker
import com.idormy.sms.forwarder.utils.task.TaskUtils
import com.idormy.sms.forwarder.workers.LockScreenWorker
-@Suppress("PropertyName")
+@Suppress("PrivatePropertyName")
class LockScreenReceiver : BroadcastReceiver() {
- val TAG: String = LockScreenReceiver::class.java.simpleName
+ private val TAG: String = LockScreenReceiver::class.java.simpleName
override fun onReceive(context: Context?, intent: Intent?) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt
index 3a60a2f8..9100d147 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt
@@ -8,7 +8,7 @@ import com.idormy.sms.forwarder.utils.HttpServerUtils
import com.xuexiang.xui.utils.ResUtils.getString
import com.yanzhenjie.andserver.annotation.*
-@Suppress("PrivatePropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@RestController
@RequestMapping(path = ["/clone"])
class CloneController {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt
index 7d2a2487..a5b04fbd 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt
@@ -15,7 +15,7 @@ import com.xuexiang.xui.utils.ResUtils
import com.xuexiang.xutil.XUtil
import com.yanzhenjie.andserver.annotation.*
-@Suppress("PrivatePropertyName")
+@Suppress("PrivatePropertyName", "DEPRECATION")
@RestController
@RequestMapping(path = ["/sms"])
class SmsController {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/NotificationService.kt b/app/src/main/java/com/idormy/sms/forwarder/service/NotificationService.kt
index ed924120..930490ed 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/service/NotificationService.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/service/NotificationService.kt
@@ -56,8 +56,10 @@ class NotificationService : NotificationListenerService() {
val extras = notification.extras ?: return
//自动消除额外APP通知
- if (!TextUtils.isEmpty(SettingUtils.cancelExtraAppNotify)) {
- for (app in SettingUtils.cancelExtraAppNotify.split("\n")) {
+ SettingUtils.cancelExtraAppNotify
+ .takeIf { it.isNotEmpty() }
+ ?.split("\n")
+ ?.forEach { app ->
if (sbn.packageName == app.trim()) {
Log.d(TAG, "自动消除额外APP通知:$app")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@@ -65,10 +67,10 @@ class NotificationService : NotificationListenerService() {
} else {
cancelNotification(sbn.packageName, sbn.tag, sbn.id)
}
- break
+ return@forEach
}
}
- }
+
//总开关
if (!SettingUtils.enableAppNotify) return
@@ -79,16 +81,10 @@ class NotificationService : NotificationListenerService() {
val from = sbn.packageName
//自身通知跳过
if (PACKAGE_NAME == sbn.packageName) return
- //通知标题
- var title = ""
- if (extras["android.title"] != null) {
- title = extras["android.title"].toString()
- }
- //通知内容
- var text = ""
- if (extras["android.text"] != null) {
- text = extras["android.text"].toString()
- }
+ // 标题
+ var title = extras["android.title"]?.toString() ?: ""
+ // 通知内容
+ var text = extras["android.text"]?.toString() ?: ""
if (text.isEmpty() && notification.tickerText != null) {
text = notification.tickerText.toString()
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/AppUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/AppUtils.kt
index f8cf63e7..2c8d18a5 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/AppUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/AppUtils.kt
@@ -1,7 +1,6 @@
package com.idormy.sms.forwarder.utils
import android.annotation.SuppressLint
-import android.content.Intent
import android.content.pm.ApplicationInfo
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
@@ -68,13 +67,13 @@ object AppUtils {
}
}
- fun openApp(packageName: String) {
+ /*fun openApp(packageName: String) {
val packageManager = App.context.packageManager
val intent = packageManager.getLaunchIntentForPackage(packageName)
if (intent != null) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
App.context.startActivity(intent)
}
- }
+ }*/
}
\ No newline at end of file
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/BatteryUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/BatteryUtils.kt
index 548bf0af..55035086 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/BatteryUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/BatteryUtils.kt
@@ -8,7 +8,7 @@ import com.xuexiang.xui.utils.ResUtils.getString
@Suppress("DEPRECATION", "MemberVisibilityCanBePrivate")
object BatteryUtils {
- private const val TAG = "BatteryUtils"
+ //private const val TAG = "BatteryUtils"
fun getBatteryInfo(intent: Intent?): BatteryInfo {
val batteryInfo = BatteryInfo()
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtils.kt
index 9cd4df68..6bb4d65d 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtils.kt
@@ -43,7 +43,7 @@ import java.util.regex.Pattern
/**
* 常用工具类
*/
-@Suppress("RegExpRedundantEscape", "unused", "RegExpUnnecessaryNonCapturingGroup")
+@Suppress("RegExpRedundantEscape", "unused", "RegExpUnnecessaryNonCapturingGroup", "DEPRECATION")
class CommonUtils private constructor() {
companion object {
/**
@@ -235,17 +235,17 @@ class CommonUtils private constructor() {
}
//是否合法的IP地址
- fun checkIP(IP: String): String {
- if (TextUtils.isEmpty(IP)) return "Neither"
+ fun checkIP(ip: String): String {
+ if (TextUtils.isEmpty(ip)) return "Neither"
- if (IP.contains(".")) {
+ if (ip.contains(".")) {
val chunkIPv4 = "([\\d]|[1-9][\\d]|1[\\d][\\d]|2[0-4][\\d]|25[0-5])"
val pattenIPv4 = Pattern.compile("^($chunkIPv4\\.){3}$chunkIPv4$")
- return if (pattenIPv4.matcher(IP).matches()) "IPv4" else "Neither"
- } else if (IP.contains(":")) {
+ return if (pattenIPv4.matcher(ip).matches()) "IPv4" else "Neither"
+ } else if (ip.contains(":")) {
val chunkIPv6 = "([\\da-fA-F]{1,4})"
val pattenIPv6 = Pattern.compile("^($chunkIPv6\\:){7}$chunkIPv6$")
- return if (pattenIPv6.matcher(IP).matches()) "IPv6" else "Neither"
+ return if (pattenIPv6.matcher(ip).matches()) "IPv6" else "Neither"
}
return "Neither"
}
@@ -295,7 +295,7 @@ class CommonUtils private constructor() {
val address = addresses.nextElement()
if (address is Inet4Address || address is Inet6Address) {
- ipAddresses.add(address.hostAddress)
+ address.hostAddress?.let { ipAddresses.add(it) }
}
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt
index bd634807..619972d1 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt
@@ -63,7 +63,6 @@ const val ENABLE_LOAD_SYSTEM_APP_LIST = "enable_load_system_app_list"
const val SP_DUPLICATE_MESSAGES_LIMITS = "duplicate_messages_limits"
const val SP_SILENT_PERIOD_START = "silent_period_start"
const val SP_SILENT_PERIOD_END = "silent_period_end"
-const val SP_AUTO_CLEAN_LOGS_DAYS = "auto_clean_logs_days"
const val SP_ENABLE_EXCLUDE_FROM_RECENTS = "enable_exclude_from_recents"
const val SP_ENABLE_PLAY_SILENCE_MUSIC = "enable_play_silence_music"
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/DataProvider.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/DataProvider.kt
index 61beb63d..2fd9cc8f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/DataProvider.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/DataProvider.kt
@@ -5,6 +5,7 @@ import com.idormy.sms.forwarder.entity.ContactInfo
import com.idormy.sms.forwarder.entity.SmsInfo
import com.xuexiang.xaop.annotation.MemoryCache
+@Suppress("SameParameterValue")
object DataProvider {
//用于占位的空信息
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt
index b2014f86..7a4b4f99 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt
@@ -21,6 +21,7 @@ import javax.crypto.spec.SecretKeySpec
/**
* HttpServer工具类
*/
+@Suppress("DEPRECATION")
class HttpServerUtils private constructor() {
companion object {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/RuleLineUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/RuleLineUtils.kt
index 2414c509..23e2b2ed 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/RuleLineUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/RuleLineUtils.kt
@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
package com.idormy.sms.forwarder.utils
import android.util.Log
@@ -35,8 +37,8 @@ object RuleLineUtils {
}
@Throws(Exception::class)
- fun checkRuleLines(msg: MsgInfo, RuleLines: String?): Boolean {
- val scanner = Scanner(RuleLines)
+ fun checkRuleLines(msg: MsgInfo, ruleLines: String?): Boolean {
+ val scanner = Scanner(ruleLines)
var lineNum = 0
var headRuleLine: RuleLine? = null
var beforeRuleLine: RuleLine? = null
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtils.kt
index cee9722c..30252a8e 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtils.kt
@@ -72,9 +72,6 @@ class SettingUtils private constructor() {
//免打扰(禁用转发)时间段——结束
var silentPeriodEnd: Int by SharedPreference(SP_SILENT_PERIOD_END, 0)
- //自动删除N天前的转发记录
- var autoCleanLogsDays: Int by SharedPreference(SP_AUTO_CLEAN_LOGS_DAYS, 0)
-
//是否不在最近任务列表中显示
var enableExcludeFromRecents: Boolean by SharedPreference(SP_ENABLE_EXCLUDE_FROM_RECENTS, false)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/SmsCommandUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/SmsCommandUtils.kt
index 433e8764..ed4d5041 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/SmsCommandUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/SmsCommandUtils.kt
@@ -77,7 +77,7 @@ class SmsCommandUtils {
GlobalScope.async(Dispatchers.IO) {
val frpc = AppDatabase.getInstance(App.context).frpcDao().getOne(param)
- if (frpc == null) {
+ if (frpc.uid.isEmpty()) {
Log.d(TAG, "没有找到指定的Frpc")
return@async
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt
index 5bb84a29..38efbc26 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt
@@ -14,13 +14,11 @@ import com.xuexiang.xhttp2.XHttp
import com.xuexiang.xhttp2.cache.model.CacheMode
import com.xuexiang.xhttp2.callback.SimpleCallBack
import com.xuexiang.xhttp2.exception.ApiException
-import java.net.URLEncoder
-import java.util.regex.Pattern
import javax.crypto.Cipher
import javax.crypto.spec.IvParameterSpec
import javax.crypto.spec.SecretKeySpec
-@Suppress("unused")
+@Suppress("unused", "RegExpRedundantEscape")
class BarkUtils {
companion object {
@@ -74,7 +72,7 @@ class BarkUtils {
val pattern = Regex("(?)?([::\\s是为]|[Ii][Ss]){0,3}[\\((\\[【{「]?(([0-9\\s]{4,7})|([\\dA-Za-z]{5,6})(?!([Vv]erification)?([Cc][Oo][Dd][Ee])|:))[」}】\\])\\)]?(?=([^0-9a-zA-Z]|\$))(.*)".toRegex(), "$7").trim()
- code = code.replace("[^\\d]*[\\((\\[【{「]?([0-9]{3}\\s?[0-9]{1,3})[」}】\\])\\)]?(?=.*((代|授权|验证|动态|校验)码|[【\\[].*[】\\]]|[Cc][Oo][Dd][Ee]|[Vv]erification\\s?([Cc]ode)?))(.*)".toRegex(), "$1").trim()
+ code = code.replace("\\D*[\\((\\[【{「]?([0-9]{3}\\s?[0-9]{1,3})[」}】\\])\\)]?(?=.*((代|授权|验证|动态|校验)码|[【\\[].*[】\\]]|[Cc][Oo][Dd][Ee]|[Vv]erification\\s?([Cc]ode)?))(.*)".toRegex(), "$1").trim()
if (code.isNotEmpty()) {
msgMap["copy"] = code
msgMap["automaticallyCopy"] = 1
@@ -85,7 +83,7 @@ class BarkUtils {
Log.i(TAG, "requestMsg:$requestMsg")
//推送加密
if (setting.transformation.isNotEmpty() && "none" != setting.transformation && setting.key.isNotEmpty() && setting.iv.isNotEmpty()) {
- var transformation = setting.transformation.replace("AES128", "AES").replace("AES192", "AES").replace("AES256", "AES")
+ val transformation = setting.transformation.replace("AES128", "AES").replace("AES192", "AES").replace("AES256", "AES")
val ciphertext = encrypt(requestMsg, transformation, setting.key, setting.iv)
//Log.d(TAG, "ciphertext: $ciphertext")
//val plainText = decrypt(ciphertext, transformation, setting.key, setting.iv)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/DingtalkInnerRobotUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/DingtalkInnerRobotUtils.kt
index 9708b032..6273f11e 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/DingtalkInnerRobotUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/DingtalkInnerRobotUtils.kt
@@ -26,6 +26,7 @@ import java.net.PasswordAuthentication
import java.net.Proxy
//钉钉企业内机器人
+@Suppress("DEPRECATION")
class DingtalkInnerRobotUtils private constructor() {
companion object {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/EmailUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/EmailUtils.kt
index b999242c..d4a21c41 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/EmailUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/EmailUtils.kt
@@ -11,6 +11,7 @@ import com.idormy.sms.forwarder.utils.mail.Mail
import com.idormy.sms.forwarder.utils.mail.MailSender
import com.xuexiang.xui.utils.ResUtils
+@Suppress("DEPRECATION")
class EmailUtils {
companion object {
@@ -43,12 +44,14 @@ class EmailUtils {
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@exmail.qq.com" -> {
setting.host = "smtp.exmail.qq.com"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@msn.com" -> {
setting.host = "smtp-mail.outlook.com"
setting.port = "587"
@@ -56,6 +59,7 @@ class EmailUtils {
setting.startTls = true
setting.fromEmail += setting.mailType
}
+
"@outlook.com", "@office365.com", "@live.com", "@hotmail.com" -> {
setting.host = "smtp.office365.com"
setting.port = "587"
@@ -63,6 +67,7 @@ class EmailUtils {
setting.startTls = true
setting.fromEmail += setting.mailType
}
+
"@gmail.com" -> {
setting.host = "smtp.gmail.com"
setting.port = "587"
@@ -70,48 +75,56 @@ class EmailUtils {
setting.startTls = true
setting.fromEmail += setting.mailType
}
+
"@yeah.net" -> {
setting.host = "smtp.yeah.net"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@163.com" -> {
setting.host = "smtp.163.com"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@126.com" -> {
setting.host = "smtp.126.com"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@sina.com" -> {
setting.host = "smtp.sina.com"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@sina.cn" -> {
setting.host = "smtp.sina.cn"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@139.com" -> {
setting.host = "smtp.139.com"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
"@189.cn" -> {
setting.host = "smtp.189.cn"
setting.port = "465"
setting.ssl = true
setting.fromEmail += setting.mailType
}
+
else -> {}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/FeishuAppUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/FeishuAppUtils.kt
index 6b8bee17..d2cab056 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/FeishuAppUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/FeishuAppUtils.kt
@@ -18,6 +18,7 @@ import com.xuexiang.xhttp2.exception.ApiException
import com.xuexiang.xui.utils.ResUtils.getString
//飞书企业应用
+@Suppress("DEPRECATION")
class FeishuAppUtils private constructor() {
companion object {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/PushplusUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/PushplusUtils.kt
index 67d3f98e..152ebe4f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/PushplusUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/PushplusUtils.kt
@@ -16,6 +16,7 @@ import com.xuexiang.xhttp2.callback.SimpleCallBack
import com.xuexiang.xhttp2.exception.ApiException
import com.xuexiang.xui.utils.ResUtils
+@Suppress("DEPRECATION")
class PushplusUtils private constructor() {
companion object {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/SmsUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/SmsUtils.kt
index 1223c6c1..c0862b71 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/SmsUtils.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/SmsUtils.kt
@@ -16,6 +16,7 @@ import com.xuexiang.xui.utils.ResUtils
import com.xuexiang.xutil.XUtil
import com.xuexiang.xutil.net.NetworkUtils
+@Suppress("DEPRECATION")
class SmsUtils {
companion object {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/tinker/ShareReflectUtil.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/tinker/ShareReflectUtil.kt
index 319982fd..8d933b0d 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/tinker/ShareReflectUtil.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/tinker/ShareReflectUtil.kt
@@ -114,7 +114,7 @@ object ShareReflectUtil {
+ name
+ " with parameters "
+ listOf(*parameterTypes)
- + " not found in " + tClazz
+ + " not found in tClazz"
)
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/update/CustomUpdateFailureListener.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/update/CustomUpdateFailureListener.kt
index 69c0021e..e79ef0f0 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/update/CustomUpdateFailureListener.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/update/CustomUpdateFailureListener.kt
@@ -13,6 +13,7 @@ import com.xuexiang.xupdate.listener.OnUpdateFailureListener
* @author xuexiang
* @since 2019/4/15 上午12:01
*/
+@Suppress("DEPRECATION")
class CustomUpdateFailureListener @JvmOverloads constructor(
/**
* 是否需要错误提示
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/update/UpdateTipDialog.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/update/UpdateTipDialog.kt
index 113a3e61..9e84ac59 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/update/UpdateTipDialog.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/update/UpdateTipDialog.kt
@@ -17,6 +17,7 @@ import com.xuexiang.xupdate.XUpdate
* @author xuexiang
* @since 2019-06-15 00:06
*/
+@Suppress("DEPRECATION")
class UpdateTipDialog : AppCompatActivity(), DialogInterface.OnDismissListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/update/XHttpUpdateHttpServiceImpl.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/update/XHttpUpdateHttpServiceImpl.kt
index 34d597e1..c246682f 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/update/XHttpUpdateHttpServiceImpl.kt
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/update/XHttpUpdateHttpServiceImpl.kt
@@ -19,6 +19,7 @@ import com.xuexiang.xutil.net.JsonUtil
* @author xuexiang
* @since 2018/8/12 上午11:46
*/
+@Suppress("DEPRECATION")
class XHttpUpdateHttpServiceImpl : IUpdateHttpService {
override fun asyncGet(
url: String,
diff --git a/app/src/main/res/drawable/auto_task_radio_button_bg.xml b/app/src/main/res/drawable/auto_task_radio_button_bg.xml
deleted file mode 100644
index efdf5555..00000000
--- a/app/src/main/res/drawable/auto_task_radio_button_bg.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/auto_task_radio_button_select.xml b/app/src/main/res/drawable/auto_task_radio_button_select.xml
deleted file mode 100644
index 6befc008..00000000
--- a/app/src/main/res/drawable/auto_task_radio_button_select.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/auto_task_radio_button_un_select.xml b/app/src/main/res/drawable/auto_task_radio_button_un_select.xml
deleted file mode 100644
index 1c886aac..00000000
--- a/app/src/main/res/drawable/auto_task_radio_button_un_select.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/auto_task_select_icon.xml b/app/src/main/res/drawable/auto_task_select_icon.xml
deleted file mode 100644
index fa4ba251..00000000
--- a/app/src/main/res/drawable/auto_task_select_icon.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/adapter_app_list_item.xml b/app/src/main/res/layout/adapter_app_list_item.xml
index f941c927..901dc415 100644
--- a/app/src/main/res/layout/adapter_app_list_item.xml
+++ b/app/src/main/res/layout/adapter_app_list_item.xml
@@ -63,7 +63,7 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
- android:gravity="right" />
+ android:gravity="end|bottom" />
diff --git a/app/src/main/res/layout/dialog_guide_tips.xml b/app/src/main/res/layout/dialog_guide_tips.xml
index 97e89c5e..a6471e19 100644
--- a/app/src/main/res/layout/dialog_guide_tips.xml
+++ b/app/src/main/res/layout/dialog_guide_tips.xml
@@ -20,7 +20,8 @@
android:layout_height="wrap_content"
android:layout_gravity="end"
android:padding="@dimen/config_margin_10dp"
- app:srcCompat="@drawable/ic_action_close_white" />
+ app:srcCompat="@drawable/ic_action_close_white"
+ tools:ignore="ImageContrastCheck" />
+ android:textColor="?attr/colorAccent"
+ tools:ignore="TextContrastCheck" />
+ android:scaleY="0.8"
+ tools:ignore="PrivateResource,TouchTargetSizeCheck" />
+ android:text="@string/tip_ignore_message"
+ tools:ignore="TextContrastCheck" />
diff --git a/app/src/main/res/layout/fragment_rules_edit.xml b/app/src/main/res/layout/fragment_rules_edit.xml
index 353f6388..d15ab578 100644
--- a/app/src/main/res/layout/fragment_rules_edit.xml
+++ b/app/src/main/res/layout/fragment_rules_edit.xml
@@ -534,7 +534,7 @@
android:layout_height="wrap_content"
android:text="@string/silent_time_period_tips"
android:textSize="9sp"
- tools:ignore="SmallSp" />
+ tools:ignore="SmallSp,TooManyViews" />
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 86272e3c..638a99f4 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -349,7 +349,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@color/setting_bar_color"
- android:gravity="center_vertical"
android:orientation="vertical"
android:paddingStart="10dp"
android:paddingTop="10dp"
@@ -358,6 +357,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="DuplicateSpeakableTextCheck,HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
+ android:importantForAutofill="no"
+ android:textAlignment="center"
+ tools:ignore="HardcodedText,TextFields,TouchTargetSizeCheck,TextContrastCheck" />
@@ -272,6 +286,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -285,6 +300,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -317,6 +333,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -330,6 +347,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -403,6 +421,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -416,6 +435,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -448,6 +468,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -461,6 +482,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -534,6 +556,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -547,6 +570,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -561,7 +585,8 @@
android:id="@+id/rb_hour_type_interval"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/interval" />
+ android:text="@string/interval"
+ tools:ignore="TooManyViews" />
@@ -592,6 +618,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -665,6 +692,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -678,6 +706,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -710,6 +739,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -723,6 +753,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -755,8 +786,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="1-31"
+ android:importantForAutofill="no"
android:inputType="number"
- android:textAlignment="center" />
+ android:textAlignment="center"
+ tools:ignore="HardcodedText" />
@@ -859,6 +893,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -891,6 +926,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -904,6 +940,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -977,6 +1014,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -990,6 +1028,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -1016,6 +1055,7 @@
android:id="@+id/et_which_week_of_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -1029,8 +1069,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="1-7"
+ android:importantForAutofill="no"
android:inputType="number"
- android:textAlignment="center" />
+ android:textAlignment="center"
+ tools:ignore="HardcodedText" />
@@ -1056,8 +1098,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="1-7"
+ android:importantForAutofill="no"
android:inputType="number"
- android:textAlignment="center" />
+ android:textAlignment="center"
+ tools:ignore="HardcodedText" />
@@ -1155,6 +1200,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/end"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -1187,6 +1233,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/start"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -1200,6 +1247,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/interval"
+ android:importantForAutofill="no"
android:inputType="number"
android:textAlignment="center" />
@@ -1244,7 +1292,7 @@
android:paddingStart="15dp"
android:text="@string/discard"
android:textSize="11sp"
- tools:ignore="RtlSymmetry" />
+ tools:ignore="RtlSymmetry,TextContrastCheck,TouchTargetSizeCheck" />
+ tools:ignore="RtlSymmetry,TouchTargetSizeCheck,TextContrastCheck" />
+ tools:ignore="RtlSymmetry,TouchTargetSizeCheck,TextContrastCheck" />
diff --git a/app/src/main/res/values-en/arrays.xml b/app/src/main/res/values-en/arrays.xml
index f5787e20..ec80d6d0 100644
--- a/app/src/main/res/values-en/arrays.xml
+++ b/app/src/main/res/values-en/arrays.xml
@@ -1,6 +1,6 @@
-
+
- @string/menu_logs
@@ -152,7 +152,7 @@
- UTF-8
- US-ASCII
- - ISO-8859-1
+ - ISO-8859-1
- UTF-16
- UTF-16BE
- UTF-16LE
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 6f16549b..20d4f4e0 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -781,7 +781,7 @@
Service Address
"IP or Domain"
Port
- Value Range:1-65535
+ Value Range:1-65535
Webhook Server
For example: https://a.b.com/msg?token=xyz
@@ -1061,7 +1061,7 @@
Network Type
Operator Name
Host Address
- Loading app list async...
+ Loading app list async…
Carrier Name
ICC ID
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index cf50b0ed..0ddd370c 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -1,6 +1,6 @@
-
+
- @string/menu_logs
@@ -152,7 +152,7 @@
- UTF-8
- US-ASCII
- - ISO-8859-1
+ - ISO-8859-1
- UTF-16
- UTF-16BE
- UTF-16LE
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c375275a..2f5740ed 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -782,7 +782,7 @@
服务地址
IP 或 域名
端口
- 取值范围:1-65535
+ 取值范围:1-65535
Webhook Server
例如:https://a.b.com/msg?token=xyz
@@ -1062,7 +1062,7 @@
网络类型
运营商
本地IP
- 正在异步加载应用列表...
+ 正在异步加载应用列表…
运营商名
ICC ID
@@ -1200,7 +1200,7 @@
周的星期
本月最后
本月最后一个星期
-
+
Cron表达式测试结果
Cron表达式无效:\n%s
最近 %s 次运行时间:\n%s
diff --git a/app/x-library.gradle b/app/x-library.gradle
index 5ad8a5c1..e6eaa50a 100644
--- a/app/x-library.gradle
+++ b/app/x-library.gradle
@@ -46,7 +46,7 @@ configurations.each { configuration ->
}
}
-configurations.all {
+configurations.configureEach {
resolutionStrategy.force deps.okhttp3
//总是拉取最新的 build 版本
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
diff --git a/build.gradle b/build.gradle
index d803f1a2..8811ec0f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -38,12 +38,12 @@ allprojects {
}
// 设置全局编码
- tasks.withType(JavaCompile) {
+ tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
// 设置文档编码
- tasks.withType(Javadoc) {
+ tasks.withType(Javadoc).configureEach {
options {
encoding 'UTF-8'
charSet 'UTF-8'
@@ -55,7 +55,7 @@ allprojects {
setBuildDir(new File(rootDir, "build/${path.replaceAll(':', '/')}"))
}
-task clean(type: Delete) {
+tasks.register('clean', Delete) {
delete rootProject.buildDir
FileTree rootTree = fileTree(dir: rootDir)