mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
整理:code review
This commit is contained in:
parent
0036044d54
commit
bc6131ffd8
@ -41,8 +41,4 @@ class RuleRepository(private val ruleDao: RuleDao) {
|
|||||||
|
|
||||||
fun getRuleList(type: String, status: Int, simSlot: String) = ruleDao.getRuleList(type, status, simSlot)
|
fun getRuleList(type: String, status: Int, simSlot: String) = ruleDao.getRuleList(type, status, simSlot)
|
||||||
|
|
||||||
fun replaceTags(sql: String): Int {
|
|
||||||
val query = SimpleSQLiteQuery(sql)
|
|
||||||
return ruleDao.replaceTags(query)
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -46,9 +46,4 @@ class SenderRepository(private val senderDao: SenderDao) {
|
|||||||
|
|
||||||
val count: Flow<Long> = senderDao.getOnCount()
|
val count: Flow<Long> = senderDao.getOnCount()
|
||||||
|
|
||||||
fun replaceTags(sql: String): Int {
|
|
||||||
val query = SimpleSQLiteQuery(sql)
|
|
||||||
return senderDao.replaceTags(query)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -4,7 +4,11 @@ import android.annotation.SuppressLint
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.*
|
import android.widget.AdapterView
|
||||||
|
import android.widget.CompoundButton
|
||||||
|
import android.widget.EditText
|
||||||
|
import android.widget.RadioGroup
|
||||||
|
import android.widget.TextView
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
@ -28,7 +32,40 @@ import com.idormy.sms.forwarder.database.viewmodel.BaseViewModelFactory
|
|||||||
import com.idormy.sms.forwarder.database.viewmodel.RuleViewModel
|
import com.idormy.sms.forwarder.database.viewmodel.RuleViewModel
|
||||||
import com.idormy.sms.forwarder.databinding.FragmentRulesEditBinding
|
import com.idormy.sms.forwarder.databinding.FragmentRulesEditBinding
|
||||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||||
import com.idormy.sms.forwarder.utils.*
|
import com.idormy.sms.forwarder.utils.CHECK_CONTAIN
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_END_WITH
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_IS
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_NOT_CONTAIN
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_REGEX
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_SIM_SLOT_1
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_SIM_SLOT_2
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_SIM_SLOT_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_START_WITH
|
||||||
|
import com.idormy.sms.forwarder.utils.CommonUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.DataProvider
|
||||||
|
import com.idormy.sms.forwarder.utils.EVENT_LOAD_APP_LIST
|
||||||
|
import com.idormy.sms.forwarder.utils.EVENT_TOAST_ERROR
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_CALL_TYPE
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_INFORM_CONTENT
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_MSG_CONTENT
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_MULTI_MATCH
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_PACKAGE_NAME
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_PHONE_NUM
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_TRANSPOND_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_UID
|
||||||
|
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.Log
|
||||||
|
import com.idormy.sms.forwarder.utils.PhoneUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_UNTIL_FAIL
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_UNTIL_SUCCESS
|
||||||
|
import com.idormy.sms.forwarder.utils.STATUS_OFF
|
||||||
|
import com.idormy.sms.forwarder.utils.STATUS_ON
|
||||||
|
import com.idormy.sms.forwarder.utils.SendUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.XToastUtils
|
||||||
import com.idormy.sms.forwarder.workers.LoadAppListWorker
|
import com.idormy.sms.forwarder.workers.LoadAppListWorker
|
||||||
import com.jeremyliao.liveeventbus.LiveEventBus
|
import com.jeremyliao.liveeventbus.LiveEventBus
|
||||||
import com.xuexiang.xaop.annotation.SingleClick
|
import com.xuexiang.xaop.annotation.SingleClick
|
||||||
@ -49,8 +86,7 @@ import io.reactivex.SingleObserver
|
|||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import kotlinx.coroutines.*
|
import java.util.Date
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
@Page(name = "转发规则·编辑器")
|
@Page(name = "转发规则·编辑器")
|
||||||
@Suppress("PrivatePropertyName")
|
@Suppress("PrivatePropertyName")
|
||||||
|
@ -17,7 +17,12 @@ import android.text.TextWatcher
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.*
|
import android.widget.AdapterView
|
||||||
|
import android.widget.CompoundButton
|
||||||
|
import android.widget.EditText
|
||||||
|
import android.widget.LinearLayout
|
||||||
|
import android.widget.RadioGroup
|
||||||
|
import android.widget.TextView
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
@ -39,8 +44,16 @@ import com.idormy.sms.forwarder.entity.SimInfo
|
|||||||
import com.idormy.sms.forwarder.receiver.BootCompletedReceiver
|
import com.idormy.sms.forwarder.receiver.BootCompletedReceiver
|
||||||
import com.idormy.sms.forwarder.service.ForegroundService
|
import com.idormy.sms.forwarder.service.ForegroundService
|
||||||
import com.idormy.sms.forwarder.service.LocationService
|
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.utils.AppUtils.getAppPackageName
|
||||||
|
import com.idormy.sms.forwarder.utils.CommonUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.DataProvider
|
||||||
|
import com.idormy.sms.forwarder.utils.EVENT_LOAD_APP_LIST
|
||||||
|
import com.idormy.sms.forwarder.utils.KeepAliveUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.LocationUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
|
import com.idormy.sms.forwarder.utils.PhoneUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.XToastUtils
|
||||||
import com.idormy.sms.forwarder.widget.GuideTipsDialog
|
import com.idormy.sms.forwarder.widget.GuideTipsDialog
|
||||||
import com.idormy.sms.forwarder.workers.LoadAppListWorker
|
import com.idormy.sms.forwarder.workers.LoadAppListWorker
|
||||||
import com.jeremyliao.liveeventbus.LiveEventBus
|
import com.jeremyliao.liveeventbus.LiveEventBus
|
||||||
@ -57,8 +70,7 @@ import com.xuexiang.xui.widget.picker.widget.listener.OnOptionsSelectListener
|
|||||||
import com.xuexiang.xutil.XUtil
|
import com.xuexiang.xutil.XUtil
|
||||||
import com.xuexiang.xutil.XUtil.getPackageManager
|
import com.xuexiang.xutil.XUtil.getPackageManager
|
||||||
import com.xuexiang.xutil.file.FileUtils
|
import com.xuexiang.xutil.file.FileUtils
|
||||||
import kotlinx.coroutines.*
|
import java.util.Locale
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
@Suppress("SpellCheckingInspection", "PrivatePropertyName")
|
@Suppress("SpellCheckingInspection", "PrivatePropertyName")
|
||||||
@Page(name = "通用设置")
|
@Page(name = "通用设置")
|
||||||
|
@ -176,7 +176,7 @@ class AlarmFragment : BaseFragment<FragmentTasksActionAlarmBinding?>(), View.OnC
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_ALARM, getString(R.string.task_alarm), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_ALARM, getString(R.string.task_alarm), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_alarm), settingVo.description, Date(), getString(R.string.task_alarm))
|
val msgInfo = MsgInfo("task", getString(R.string.task_alarm), settingVo.description, Date(), getString(R.string.task_alarm))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -103,7 +103,7 @@ class CleanerFragment : BaseFragment<FragmentTasksActionCleanerBinding?>(), View
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_CLEANER, getString(R.string.task_cleaner), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_CLEANER, getString(R.string.task_cleaner), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_cleaner), settingVo.description, Date(), getString(R.string.task_cleaner))
|
val msgInfo = MsgInfo("task", getString(R.string.task_cleaner), settingVo.description, Date(), getString(R.string.task_cleaner))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -138,7 +138,7 @@ class FrpcFragment : BaseFragment<FragmentTasksActionFrpcBinding?>(), View.OnCli
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_FRPC, getString(R.string.task_frpc), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_FRPC, getString(R.string.task_frpc), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_frpc), settingVo.description, Date(), getString(R.string.task_frpc))
|
val msgInfo = MsgInfo("task", getString(R.string.task_frpc), settingVo.description, Date(), getString(R.string.task_frpc))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -150,7 +150,7 @@ class HttpServerFragment : BaseFragment<FragmentTasksActionHttpServerBinding?>()
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_HTTPSERVER, getString(R.string.task_http_server), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_HTTPSERVER, getString(R.string.task_http_server), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_http_server), settingVo.description, Date(), getString(R.string.task_http_server))
|
val msgInfo = MsgInfo("task", getString(R.string.task_http_server), settingVo.description, Date(), getString(R.string.task_http_server))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -5,7 +5,9 @@ import android.content.Intent
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.*
|
import android.widget.AdapterView
|
||||||
|
import android.widget.CompoundButton
|
||||||
|
import android.widget.EditText
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
@ -25,7 +27,23 @@ import com.idormy.sms.forwarder.database.entity.Sender
|
|||||||
import com.idormy.sms.forwarder.databinding.FragmentTasksActionNotificationBinding
|
import com.idormy.sms.forwarder.databinding.FragmentTasksActionNotificationBinding
|
||||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||||
import com.idormy.sms.forwarder.entity.TaskSetting
|
import com.idormy.sms.forwarder.entity.TaskSetting
|
||||||
import com.idormy.sms.forwarder.utils.*
|
import com.idormy.sms.forwarder.utils.CHECK_IS
|
||||||
|
import com.idormy.sms.forwarder.utils.CHECK_SIM_SLOT_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.CommonUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.DataProvider
|
||||||
|
import com.idormy.sms.forwarder.utils.FILED_TRANSPOND_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.KEY_BACK_DATA_ACTION
|
||||||
|
import com.idormy.sms.forwarder.utils.KEY_BACK_DESCRIPTION_ACTION
|
||||||
|
import com.idormy.sms.forwarder.utils.KEY_EVENT_DATA_ACTION
|
||||||
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_ALL
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_UNTIL_FAIL
|
||||||
|
import com.idormy.sms.forwarder.utils.SENDER_LOGIC_UNTIL_SUCCESS
|
||||||
|
import com.idormy.sms.forwarder.utils.STATUS_OFF
|
||||||
|
import com.idormy.sms.forwarder.utils.STATUS_ON
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_ACTION_NOTIFICATION
|
||||||
|
import com.idormy.sms.forwarder.utils.TaskWorker
|
||||||
|
import com.idormy.sms.forwarder.utils.XToastUtils
|
||||||
import com.idormy.sms.forwarder.workers.ActionWorker
|
import com.idormy.sms.forwarder.workers.ActionWorker
|
||||||
import com.xuexiang.xaop.annotation.SingleClick
|
import com.xuexiang.xaop.annotation.SingleClick
|
||||||
import com.xuexiang.xpage.annotation.Page
|
import com.xuexiang.xpage.annotation.Page
|
||||||
@ -41,8 +59,7 @@ import io.reactivex.SingleObserver
|
|||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import kotlinx.coroutines.*
|
import java.util.Date
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
@Page(name = "Notification")
|
@Page(name = "Notification")
|
||||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||||
@ -265,7 +282,7 @@ class NotificationFragment : BaseFragment<FragmentTasksActionNotificationBinding
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_NOTIFICATION, getString(R.string.task_notification), description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_NOTIFICATION, getString(R.string.task_notification), description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_notification), description, Date(), getString(R.string.task_notification))
|
val msgInfo = MsgInfo("task", getString(R.string.task_notification), description, Date(), getString(R.string.task_notification))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -110,7 +110,7 @@ class ResendFragment : BaseFragment<FragmentTasksActionResendBinding?>(), View.O
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_RESEND, getString(R.string.task_resend), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_RESEND, getString(R.string.task_resend), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_resend), settingVo.description, Date(), getString(R.string.task_resend))
|
val msgInfo = MsgInfo("task", getString(R.string.task_resend), settingVo.description, Date(), getString(R.string.task_resend))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -143,7 +143,7 @@ class RuleFragment : BaseFragment<FragmentTasksActionRuleBinding?>(), View.OnCli
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_RULE, getString(R.string.task_rule), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_RULE, getString(R.string.task_rule), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_rule), settingVo.description, Date(), getString(R.string.task_rule))
|
val msgInfo = MsgInfo("task", getString(R.string.task_rule), settingVo.description, Date(), getString(R.string.task_rule))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -151,7 +151,7 @@ class SendSmsFragment : BaseFragment<FragmentTasksActionSendSmsBinding?>(), View
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_SENDSMS, getString(R.string.task_sendsms), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_SENDSMS, getString(R.string.task_sendsms), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_sendsms), settingVo.description, Date(), getString(R.string.task_sendsms))
|
val msgInfo = MsgInfo("task", getString(R.string.task_sendsms), settingVo.description, Date(), getString(R.string.task_sendsms))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -144,7 +144,7 @@ class SenderFragment : BaseFragment<FragmentTasksActionSenderBinding?>(), View.O
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_SENDER, getString(R.string.task_sender), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_SENDER, getString(R.string.task_sender), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_sender), settingVo.description, Date(), getString(R.string.task_sender))
|
val msgInfo = MsgInfo("task", getString(R.string.task_sender), settingVo.description, Date(), getString(R.string.task_sender))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -342,7 +342,7 @@ class SettingsFragment : BaseFragment<FragmentTasksActionSettingsBinding?>(), Vi
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_SETTINGS, getString(R.string.task_settings), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_SETTINGS, getString(R.string.task_settings), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_settings), settingVo.description, Date(), getString(R.string.task_settings))
|
val msgInfo = MsgInfo("task", getString(R.string.task_settings), settingVo.description, Date(), getString(R.string.task_settings))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -144,7 +144,7 @@ class TaskActionFragment : BaseFragment<FragmentTasksActionTaskBinding?>(), View
|
|||||||
val taskAction = TaskSetting(TASK_ACTION_TASK, getString(R.string.task_task), settingVo.description, Gson().toJson(settingVo), requestCode)
|
val taskAction = TaskSetting(TASK_ACTION_TASK, getString(R.string.task_task), settingVo.description, Gson().toJson(settingVo), requestCode)
|
||||||
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
val taskActionsJson = Gson().toJson(arrayListOf(taskAction))
|
||||||
val msgInfo = MsgInfo("task", getString(R.string.task_task), settingVo.description, Date(), getString(R.string.task_task))
|
val msgInfo = MsgInfo("task", getString(R.string.task_task), settingVo.description, Date(), getString(R.string.task_task))
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, 0).putString(TaskWorker.taskActions, taskActionsJson).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, 0).putString(TaskWorker.TASK_ACTIONS, taskActionsJson).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -4,11 +4,11 @@ import android.content.BroadcastReceiver
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.BatteryManager
|
import android.os.BatteryManager
|
||||||
import com.idormy.sms.forwarder.utils.Log
|
|
||||||
import androidx.work.OneTimeWorkRequestBuilder
|
import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import androidx.work.workDataOf
|
import androidx.work.workDataOf
|
||||||
import com.idormy.sms.forwarder.utils.BatteryUtils
|
import com.idormy.sms.forwarder.utils.BatteryUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_BATTERY
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_BATTERY
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_CHARGE
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_CHARGE
|
||||||
import com.idormy.sms.forwarder.utils.TaskWorker
|
import com.idormy.sms.forwarder.utils.TaskWorker
|
||||||
@ -50,7 +50,7 @@ class BatteryReceiver : BroadcastReceiver() {
|
|||||||
Log.d(TAG, "电量改变")
|
Log.d(TAG, "电量改变")
|
||||||
val request = OneTimeWorkRequestBuilder<BatteryWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<BatteryWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to TASK_CONDITION_BATTERY,
|
TaskWorker.CONDITION_TYPE to TASK_CONDITION_BATTERY,
|
||||||
"status" to statusNew,
|
"status" to statusNew,
|
||||||
"level_new" to levelNew,
|
"level_new" to levelNew,
|
||||||
"level_old" to levelOld,
|
"level_old" to levelOld,
|
||||||
@ -64,7 +64,7 @@ class BatteryReceiver : BroadcastReceiver() {
|
|||||||
Log.d(TAG, "充电状态改变")
|
Log.d(TAG, "充电状态改变")
|
||||||
val request = OneTimeWorkRequestBuilder<BatteryWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<BatteryWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to TASK_CONDITION_CHARGE,
|
TaskWorker.CONDITION_TYPE to TASK_CONDITION_CHARGE,
|
||||||
"status_new" to statusNew,
|
"status_new" to statusNew,
|
||||||
"status_old" to statusOld,
|
"status_old" to statusOld,
|
||||||
"plugged_new" to pluggedNew,
|
"plugged_new" to pluggedNew,
|
||||||
|
@ -95,7 +95,7 @@ open class CallReceiver : PhoneStateReceiver() {
|
|||||||
val msgInfo = MsgInfo("call", phoneNumber.toString(), msg.toString(), Date(), "", -1, 0, callType)
|
val msgInfo = MsgInfo("call", phoneNumber.toString(), msg.toString(), Date(), "", -1, 0, callType)
|
||||||
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo)
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo)
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
@ -140,7 +140,7 @@ open class CallReceiver : PhoneStateReceiver() {
|
|||||||
val msgInfo = MsgInfo("call", callInfo.number, PhoneUtils.getCallMsg(callInfo), Date(), simInfo, simSlot, callInfo.subId, callType)
|
val msgInfo = MsgInfo("call", callInfo.number, PhoneUtils.getCallMsg(callInfo), Date(), simInfo, simSlot, callInfo.subId, callType)
|
||||||
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo)
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo)
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
|
@ -32,8 +32,8 @@ class LockScreenReceiver : BroadcastReceiver() {
|
|||||||
TaskUtils.lockScreenAction = action
|
TaskUtils.lockScreenAction = action
|
||||||
val request = OneTimeWorkRequestBuilder<LockScreenWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<LockScreenWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to TASK_CONDITION_LOCK_SCREEN,
|
TaskWorker.CONDITION_TYPE to TASK_CONDITION_LOCK_SCREEN,
|
||||||
TaskWorker.action to action,
|
TaskWorker.ACTION to action,
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
|
@ -91,7 +91,7 @@ class NetworkChangeReceiver : BroadcastReceiver() {
|
|||||||
.setInitialDelay(DELAY_TIME_AFTER_SIM_READY, TimeUnit.MILLISECONDS)
|
.setInitialDelay(DELAY_TIME_AFTER_SIM_READY, TimeUnit.MILLISECONDS)
|
||||||
.setInputData(
|
.setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to TASK_CONDITION_NETWORK,
|
TaskWorker.CONDITION_TYPE to TASK_CONDITION_NETWORK,
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
|
@ -4,12 +4,12 @@ import android.content.BroadcastReceiver
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.telephony.TelephonyManager
|
import android.telephony.TelephonyManager
|
||||||
import com.idormy.sms.forwarder.utils.Log
|
|
||||||
import androidx.work.OneTimeWorkRequestBuilder
|
import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import androidx.work.workDataOf
|
import androidx.work.workDataOf
|
||||||
import com.idormy.sms.forwarder.R
|
import com.idormy.sms.forwarder.R
|
||||||
import com.idormy.sms.forwarder.utils.DELAY_TIME_AFTER_SIM_READY
|
import com.idormy.sms.forwarder.utils.DELAY_TIME_AFTER_SIM_READY
|
||||||
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_SIM
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_SIM
|
||||||
import com.idormy.sms.forwarder.utils.TaskWorker
|
import com.idormy.sms.forwarder.utils.TaskWorker
|
||||||
@ -68,8 +68,8 @@ class SimStateReceiver : BroadcastReceiver() {
|
|||||||
.setInitialDelay(duration, TimeUnit.MILLISECONDS)
|
.setInitialDelay(duration, TimeUnit.MILLISECONDS)
|
||||||
.setInputData(
|
.setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to TASK_CONDITION_SIM,
|
TaskWorker.CONDITION_TYPE to TASK_CONDITION_SIM,
|
||||||
TaskWorker.msg to msg.toString().trimEnd(),
|
TaskWorker.MSG to msg.toString().trimEnd(),
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
|
@ -111,7 +111,7 @@ class SmsReceiver : BroadcastReceiver() {
|
|||||||
|
|
||||||
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo)
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo)
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(context).enqueue(request)
|
WorkManager.getInstance(context).enqueue(request)
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
package com.idormy.sms.forwarder.server.controller
|
package com.idormy.sms.forwarder.server.controller
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import com.idormy.sms.forwarder.utils.Log
|
|
||||||
import com.idormy.sms.forwarder.entity.LocationInfo
|
import com.idormy.sms.forwarder.entity.LocationInfo
|
||||||
import com.idormy.sms.forwarder.server.model.BaseRequest
|
import com.idormy.sms.forwarder.server.model.BaseRequest
|
||||||
import com.idormy.sms.forwarder.server.model.EmptyData
|
import com.idormy.sms.forwarder.server.model.EmptyData
|
||||||
import com.idormy.sms.forwarder.utils.HttpServerUtils
|
import com.idormy.sms.forwarder.utils.HttpServerUtils
|
||||||
import com.yanzhenjie.andserver.annotation.*
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
import java.util.*
|
import com.yanzhenjie.andserver.annotation.CrossOrigin
|
||||||
|
import com.yanzhenjie.andserver.annotation.PostMapping
|
||||||
|
import com.yanzhenjie.andserver.annotation.RequestBody
|
||||||
|
import com.yanzhenjie.andserver.annotation.RequestMapping
|
||||||
|
import com.yanzhenjie.andserver.annotation.RequestMethod
|
||||||
|
import com.yanzhenjie.andserver.annotation.RestController
|
||||||
|
|
||||||
@SuppressLint("SimpleDateFormat")
|
@SuppressLint("SimpleDateFormat")
|
||||||
@Suppress("PrivatePropertyName")
|
@Suppress("PrivatePropertyName")
|
||||||
|
@ -203,7 +203,7 @@ class LocationService : Service() {
|
|||||||
) {
|
) {
|
||||||
val locationWorkerRequest = OneTimeWorkRequestBuilder<LocationWorker>().setInputData(
|
val locationWorkerRequest = OneTimeWorkRequestBuilder<LocationWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
TaskWorker.conditionType to conditionType, "locationJsonOld" to locationJsonOld, "locationJsonNew" to locationJsonNew
|
TaskWorker.CONDITION_TYPE to conditionType, "locationJsonOld" to locationJsonOld, "locationJsonNew" to locationJsonNew
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ import com.idormy.sms.forwarder.utils.Worker
|
|||||||
import com.idormy.sms.forwarder.workers.SendWorker
|
import com.idormy.sms.forwarder.workers.SendWorker
|
||||||
import com.xuexiang.xrouter.utils.TextUtils
|
import com.xuexiang.xrouter.utils.TextUtils
|
||||||
import com.xuexiang.xutil.display.ScreenUtils
|
import com.xuexiang.xutil.display.ScreenUtils
|
||||||
import java.util.*
|
import java.util.Date
|
||||||
|
|
||||||
|
|
||||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||||
@ -146,7 +146,7 @@ class NotificationService : NotificationListenerService() {
|
|||||||
|
|
||||||
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo),
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo),
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(applicationContext).enqueue(request)
|
WorkManager.getInstance(applicationContext).enqueue(request)
|
||||||
|
@ -1,25 +1,22 @@
|
|||||||
package com.idormy.sms.forwarder.utils
|
package com.idormy.sms.forwarder.utils
|
||||||
|
|
||||||
object Worker {
|
object Worker {
|
||||||
const val sendMsgInfo = "send_msg_info"
|
const val SEND_MSG_INFO = "send_msg_info"
|
||||||
const val updateLogs = "update_logs"
|
const val UPDATE_LOGS = "update_logs"
|
||||||
const val rule = "rule"
|
const val RULE = "rule"
|
||||||
const val senderIndex = "sender_index"
|
const val SENDER_INDEX = "sender_index"
|
||||||
const val msgId = "msg_id"
|
const val MSG_ID = "msg_id"
|
||||||
//const val ruleId = "rule_id"
|
|
||||||
//const val sendLogId = "send_log_id"
|
|
||||||
//const val sendSbnId = "send_sbn_id"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
object TaskWorker {
|
object TaskWorker {
|
||||||
const val taskId = "task_id"
|
const val TASK_ID = "task_id"
|
||||||
const val task = "task"
|
const val TASK = "task"
|
||||||
const val taskConditions = "task_conditions"
|
const val TASK_CONDITIONS = "task_conditions"
|
||||||
const val taskActions = "task_actions"
|
const val TASK_ACTIONS = "task_actions"
|
||||||
const val conditionType = "condition_type"
|
const val CONDITION_TYPE = "condition_type"
|
||||||
const val msg = "msg"
|
const val MSG = "msg"
|
||||||
const val msgInfo = "msg_info"
|
const val MSG_INFO = "msg_info"
|
||||||
const val action = "action"
|
const val ACTION = "action"
|
||||||
}
|
}
|
||||||
|
|
||||||
//初始化相关
|
//初始化相关
|
||||||
|
@ -13,7 +13,7 @@ import javax.crypto.Cipher
|
|||||||
*/
|
*/
|
||||||
object RSACrypt {
|
object RSACrypt {
|
||||||
|
|
||||||
private const val transformation = "RSA"
|
private const val TRANSFORMATION = "RSA"
|
||||||
private const val ENCRYPT_MAX_SIZE = 245
|
private const val ENCRYPT_MAX_SIZE = 245
|
||||||
private const val DECRYPT_MAX_SIZE = 256
|
private const val DECRYPT_MAX_SIZE = 256
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ object RSACrypt {
|
|||||||
fun encryptByPrivateKey(input: String, privateKey: PrivateKey): String {
|
fun encryptByPrivateKey(input: String, privateKey: PrivateKey): String {
|
||||||
|
|
||||||
//创建cipher对象
|
//创建cipher对象
|
||||||
val cipher = Cipher.getInstance(transformation)
|
val cipher = Cipher.getInstance(TRANSFORMATION)
|
||||||
//初始化cipher
|
//初始化cipher
|
||||||
cipher.init(Cipher.ENCRYPT_MODE, privateKey)
|
cipher.init(Cipher.ENCRYPT_MODE, privateKey)
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ object RSACrypt {
|
|||||||
fun encryptByPublicKey(input: String, publicKey: PublicKey): String {
|
fun encryptByPublicKey(input: String, publicKey: PublicKey): String {
|
||||||
|
|
||||||
//创建cipher对象
|
//创建cipher对象
|
||||||
val cipher = Cipher.getInstance(transformation)
|
val cipher = Cipher.getInstance(TRANSFORMATION)
|
||||||
//初始化cipher
|
//初始化cipher
|
||||||
cipher.init(Cipher.ENCRYPT_MODE, publicKey)
|
cipher.init(Cipher.ENCRYPT_MODE, publicKey)
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ object RSACrypt {
|
|||||||
fun decryptByPrivateKey(input: String, privateKey: PrivateKey): String {
|
fun decryptByPrivateKey(input: String, privateKey: PrivateKey): String {
|
||||||
|
|
||||||
//创建cipher对象
|
//创建cipher对象
|
||||||
val cipher = Cipher.getInstance(transformation)
|
val cipher = Cipher.getInstance(TRANSFORMATION)
|
||||||
//初始化cipher
|
//初始化cipher
|
||||||
cipher.init(Cipher.DECRYPT_MODE, privateKey)
|
cipher.init(Cipher.DECRYPT_MODE, privateKey)
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ object RSACrypt {
|
|||||||
fun decryptByPublicKey(input: String, publicKey: PublicKey): String {
|
fun decryptByPublicKey(input: String, publicKey: PublicKey): String {
|
||||||
|
|
||||||
//创建cipher对象
|
//创建cipher对象
|
||||||
val cipher = Cipher.getInstance(transformation)
|
val cipher = Cipher.getInstance(TRANSFORMATION)
|
||||||
//初始化cipher
|
//初始化cipher
|
||||||
cipher.init(Cipher.DECRYPT_MODE, publicKey)
|
cipher.init(Cipher.DECRYPT_MODE, publicKey)
|
||||||
|
|
||||||
|
@ -11,8 +11,38 @@ import com.idormy.sms.forwarder.database.entity.MsgAndLogs
|
|||||||
import com.idormy.sms.forwarder.database.entity.Rule
|
import com.idormy.sms.forwarder.database.entity.Rule
|
||||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||||
import com.idormy.sms.forwarder.entity.result.SendResponse
|
import com.idormy.sms.forwarder.entity.result.SendResponse
|
||||||
import com.idormy.sms.forwarder.entity.setting.*
|
import com.idormy.sms.forwarder.entity.setting.BarkSetting
|
||||||
import com.idormy.sms.forwarder.utils.sender.*
|
import com.idormy.sms.forwarder.entity.setting.DingtalkGroupRobotSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.DingtalkInnerRobotSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.EmailSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.FeishuAppSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.FeishuSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.GotifySetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.PushplusSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.ServerchanSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.SmsSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.SocketSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.TelegramSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.UrlSchemeSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.WebhookSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.WeworkAgentSetting
|
||||||
|
import com.idormy.sms.forwarder.entity.setting.WeworkRobotSetting
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.BarkUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.DingtalkGroupRobotUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.DingtalkInnerRobotUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.EmailUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.FeishuAppUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.FeishuUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.GotifyUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.PushplusUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.ServerchanUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.SmsUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.SocketUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.TelegramUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.UrlSchemeUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.WebhookUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.WeworkAgentUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.sender.WeworkRobotUtils
|
||||||
import com.idormy.sms.forwarder.workers.SendLogicWorker
|
import com.idormy.sms.forwarder.workers.SendLogicWorker
|
||||||
import com.idormy.sms.forwarder.workers.SendWorker
|
import com.idormy.sms.forwarder.workers.SendWorker
|
||||||
import com.idormy.sms.forwarder.workers.UpdateLogsWorker
|
import com.idormy.sms.forwarder.workers.UpdateLogsWorker
|
||||||
@ -34,7 +64,7 @@ object SendUtils {
|
|||||||
|
|
||||||
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo)
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo)
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
@ -201,11 +231,11 @@ object SendUtils {
|
|||||||
if (senderIndex < rule.senderList.count() - 1 && (rule.senderLogic == SENDER_LOGIC_ALL || (status == 2 && rule.senderLogic == SENDER_LOGIC_UNTIL_FAIL) || (status == 0 && rule.senderLogic == SENDER_LOGIC_UNTIL_SUCCESS))) {
|
if (senderIndex < rule.senderList.count() - 1 && (rule.senderLogic == SENDER_LOGIC_ALL || (status == 2 && rule.senderLogic == SENDER_LOGIC_UNTIL_FAIL) || (status == 0 && rule.senderLogic == SENDER_LOGIC_UNTIL_SUCCESS))) {
|
||||||
val request = OneTimeWorkRequestBuilder<SendLogicWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<SendLogicWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.sendMsgInfo to Gson().toJson(msgInfo),
|
Worker.SEND_MSG_INFO to Gson().toJson(msgInfo),
|
||||||
//Worker.ruleId to rule.id,
|
//Worker.ruleId to rule.id,
|
||||||
Worker.rule to Gson().toJson(rule),
|
Worker.RULE to Gson().toJson(rule),
|
||||||
Worker.senderIndex to senderIndex + 1,
|
Worker.SENDER_INDEX to senderIndex + 1,
|
||||||
Worker.msgId to msgId,
|
Worker.MSG_ID to msgId,
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
@ -231,7 +261,7 @@ object SendUtils {
|
|||||||
val sendResponse = SendResponse(logId, status, response)
|
val sendResponse = SendResponse(logId, status, response)
|
||||||
val request = OneTimeWorkRequestBuilder<UpdateLogsWorker>().setInputData(
|
val request = OneTimeWorkRequestBuilder<UpdateLogsWorker>().setInputData(
|
||||||
workDataOf(
|
workDataOf(
|
||||||
Worker.updateLogs to Gson().toJson(sendResponse)
|
Worker.UPDATE_LOGS to Gson().toJson(sendResponse)
|
||||||
)
|
)
|
||||||
).build()
|
).build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
|
@ -20,7 +20,7 @@ class CronJobScheduler {
|
|||||||
fun scheduleTask(task: Task) {
|
fun scheduleTask(task: Task) {
|
||||||
val currentTimeMillis = System.currentTimeMillis()
|
val currentTimeMillis = System.currentTimeMillis()
|
||||||
val delayInMillis = task.nextExecTime.time / 1000 * 1000 - currentTimeMillis
|
val delayInMillis = task.nextExecTime.time / 1000 * 1000 - currentTimeMillis
|
||||||
val inputData = Data.Builder().putLong(TaskWorker.taskId, task.id).build()
|
val inputData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).build()
|
||||||
val taskRequest = if (delayInMillis <= 0L) {
|
val taskRequest = if (delayInMillis <= 0L) {
|
||||||
Log.d(TAG, "TASK-${task.id}:立即执行,delayInMillis = $delayInMillis")
|
Log.d(TAG, "TASK-${task.id}:立即执行,delayInMillis = $delayInMillis")
|
||||||
OneTimeWorkRequestBuilder<CronWorker>()
|
OneTimeWorkRequestBuilder<CronWorker>()
|
||||||
|
@ -68,10 +68,10 @@ class ActionWorker(context: Context, params: WorkerParameters) : CoroutineWorker
|
|||||||
private var taskId = -1L
|
private var taskId = -1L
|
||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
taskId = inputData.getLong(TaskWorker.taskId, -1L)
|
taskId = inputData.getLong(TaskWorker.TASK_ID, -1L)
|
||||||
val taskConditionsJson = inputData.getString(TaskWorker.taskConditions)
|
val taskConditionsJson = inputData.getString(TaskWorker.TASK_CONDITIONS)
|
||||||
val taskActionsJson = inputData.getString(TaskWorker.taskActions)
|
val taskActionsJson = inputData.getString(TaskWorker.TASK_ACTIONS)
|
||||||
val msgInfoJson = inputData.getString(TaskWorker.msgInfo)
|
val msgInfoJson = inputData.getString(TaskWorker.MSG_INFO)
|
||||||
Log.d(TAG, "taskId: $taskId, taskActionsJson: $taskActionsJson, msgInfoJson: $msgInfoJson")
|
Log.d(TAG, "taskId: $taskId, taskActionsJson: $taskActionsJson, msgInfoJson: $msgInfoJson")
|
||||||
if (taskId == -1L || taskActionsJson.isNullOrEmpty() || msgInfoJson.isNullOrEmpty()) {
|
if (taskId == -1L || taskActionsJson.isNullOrEmpty() || msgInfoJson.isNullOrEmpty()) {
|
||||||
Log.d(TAG, "taskId is -1L or actionSetting is null")
|
Log.d(TAG, "taskId is -1L or actionSetting is null")
|
||||||
|
@ -27,7 +27,7 @@ class BatteryWorker(context: Context, params: WorkerParameters) : CoroutineWorke
|
|||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
try {
|
try {
|
||||||
when (val conditionType = inputData.getInt(TaskWorker.conditionType, -1)) {
|
when (val conditionType = inputData.getInt(TaskWorker.CONDITION_TYPE, -1)) {
|
||||||
|
|
||||||
TASK_CONDITION_BATTERY -> {
|
TASK_CONDITION_BATTERY -> {
|
||||||
val status = inputData.getInt("status", -1)
|
val status = inputData.getInt("status", -1)
|
||||||
@ -72,9 +72,9 @@ class BatteryWorker(context: Context, params: WorkerParameters) : CoroutineWorke
|
|||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, msg, Date(), task.name)
|
val msgInfo = MsgInfo("task", task.name, msg, Date(), task.name)
|
||||||
val actionData = Data.Builder()
|
val actionData = Data.Builder()
|
||||||
.putLong(TaskWorker.taskId, task.id)
|
.putLong(TaskWorker.TASK_ID, task.id)
|
||||||
.putString(TaskWorker.taskActions, task.actions)
|
.putString(TaskWorker.TASK_ACTIONS, task.actions)
|
||||||
.putString(TaskWorker.msgInfo, Gson().toJson(msgInfo))
|
.putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo))
|
||||||
.build()
|
.build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
@ -131,9 +131,9 @@ class BatteryWorker(context: Context, params: WorkerParameters) : CoroutineWorke
|
|||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, msg, Date(), task.description)
|
val msgInfo = MsgInfo("task", task.name, msg, Date(), task.description)
|
||||||
val actionData = Data.Builder()
|
val actionData = Data.Builder()
|
||||||
.putLong(TaskWorker.taskId, task.id)
|
.putLong(TaskWorker.TASK_ID, task.id)
|
||||||
.putString(TaskWorker.taskActions, task.actions)
|
.putString(TaskWorker.TASK_ACTIONS, task.actions)
|
||||||
.putString(TaskWorker.msgInfo, Gson().toJson(msgInfo))
|
.putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo))
|
||||||
.build()
|
.build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
|
@ -25,7 +25,7 @@ class CronWorker(context: Context, params: WorkerParameters) : CoroutineWorker(c
|
|||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
try {
|
try {
|
||||||
val taskId = inputData.getLong(TaskWorker.taskId, -1L)
|
val taskId = inputData.getLong(TaskWorker.TASK_ID, -1L)
|
||||||
if (taskId == -1L) {
|
if (taskId == -1L) {
|
||||||
Log.d(TAG, "taskId is -1L")
|
Log.d(TAG, "taskId is -1L")
|
||||||
return Result.failure()
|
return Result.failure()
|
||||||
@ -85,7 +85,7 @@ class CronWorker(context: Context, params: WorkerParameters) : CoroutineWorker(c
|
|||||||
|
|
||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, task.description, Date(), task.name)
|
val msgInfo = MsgInfo("task", task.name, task.description, Date(), task.name)
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, task.id).putString(TaskWorker.taskActions, task.actions).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).putString(TaskWorker.TASK_ACTIONS, task.actions).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ class LocationWorker(context: Context, params: WorkerParameters) : CoroutineWork
|
|||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
try {
|
try {
|
||||||
val conditionType = inputData.getInt(TaskWorker.conditionType, -1)
|
val conditionType = inputData.getInt(TaskWorker.CONDITION_TYPE, -1)
|
||||||
val locationJsonOld = inputData.getString("locationJsonOld")
|
val locationJsonOld = inputData.getString("locationJsonOld")
|
||||||
val locationJsonNew = inputData.getString("locationJsonNew")
|
val locationJsonNew = inputData.getString("locationJsonNew")
|
||||||
Log.d(TAG, "conditionType = $conditionType, locationJsonOld = $locationJsonOld, locationJsonNew = $locationJsonNew")
|
Log.d(TAG, "conditionType = $conditionType, locationJsonOld = $locationJsonOld, locationJsonNew = $locationJsonNew")
|
||||||
@ -103,7 +103,7 @@ class LocationWorker(context: Context, params: WorkerParameters) : CoroutineWork
|
|||||||
|
|
||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, locationNew.toString(), Date(), description)
|
val msgInfo = MsgInfo("task", task.name, locationNew.toString(), Date(), description)
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, task.id).putString(TaskWorker.taskActions, task.actions).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).putString(TaskWorker.TASK_ACTIONS, task.actions).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ class LocationWorker(context: Context, params: WorkerParameters) : CoroutineWork
|
|||||||
|
|
||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, locationNew.toString(), Date(), description)
|
val msgInfo = MsgInfo("task", task.name, locationNew.toString(), Date(), description)
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, task.id).putString(TaskWorker.taskActions, task.actions).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).putString(TaskWorker.TASK_ACTIONS, task.actions).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,8 @@ class LockScreenWorker(context: Context, params: WorkerParameters) : CoroutineWo
|
|||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
try {
|
try {
|
||||||
val conditionType = inputData.getInt(TaskWorker.conditionType, -1)
|
val conditionType = inputData.getInt(TaskWorker.CONDITION_TYPE, -1)
|
||||||
val action = inputData.getString(TaskWorker.action)
|
val action = inputData.getString(TaskWorker.ACTION)
|
||||||
|
|
||||||
val taskList = Core.task.getByType(conditionType)
|
val taskList = Core.task.getByType(conditionType)
|
||||||
for (task in taskList) {
|
for (task in taskList) {
|
||||||
@ -71,10 +71,10 @@ class LockScreenWorker(context: Context, params: WorkerParameters) : CoroutineWo
|
|||||||
Log.d(TAG, "TASK-${task.id}:duration = $duration milliseconds")
|
Log.d(TAG, "TASK-${task.id}:duration = $duration milliseconds")
|
||||||
val msgInfo = MsgInfo("task", task.name, lockScreenSetting.description, Date(), task.description)
|
val msgInfo = MsgInfo("task", task.name, lockScreenSetting.description, Date(), task.description)
|
||||||
val actionData = Data.Builder()
|
val actionData = Data.Builder()
|
||||||
.putLong(TaskWorker.taskId, task.id)
|
.putLong(TaskWorker.TASK_ID, task.id)
|
||||||
.putString(TaskWorker.taskConditions, if (lockScreenSetting.checkAgain && duration > 0) task.conditions else "")
|
.putString(TaskWorker.TASK_CONDITIONS, if (lockScreenSetting.checkAgain && duration > 0) task.conditions else "")
|
||||||
.putString(TaskWorker.taskActions, task.actions)
|
.putString(TaskWorker.TASK_ACTIONS, task.actions)
|
||||||
.putString(TaskWorker.msgInfo, Gson().toJson(msgInfo))
|
.putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo))
|
||||||
.build()
|
.build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>()
|
||||||
.setInitialDelay(duration, TimeUnit.MILLISECONDS) //TODO: 延迟时间不够精确
|
.setInitialDelay(duration, TimeUnit.MILLISECONDS) //TODO: 延迟时间不够精确
|
||||||
|
@ -40,7 +40,7 @@ class NetworkWorker(context: Context, params: WorkerParameters) : CoroutineWorke
|
|||||||
TaskUtils.ipv6 = if (ipv6Pattern.matches(ipv6)) ipv6 else ""
|
TaskUtils.ipv6 = if (ipv6Pattern.matches(ipv6)) ipv6 else ""
|
||||||
Log.d(TAG, "ipv4 = $ipv4, ipv6 = $ipv6")
|
Log.d(TAG, "ipv4 = $ipv4, ipv6 = $ipv6")
|
||||||
|
|
||||||
val conditionType = inputData.getInt(TaskWorker.conditionType, -1)
|
val conditionType = inputData.getInt(TaskWorker.CONDITION_TYPE, -1)
|
||||||
val taskList = Core.task.getByType(conditionType)
|
val taskList = Core.task.getByType(conditionType)
|
||||||
for (task in taskList) {
|
for (task in taskList) {
|
||||||
Log.d(TAG, "task = $task")
|
Log.d(TAG, "task = $task")
|
||||||
@ -131,7 +131,7 @@ class NetworkWorker(context: Context, params: WorkerParameters) : CoroutineWorke
|
|||||||
|
|
||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, msg.toString().trimEnd(), Date(), task.description)
|
val msgInfo = MsgInfo("task", task.name, msg.toString().trimEnd(), Date(), task.description)
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, task.id).putString(TaskWorker.taskActions, task.actions).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).putString(TaskWorker.TASK_ACTIONS, task.actions).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
}
|
}
|
||||||
|
@ -20,12 +20,12 @@ class SendLogicWorker(
|
|||||||
) : CoroutineWorker(context, workerParams) {
|
) : CoroutineWorker(context, workerParams) {
|
||||||
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
||||||
|
|
||||||
val msgInfoJson = inputData.getString(Worker.sendMsgInfo)
|
val msgInfoJson = inputData.getString(Worker.SEND_MSG_INFO)
|
||||||
val msgInfo = Gson().fromJson(msgInfoJson, MsgInfo::class.java) ?: return@withContext Result.failure()
|
val msgInfo = Gson().fromJson(msgInfoJson, MsgInfo::class.java) ?: return@withContext Result.failure()
|
||||||
//val ruleId = inputData.getLong(Worker.ruleId, 0L)
|
//val ruleId = inputData.getLong(Worker.ruleId, 0L)
|
||||||
val ruleJson = inputData.getString(Worker.rule)
|
val ruleJson = inputData.getString(Worker.RULE)
|
||||||
val senderIndex = inputData.getInt(Worker.senderIndex, 0)
|
val senderIndex = inputData.getInt(Worker.SENDER_INDEX, 0)
|
||||||
val msgId = inputData.getLong(Worker.msgId, 0L)
|
val msgId = inputData.getLong(Worker.MSG_ID, 0L)
|
||||||
Log.d("SendLogicWorker", "msgInfoJson: $msgInfoJson, ruleJson: $ruleJson, senderIndex: $senderIndex, msgId: $msgId")
|
Log.d("SendLogicWorker", "msgInfoJson: $msgInfoJson, ruleJson: $ruleJson, senderIndex: $senderIndex, msgId: $msgId")
|
||||||
|
|
||||||
val rule = Gson().fromJson(ruleJson, Rule::class.java) ?: return@withContext Result.failure()
|
val rule = Gson().fromJson(ruleJson, Rule::class.java) ?: return@withContext Result.failure()
|
||||||
|
@ -12,14 +12,20 @@ import com.idormy.sms.forwarder.database.entity.Logs
|
|||||||
import com.idormy.sms.forwarder.database.entity.Msg
|
import com.idormy.sms.forwarder.database.entity.Msg
|
||||||
import com.idormy.sms.forwarder.database.entity.Rule
|
import com.idormy.sms.forwarder.database.entity.Rule
|
||||||
import com.idormy.sms.forwarder.entity.MsgInfo
|
import com.idormy.sms.forwarder.entity.MsgInfo
|
||||||
import com.idormy.sms.forwarder.utils.*
|
import com.idormy.sms.forwarder.utils.DataProvider
|
||||||
|
import com.idormy.sms.forwarder.utils.HistoryUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.Log
|
||||||
|
import com.idormy.sms.forwarder.utils.SendUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||||
|
import com.idormy.sms.forwarder.utils.Worker
|
||||||
import com.xuexiang.xutil.resource.ResUtils
|
import com.xuexiang.xutil.resource.ResUtils
|
||||||
import com.xuexiang.xutil.security.CipherUtils
|
import com.xuexiang.xutil.security.CipherUtils
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import java.text.ParsePosition
|
import java.text.ParsePosition
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.*
|
import java.util.Calendar
|
||||||
|
import java.util.Date
|
||||||
|
|
||||||
class SendWorker(
|
class SendWorker(
|
||||||
context: Context,
|
context: Context,
|
||||||
@ -64,7 +70,7 @@ class SendWorker(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val msgInfoJson = inputData.getString(Worker.sendMsgInfo)
|
val msgInfoJson = inputData.getString(Worker.SEND_MSG_INFO)
|
||||||
val msgInfo = Gson().fromJson(msgInfoJson, MsgInfo::class.java)
|
val msgInfo = Gson().fromJson(msgInfoJson, MsgInfo::class.java)
|
||||||
|
|
||||||
// 过滤重复消息机制
|
// 过滤重复消息机制
|
||||||
|
@ -29,8 +29,8 @@ class SimWorker(context: Context, params: WorkerParameters) : CoroutineWorker(co
|
|||||||
|
|
||||||
override suspend fun doWork(): Result {
|
override suspend fun doWork(): Result {
|
||||||
try {
|
try {
|
||||||
val conditionType = inputData.getInt(TaskWorker.conditionType, -1)
|
val conditionType = inputData.getInt(TaskWorker.CONDITION_TYPE, -1)
|
||||||
val simStateStr = inputData.getString(TaskWorker.msg)
|
val simStateStr = inputData.getString(TaskWorker.MSG)
|
||||||
val taskList = Core.task.getByType(conditionType)
|
val taskList = Core.task.getByType(conditionType)
|
||||||
for (task in taskList) {
|
for (task in taskList) {
|
||||||
Log.d(TAG, "task = $task")
|
Log.d(TAG, "task = $task")
|
||||||
@ -83,7 +83,7 @@ class SimWorker(context: Context, params: WorkerParameters) : CoroutineWorker(co
|
|||||||
|
|
||||||
//TODO: 组装消息体 && 执行具体任务
|
//TODO: 组装消息体 && 执行具体任务
|
||||||
val msgInfo = MsgInfo("task", task.name, msg.toString().trimEnd(), Date(), task.description)
|
val msgInfo = MsgInfo("task", task.name, msg.toString().trimEnd(), Date(), task.description)
|
||||||
val actionData = Data.Builder().putLong(TaskWorker.taskId, task.id).putString(TaskWorker.taskActions, task.actions).putString(TaskWorker.msgInfo, Gson().toJson(msgInfo)).build()
|
val actionData = Data.Builder().putLong(TaskWorker.TASK_ID, task.id).putString(TaskWorker.TASK_ACTIONS, task.actions).putString(TaskWorker.MSG_INFO, Gson().toJson(msgInfo)).build()
|
||||||
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
val actionRequest = OneTimeWorkRequestBuilder<ActionWorker>().setInputData(actionData).build()
|
||||||
WorkManager.getInstance().enqueue(actionRequest)
|
WorkManager.getInstance().enqueue(actionRequest)
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ class UpdateLogsWorker(
|
|||||||
) : CoroutineWorker(context, workerParams) {
|
) : CoroutineWorker(context, workerParams) {
|
||||||
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
||||||
try {
|
try {
|
||||||
val sendResponseJson = inputData.getString(Worker.updateLogs)
|
val sendResponseJson = inputData.getString(Worker.UPDATE_LOGS)
|
||||||
Log.d("UpdateLogsWorker", "UpdateLogsWorker sendResponseJson: $sendResponseJson")
|
Log.d("UpdateLogsWorker", "UpdateLogsWorker sendResponseJson: $sendResponseJson")
|
||||||
val sendResponse = Gson().fromJson(sendResponseJson, SendResponse::class.java)
|
val sendResponse = Gson().fromJson(sendResponseJson, SendResponse::class.java)
|
||||||
if (sendResponse.logId == 0L) {
|
if (sendResponse.logId == 0L) {
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
<string name="menu_about">关于软件</string>
|
<string name="menu_about">关于软件</string>
|
||||||
|
|
||||||
<string name="about_app_version">软件版本:%s</string>
|
<string name="about_app_version">软件版本:%s</string>
|
||||||
<string name="about_app_version_tips" formatted="false">版本名称:%s\n版本代码:%s\n构建时间:%s\nGit提交ID:%s</string>
|
<string name="about_app_version_tips" formatted="false">版本名称:%s\n版本代码:%s\n构建时间:%s\nGit提交ID:%s</string>
|
||||||
<string name="about_cache_size">缓存大小:%s</string>
|
<string name="about_cache_size">缓存大小:%s</string>
|
||||||
<string name="about_frpc_version">Frpc版本:%s</string>
|
<string name="about_frpc_version">Frpc版本:%s</string>
|
||||||
<string name="about_item_wechat_miniprogram" formatted="false">微信小程序</string>
|
<string name="about_item_wechat_miniprogram" formatted="false">微信小程序</string>
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
<string name="menu_about">关于软件</string>
|
<string name="menu_about">关于软件</string>
|
||||||
|
|
||||||
<string name="about_app_version">软件版本:%s</string>
|
<string name="about_app_version">软件版本:%s</string>
|
||||||
<string name="about_app_version_tips" formatted="false">版本名称:%s\n版本代码:%s\n构建时间:%s\nGit提交ID:%s</string>
|
<string name="about_app_version_tips" formatted="false">版本名称:%s\n版本代码:%s\n构建时间:%s\nGit提交ID:%s</string>
|
||||||
<string name="about_cache_size">缓存大小:%s</string>
|
<string name="about_cache_size">缓存大小:%s</string>
|
||||||
<string name="about_frpc_version">Frpc版本:%s</string>
|
<string name="about_frpc_version">Frpc版本:%s</string>
|
||||||
<string name="about_item_wechat_miniprogram" formatted="false">微信小程序</string>
|
<string name="about_item_wechat_miniprogram" formatted="false">微信小程序</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user