整理:code review
This commit is contained in:
parent
1da0257c8c
commit
06ce0112a9
|
@ -29,7 +29,6 @@
|
|||
<uses-permission
|
||||
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
|
||||
tools:ignore="ScopedStorage" />
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_MMS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
|
||||
|
|
|
@ -15,7 +15,7 @@ import com.idormy.sms.forwarder.databinding.AdapterFrpcsCardViewListItemBinding
|
|||
import com.xuexiang.xutil.resource.ResUtils.getColors
|
||||
import frpclib.Frpclib
|
||||
|
||||
@Suppress("EmptyMethod", "unused")
|
||||
@Suppress("EmptyMethod")
|
||||
class FrpcPagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<Frpc, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
package com.idormy.sms.forwarder.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.idormy.sms.forwarder.adapter.LogsPagingAdapter.MyViewHolder
|
||||
import com.idormy.sms.forwarder.database.entity.LogsAndRuleAndSender
|
||||
import com.idormy.sms.forwarder.databinding.AdapterLogsCardViewListItemBinding
|
||||
import com.xuexiang.xutil.data.DateUtils
|
||||
|
||||
class LogsPagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<LogsAndRuleAndSender, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
val binding = AdapterLogsCardViewListItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return MyViewHolder(binding)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
|
||||
val item = getItem(position)
|
||||
if (item != null) {
|
||||
holder.binding.tvFrom.text = item.msg.from
|
||||
holder.binding.tvTime.text = DateUtils.getFriendlyTimeSpanByNow(item.logs.time)
|
||||
holder.binding.tvContent.text = item.msg.content
|
||||
//holder.binding.ivSenderImage.setImageResource(Sender.getImageId(item.sender.type))
|
||||
//holder.binding.ivStatusImage.setImageResource(item.logs.statusImageId)
|
||||
holder.binding.ivSimImage.setImageResource(item.msg.simImageId)
|
||||
|
||||
holder.binding.cardView.setOnClickListener { view: View? ->
|
||||
itemClickListener.onItemClicked(view, item)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MyViewHolder(val binding: AdapterLogsCardViewListItemBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
interface OnItemClickListener {
|
||||
fun onItemClicked(view: View?, item: LogsAndRuleAndSender)
|
||||
fun onItemRemove(view: View?, id: Int)
|
||||
}
|
||||
|
||||
companion object {
|
||||
var diffCallback: DiffUtil.ItemCallback<LogsAndRuleAndSender> = object : DiffUtil.ItemCallback<LogsAndRuleAndSender>() {
|
||||
override fun areItemsTheSame(oldItem: LogsAndRuleAndSender, newItem: LogsAndRuleAndSender): Boolean {
|
||||
return oldItem.logs.id == newItem.logs.id
|
||||
}
|
||||
|
||||
@SuppressLint("DiffUtilEquals")
|
||||
override fun areContentsTheSame(oldItem: LogsAndRuleAndSender, newItem: LogsAndRuleAndSender): Boolean {
|
||||
return oldItem.logs === newItem.logs
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@ import com.idormy.sms.forwarder.database.entity.MsgAndLogs
|
|||
import com.idormy.sms.forwarder.databinding.AdapterLogsCardViewListItemBinding
|
||||
import com.xuexiang.xutil.data.DateUtils
|
||||
|
||||
@Suppress("EmptyMethod", "unused")
|
||||
@Suppress("EmptyMethod")
|
||||
class MsgPagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<MsgAndLogs, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
|
|
|
@ -16,7 +16,7 @@ import com.idormy.sms.forwarder.adapter.RulePagingAdapter.MyViewHolder
|
|||
import com.idormy.sms.forwarder.database.entity.Rule
|
||||
import com.idormy.sms.forwarder.databinding.AdapterRulesCardViewListItemBinding
|
||||
|
||||
@Suppress("EmptyMethod", "unused")
|
||||
@Suppress("EmptyMethod")
|
||||
class RulePagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<Rule, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
|
|
|
@ -11,7 +11,7 @@ import com.idormy.sms.forwarder.adapter.SenderPagingAdapter.MyViewHolder
|
|||
import com.idormy.sms.forwarder.database.entity.Sender
|
||||
import com.idormy.sms.forwarder.databinding.AdapterSendersCardViewListItemBinding
|
||||
|
||||
@Suppress("EmptyMethod", "unused")
|
||||
@Suppress("EmptyMethod")
|
||||
class SenderPagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<Sender, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
|
|
|
@ -18,7 +18,7 @@ import com.idormy.sms.forwarder.databinding.AdapterTasksCardViewListItemBinding
|
|||
import com.idormy.sms.forwarder.entity.TaskSetting
|
||||
import com.xuexiang.xutil.data.DateUtils
|
||||
|
||||
@Suppress("EmptyMethod", "unused")
|
||||
@Suppress("EmptyMethod")
|
||||
class TaskPagingAdapter(private val itemClickListener: OnItemClickListener) : PagingDataAdapter<Task, MyViewHolder>(diffCallback) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||
|
|
|
@ -12,7 +12,7 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import com.idormy.sms.forwarder.R
|
||||
import com.idormy.sms.forwarder.entity.TaskSetting
|
||||
|
||||
@Suppress("DEPRECATION", "unused")
|
||||
@Suppress("DEPRECATION")
|
||||
class TaskSettingAdapter(
|
||||
val itemList: MutableList<TaskSetting>,
|
||||
private val editClickListener: (Int) -> Unit,
|
||||
|
|
|
@ -12,7 +12,6 @@ import me.samlss.broccoli.Broccoli
|
|||
* @author XUE
|
||||
* @since 2019/4/8 16:33
|
||||
*/
|
||||
@Suppress("unused")
|
||||
abstract class BroccoliRecyclerAdapter<T>(collection: Collection<T>?) :
|
||||
BaseRecyclerAdapter<T>(collection) {
|
||||
/**
|
||||
|
|
|
@ -9,7 +9,6 @@ import com.xuexiang.xui.adapter.recyclerview.RecyclerViewHolder
|
|||
* @author xuexiang
|
||||
* @since 2020/3/20 12:44 AM
|
||||
*/
|
||||
@Suppress("unused")
|
||||
abstract class BaseDelegateAdapter<T> : XDelegateAdapter<T, RecyclerViewHolder> {
|
||||
constructor() : super()
|
||||
constructor(list: Collection<T>?) : super(list)
|
||||
|
|
|
@ -16,7 +16,7 @@ import com.xuexiang.xui.widget.actionbar.TitleUtils
|
|||
* @author xuexiang
|
||||
* @since 2018/11/22 上午11:26
|
||||
*/
|
||||
@Suppress("UNUSED_PARAMETER", "unused")
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
abstract class BaseContainerFragment : XPageContainerListFragment() {
|
||||
override fun initPage() {
|
||||
initTitle()
|
||||
|
|
|
@ -13,7 +13,6 @@ import com.xuexiang.xutil.common.StringUtils
|
|||
* @author xuexiang
|
||||
* @since 2018/12/19 上午12:19
|
||||
*/
|
||||
@Suppress("unused")
|
||||
class SimpleListAdapter(context: Context?, data: List<Map<String?, String?>?>?) :
|
||||
BaseListAdapter<Map<String?, String?>, SimpleListAdapter.ViewHolder>(context, data) {
|
||||
override fun newViewHolder(convertView: View): ViewHolder {
|
||||
|
|
|
@ -11,8 +11,18 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import android.view.*
|
||||
import android.webkit.*
|
||||
import android.view.Gravity
|
||||
import android.view.KeyEvent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.webkit.DownloadListener
|
||||
import android.webkit.WebChromeClient
|
||||
import android.webkit.WebResourceError
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebResourceResponse
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
|
@ -46,7 +56,6 @@ import com.xuexiang.xutil.net.JsonUtil
|
|||
*/
|
||||
@Suppress(
|
||||
"unused",
|
||||
"MemberVisibilityCanBePrivate",
|
||||
"ProtectedInFinal",
|
||||
"NAME_SHADOWING",
|
||||
"UNUSED_PARAMETER",
|
||||
|
@ -147,6 +156,7 @@ class AgentWebFragment : Fragment(), FragmentKeyDown {
|
|||
if (!mAgentWeb!!.back()) {
|
||||
this.requireActivity().finish()
|
||||
}
|
||||
|
||||
R.id.iv_finish -> this.requireActivity().finish()
|
||||
R.id.iv_more -> showPoPup(v)
|
||||
else -> {}
|
||||
|
@ -459,24 +469,28 @@ class AgentWebFragment : Fragment(), FragmentKeyDown {
|
|||
}
|
||||
true
|
||||
}
|
||||
|
||||
R.id.copy -> {
|
||||
if (mAgentWeb != null) {
|
||||
mAgentWeb!!.webCreator.webView.url?.let { toCopy(context, it) }
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
R.id.default_browser -> {
|
||||
if (mAgentWeb != null) {
|
||||
mAgentWeb!!.webCreator.webView.url?.let { openBrowser(it) }
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
R.id.share -> {
|
||||
if (mAgentWeb != null) {
|
||||
mAgentWeb!!.webCreator.webView.url?.let { shareWebUrl(it) }
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ import java.util.Locale
|
|||
*
|
||||
* 这里主要是做去广告的工作
|
||||
*/
|
||||
@Suppress("UNUSED_PARAMETER", "DEPRECATION", "OVERRIDE_DEPRECATION", "unused")
|
||||
@Suppress("UNUSED_PARAMETER", "DEPRECATION", "OVERRIDE_DEPRECATION")
|
||||
open class MiddlewareWebViewClient : MiddlewareWebClientBase() {
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
|
||||
|
|
|
@ -19,7 +19,6 @@ 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)
|
||||
|
|
|
@ -1,7 +1,13 @@
|
|||
package com.idormy.sms.forwarder.database.dao
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.room.*
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Delete
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.Transaction
|
||||
import androidx.room.Update
|
||||
import com.idormy.sms.forwarder.database.entity.Logs
|
||||
import com.idormy.sms.forwarder.database.entity.LogsAndRuleAndSender
|
||||
import io.reactivex.Completable
|
||||
|
@ -25,9 +31,6 @@ interface LogsDao {
|
|||
@Query("DELETE FROM Logs")
|
||||
fun deleteAll()
|
||||
|
||||
@Query("DELETE FROM Logs where time<:time")
|
||||
fun deleteTimeAgo(time: Long)
|
||||
|
||||
@Update
|
||||
fun update(logs: Logs): Completable
|
||||
|
||||
|
|
|
@ -21,12 +21,6 @@ interface TaskDao {
|
|||
@Query("SELECT * FROM Task where id=:id")
|
||||
fun getOne(id: Long): Task
|
||||
|
||||
@Query("SELECT * FROM Task ORDER BY id DESC")
|
||||
fun getAll(): List<Task>
|
||||
|
||||
@Query("SELECT * FROM Task where type = 1000 ORDER BY id DESC")
|
||||
fun getAllCron(): List<Task>
|
||||
|
||||
@Query("SELECT * FROM Task where type < 1000 ORDER BY id DESC")
|
||||
fun pagingSourceFixed(): PagingSource<Int, Task>
|
||||
|
||||
|
@ -40,10 +34,6 @@ interface TaskDao {
|
|||
@Query("SELECT * FROM Task WHERE status = 1 AND type = :taskType")
|
||||
fun getByType(taskType: Int): List<Task>
|
||||
|
||||
//TODO:根据条件查询,不推荐使用
|
||||
@Query("SELECT * FROM Task WHERE type = :taskType AND conditions LIKE '%' || :conditionKey || '%' AND conditions LIKE '%' || :conditionValue || '%'")
|
||||
fun getByCondition(taskType: String, conditionKey: String, conditionValue: String): List<Task>
|
||||
|
||||
@Insert
|
||||
fun insert(task: Task)
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.text.TextUtils
|
|||
import android.util.Log
|
||||
import com.idormy.sms.forwarder.App
|
||||
import com.idormy.sms.forwarder.R
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.BatteryUtils
|
||||
import com.idormy.sms.forwarder.utils.HttpServerUtils
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
|
@ -12,7 +13,6 @@ import com.idormy.sms.forwarder.utils.SettingUtils.Companion.enableSmsTemplate
|
|||
import com.idormy.sms.forwarder.utils.SettingUtils.Companion.extraDeviceMark
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils.Companion.smsTemplate
|
||||
import com.idormy.sms.forwarder.utils.task.TaskUtils
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.xuexiang.xutil.resource.ResUtils.getString
|
||||
import java.io.Serializable
|
||||
import java.text.SimpleDateFormat
|
||||
|
|
|
@ -10,6 +10,7 @@ import com.idormy.sms.forwarder.activity.MainActivity
|
|||
import com.idormy.sms.forwarder.core.BaseFragment
|
||||
import com.idormy.sms.forwarder.core.webview.AgentWebActivity
|
||||
import com.idormy.sms.forwarder.databinding.FragmentAboutBinding
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.CacheUtils
|
||||
import com.idormy.sms.forwarder.utils.CommonUtils.Companion.gotoProtocol
|
||||
import com.idormy.sms.forwarder.utils.CommonUtils.Companion.previewMarkdown
|
||||
|
@ -25,7 +26,6 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
|
|||
import com.xuexiang.xui.widget.dialog.materialdialog.DialogAction
|
||||
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
|
||||
import com.xuexiang.xui.widget.textview.supertextview.SuperTextView
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.xuexiang.xutil.file.FileUtils
|
||||
import frpclib.Frpclib
|
||||
import java.io.File
|
||||
|
|
|
@ -40,6 +40,7 @@ import com.idormy.sms.forwarder.receiver.BootCompletedReceiver
|
|||
import com.idormy.sms.forwarder.service.ForegroundService
|
||||
import com.idormy.sms.forwarder.service.LocationService
|
||||
import com.idormy.sms.forwarder.utils.*
|
||||
import com.idormy.sms.forwarder.utils.AppUtils.getAppPackageName
|
||||
import com.idormy.sms.forwarder.widget.GuideTipsDialog
|
||||
import com.idormy.sms.forwarder.workers.LoadAppListWorker
|
||||
import com.jeremyliao.liveeventbus.LiveEventBus
|
||||
|
@ -55,7 +56,6 @@ import com.xuexiang.xui.widget.picker.widget.builder.OptionsPickerBuilder
|
|||
import com.xuexiang.xui.widget.picker.widget.listener.OnOptionsSelectListener
|
||||
import com.xuexiang.xutil.XUtil
|
||||
import com.xuexiang.xutil.XUtil.getPackageManager
|
||||
import com.xuexiang.xutil.app.AppUtils.getAppPackageName
|
||||
import kotlinx.coroutines.*
|
||||
import java.util.*
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ import java.util.*
|
|||
|
||||
|
||||
@Page(name = "自动任务·编辑器")
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION", "UNUSED_PARAMETER", "EmptyMethod", "unused")
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION", "UNUSED_PARAMETER", "EmptyMethod")
|
||||
class TasksEditFragment : BaseFragment<FragmentTasksEditBinding?>(), View.OnClickListener, RecyclerViewHolder.OnItemClickListener<PageInfo> {
|
||||
|
||||
private val TAG: String = TasksEditFragment::class.java.simpleName
|
||||
|
|
|
@ -41,7 +41,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
|
|||
import com.xuexiang.xutil.XUtil
|
||||
|
||||
@Page(name = "SendSms")
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||
@Suppress("PrivatePropertyName")
|
||||
class SendSmsFragment : BaseFragment<FragmentTasksActionSendSmsBinding?>(), View.OnClickListener {
|
||||
|
||||
private val TAG: String = SendSmsFragment::class.java.simpleName
|
||||
|
|
|
@ -34,7 +34,6 @@ import com.xuexiang.xui.utils.CountDownButtonHelper
|
|||
import com.xuexiang.xui.widget.actionbar.TitleBar
|
||||
import com.xuexiang.xui.widget.dialog.materialdialog.DialogAction
|
||||
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.xuexiang.xutil.data.ConvertTools
|
||||
import com.xuexiang.xutil.file.FileIOUtils
|
||||
import com.xuexiang.xutil.file.FileUtils
|
||||
|
|
|
@ -24,7 +24,7 @@ import com.xuexiang.xui.utils.CountDownButtonHelper
|
|||
import com.xuexiang.xui.widget.actionbar.TitleBar
|
||||
import com.xuexiang.xutil.data.ConvertTools
|
||||
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||
@Suppress("PrivatePropertyName")
|
||||
@Page(name = "远程加话簿")
|
||||
class ContactAddFragment : BaseFragment<FragmentClientContactAddBinding?>(), View.OnClickListener {
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ import com.xuexiang.xui.widget.actionbar.TitleBar
|
|||
import com.xuexiang.xui.widget.grouplist.XUIGroupListView
|
||||
import com.xuexiang.xutil.data.ConvertTools
|
||||
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||
@Suppress("PrivatePropertyName")
|
||||
@Page(name = "远程找手机")
|
||||
class LocationFragment : BaseFragment<FragmentClientLocationBinding?>(), View.OnClickListener {
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ import com.xuexiang.xui.utils.CountDownButtonHelper
|
|||
import com.xuexiang.xui.widget.actionbar.TitleBar
|
||||
import com.xuexiang.xutil.data.ConvertTools
|
||||
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||
@Suppress("PrivatePropertyName")
|
||||
@Page(name = "远程发短信")
|
||||
class SmsSendFragment : BaseFragment<FragmentClientSmsSendBinding?>(), View.OnClickListener {
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ import com.idormy.sms.forwarder.utils.TaskWorker
|
|||
import com.idormy.sms.forwarder.utils.task.TaskUtils
|
||||
import com.idormy.sms.forwarder.workers.NetworkWorker
|
||||
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION", "UNUSED_PARAMETER", "unused")
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION", "UNUSED_PARAMETER")
|
||||
class NetworkChangeReceiver : BroadcastReceiver() {
|
||||
|
||||
private val TAG: String = NetworkChangeReceiver::class.java.simpleName
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.util.Log
|
|||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
import java.util.Date
|
||||
|
||||
@Suppress("DEPRECATION", "unused")
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class PhoneStateReceiver : BroadcastReceiver() {
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
|
|
|
@ -20,7 +20,7 @@ import com.xuexiang.xrouter.utils.TextUtils
|
|||
import java.util.Date
|
||||
|
||||
//短信广播
|
||||
@Suppress("PrivatePropertyName", "unused", "UNUSED_PARAMETER")
|
||||
@Suppress("PrivatePropertyName", "UNUSED_PARAMETER")
|
||||
class SmsReceiver : BroadcastReceiver() {
|
||||
|
||||
private var TAG = SmsReceiver::class.java.simpleName
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
package com.idormy.sms.forwarder.server.component
|
||||
|
||||
import com.yanzhenjie.andserver.error.HttpException
|
||||
import com.yanzhenjie.andserver.framework.HandlerInterceptor
|
||||
import com.yanzhenjie.andserver.framework.handler.MethodHandler
|
||||
import com.yanzhenjie.andserver.framework.handler.RequestHandler
|
||||
import com.yanzhenjie.andserver.framework.mapping.Addition
|
||||
import com.yanzhenjie.andserver.http.HttpRequest
|
||||
import com.yanzhenjie.andserver.http.HttpResponse
|
||||
|
||||
//@Interceptor
|
||||
class LoginInterceptor : HandlerInterceptor {
|
||||
override fun onIntercept(
|
||||
request: HttpRequest,
|
||||
response: HttpResponse,
|
||||
handler: RequestHandler,
|
||||
): Boolean {
|
||||
if (handler is MethodHandler) {
|
||||
val methodHandler: MethodHandler = handler
|
||||
val addition: Addition = methodHandler.addition
|
||||
if (!isLogin(request, addition)) {
|
||||
throw HttpException(401, "You are not logged in yet.")
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private fun isNeedLogin(addition: Addition?): Boolean {
|
||||
if (addition == null) {
|
||||
return false
|
||||
}
|
||||
val stringType = addition.stringType
|
||||
if (stringType.isEmpty()) {
|
||||
return false
|
||||
}
|
||||
val booleanType = addition.booleanType
|
||||
return if (booleanType.isEmpty()) {
|
||||
false
|
||||
} else stringType[0].equals("login", ignoreCase = true) && booleanType[0]
|
||||
}
|
||||
|
||||
private fun isLogin(request: HttpRequest, addition: Addition): Boolean {
|
||||
if (isNeedLogin(addition)) {
|
||||
val session = request.session
|
||||
if (session != null) {
|
||||
val o = session.getAttribute(LOGIN_ATTRIBUTE)
|
||||
return o is Boolean && o
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val LOGIN_ATTRIBUTE = "USER.LOGIN.SIGN"
|
||||
}
|
||||
}
|
|
@ -4,10 +4,10 @@ import android.util.Log
|
|||
import com.idormy.sms.forwarder.App
|
||||
import com.idormy.sms.forwarder.server.model.BaseRequest
|
||||
import com.idormy.sms.forwarder.server.model.ConfigData
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.HttpServerUtils
|
||||
import com.idormy.sms.forwarder.utils.PhoneUtils
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.yanzhenjie.andserver.annotation.*
|
||||
|
||||
@Suppress("PrivatePropertyName")
|
||||
|
|
|
@ -49,13 +49,35 @@ object AppUtils {
|
|||
return appsInfo
|
||||
}
|
||||
|
||||
fun getAppVersionName(): String? {
|
||||
fun getAppVersionCode(): Int {
|
||||
return getAppVersionCode(App.context.packageName)
|
||||
}
|
||||
|
||||
private fun getAppVersionCode(packageName: String?): Int {
|
||||
if (packageName.isNullOrBlank()) {
|
||||
return -1
|
||||
}
|
||||
return try {
|
||||
val pm: PackageManager = App.context.packageManager
|
||||
val pi: PackageInfo = pm.getPackageInfo(packageName, 0)
|
||||
pi.versionCode
|
||||
} catch (e: PackageManager.NameNotFoundException) {
|
||||
e.printStackTrace()
|
||||
-1
|
||||
}
|
||||
}
|
||||
|
||||
fun getAppPackageName(): String {
|
||||
return App.context.packageName
|
||||
}
|
||||
|
||||
fun getAppVersionName(): String {
|
||||
return getAppVersionName(App.context.packageName)
|
||||
}
|
||||
|
||||
fun getAppVersionName(packageName: String): String? {
|
||||
private fun getAppVersionName(packageName: String): String {
|
||||
if (packageName.isBlank()) {
|
||||
return null
|
||||
return ""
|
||||
}
|
||||
return try {
|
||||
val pm: PackageManager = App.context.packageManager
|
||||
|
@ -63,7 +85,7 @@ object AppUtils {
|
|||
pi.versionName
|
||||
} catch (e: PackageManager.NameNotFoundException) {
|
||||
e.printStackTrace()
|
||||
null
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ import java.util.regex.Pattern
|
|||
/**
|
||||
* 常用工具类
|
||||
*/
|
||||
@Suppress("RegExpRedundantEscape", "unused", "RegExpUnnecessaryNonCapturingGroup", "DEPRECATION")
|
||||
@Suppress("RegExpRedundantEscape", "unused", "RegExpUnnecessaryNonCapturingGroup")
|
||||
class CommonUtils private constructor() {
|
||||
companion object {
|
||||
/**
|
||||
|
|
|
@ -238,6 +238,7 @@ const val TASK_ACTION_SENDSMS = 2000
|
|||
const val TASK_ACTION_NOTIFICATION = 2001
|
||||
const val TASK_ACTION_FRPC = 2002
|
||||
const val TASK_ACTION_HTTPSERVER = 2003
|
||||
const val TASK_ACTION_CLEANER = 2004
|
||||
|
||||
const val SP_BATTERY_INFO = "battery_info"
|
||||
const val SP_BATTERY_STATUS = "battery_status"
|
||||
|
|
|
@ -10,7 +10,6 @@ import com.idormy.sms.forwarder.core.Core
|
|||
import com.idormy.sms.forwarder.entity.CloneInfo
|
||||
import com.idormy.sms.forwarder.entity.LocationInfo
|
||||
import com.idormy.sms.forwarder.server.model.BaseRequest
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.xuexiang.xutil.resource.ResUtils.getString
|
||||
import com.yanzhenjie.andserver.error.HttpException
|
||||
import java.net.URLEncoder
|
||||
|
|
|
@ -25,7 +25,6 @@ import java.text.SimpleDateFormat
|
|||
import java.util.Calendar
|
||||
import java.util.Date
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
object SendUtils {
|
||||
private const val TAG = "SendUtils"
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.xuexiang.xhttp2.callback.SimpleCallBack
|
|||
import com.xuexiang.xhttp2.exception.ApiException
|
||||
import com.xuexiang.xutil.resource.ResUtils.getString
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
class PushplusUtils private constructor() {
|
||||
companion object {
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.xuexiang.xutil.XUtil
|
|||
import com.xuexiang.xutil.net.NetworkUtils
|
||||
import com.xuexiang.xutil.resource.ResUtils.getString
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
class SmsUtils {
|
||||
companion object {
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@ import com.google.gson.Gson
|
|||
import com.idormy.sms.forwarder.database.entity.Rule
|
||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||
import com.idormy.sms.forwarder.entity.setting.SocketSetting
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.SendUtils
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken
|
||||
import org.eclipse.paho.client.mqttv3.MqttCallbackExtended
|
||||
import org.eclipse.paho.client.mqttv3.MqttClient
|
||||
|
|
|
@ -7,10 +7,10 @@ import android.util.Log
|
|||
import com.idormy.sms.forwarder.database.entity.Rule
|
||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||
import com.idormy.sms.forwarder.entity.setting.UrlSchemeSetting
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.SendUtils
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
import com.xuexiang.xutil.XUtil
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import java.net.URLEncoder
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
|
|
@ -8,13 +8,13 @@ import com.google.gson.Gson
|
|||
import com.idormy.sms.forwarder.database.entity.Rule
|
||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||
import com.idormy.sms.forwarder.entity.setting.WebhookSetting
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.SendUtils
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
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 com.xuexiang.xutil.app.AppUtils
|
||||
import java.net.URLEncoder
|
||||
import java.nio.charset.StandardCharsets
|
||||
import java.text.SimpleDateFormat
|
||||
|
|
|
@ -13,7 +13,6 @@ import com.xuexiang.xutil.resource.ResUtils.getString
|
|||
* @author xuexiang
|
||||
* @since 2019/4/15 上午12:01
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class CustomUpdateFailureListener @JvmOverloads constructor(
|
||||
/**
|
||||
* 是否需要错误提示
|
||||
|
|
|
@ -10,13 +10,13 @@ import com.idormy.sms.forwarder.R
|
|||
import com.idormy.sms.forwarder.core.http.api.ApiService.IGetService
|
||||
import com.idormy.sms.forwarder.core.http.callback.NoTipCallBack
|
||||
import com.idormy.sms.forwarder.core.http.entity.TipInfo
|
||||
import com.idormy.sms.forwarder.utils.AppUtils
|
||||
import com.idormy.sms.forwarder.utils.SharedPreference
|
||||
import com.xuexiang.constant.TimeConstants
|
||||
import com.xuexiang.xaop.annotation.SingleClick
|
||||
import com.xuexiang.xhttp2.XHttp
|
||||
import com.xuexiang.xhttp2.cache.model.CacheMode
|
||||
import com.xuexiang.xui.widget.dialog.BaseDialog
|
||||
import com.xuexiang.xutil.app.AppUtils
|
||||
import com.zzhoujay.richtext.RichText
|
||||
|
||||
/**
|
||||
|
|
|
@ -1139,7 +1139,7 @@
|
|||
<string name="delete_task_tips">Are you sure to delete this task?</string>
|
||||
<string name="delete_task_toast">The task has deleted.</string>
|
||||
<string name="add_condition">Add Condition</string>
|
||||
<string name="add_condition_tips" tools:ignore="StringFormatCount">Example: Below 20% battery</string>
|
||||
<string name="add_condition_tips" tools:ignore="StringFormatCount">Example: battery level below 20%</string>
|
||||
<string name="add_condition_continue">Continue to add condition</string>
|
||||
<string name="add_action">Add Action</string>
|
||||
<string name="add_action_tips">Example: Disable all forwarding</string>
|
||||
|
|
Loading…
Reference in New Issue