mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
新增:自动任务·快捷指令 (开发中)
This commit is contained in:
parent
22df7592f7
commit
b94a25c09d
@ -46,6 +46,7 @@ import com.xuexiang.xui.adapter.recyclerview.RecyclerViewHolder
|
|||||||
import com.xuexiang.xui.utils.DensityUtils
|
import com.xuexiang.xui.utils.DensityUtils
|
||||||
import com.xuexiang.xui.utils.ResUtils
|
import com.xuexiang.xui.utils.ResUtils
|
||||||
import com.xuexiang.xui.utils.WidgetUtils
|
import com.xuexiang.xui.utils.WidgetUtils
|
||||||
|
import com.xuexiang.xui.widget.alpha.XUIAlphaTextView
|
||||||
import com.xuexiang.xui.widget.dialog.materialdialog.DialogAction
|
import com.xuexiang.xui.widget.dialog.materialdialog.DialogAction
|
||||||
import com.xuexiang.xui.widget.dialog.materialdialog.GravityEnum
|
import com.xuexiang.xui.widget.dialog.materialdialog.GravityEnum
|
||||||
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
|
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
|
||||||
@ -329,6 +330,9 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
|
|||||||
widgetItemAdapter.setOnItemClickListener(this)
|
widgetItemAdapter.setOnItemClickListener(this)
|
||||||
recyclerView.adapter = widgetItemAdapter
|
recyclerView.adapter = widgetItemAdapter
|
||||||
|
|
||||||
|
val bottomSheetCloseButton: XUIAlphaTextView = view.findViewById(R.id.bottom_sheet_close_button)
|
||||||
|
bottomSheetCloseButton.setOnClickListener { dialog.dismiss() }
|
||||||
|
|
||||||
dialog.setContentView(view)
|
dialog.setContentView(view)
|
||||||
dialog.setCancelable(true)
|
dialog.setCancelable(true)
|
||||||
dialog.setCanceledOnTouchOutside(true)
|
dialog.setCanceledOnTouchOutside(true)
|
||||||
|
@ -6,15 +6,7 @@ import androidx.room.Entity
|
|||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
import com.idormy.sms.forwarder.R
|
import com.idormy.sms.forwarder.R
|
||||||
import com.idormy.sms.forwarder.utils.STATUS_OFF
|
import com.idormy.sms.forwarder.utils.STATUS_OFF
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_FRPC
|
import com.idormy.sms.forwarder.utils.task.TaskUtils
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_HTTPSERVER
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_NOTIFICATION
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_SENDSMS
|
|
||||||
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_CRON
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_NETWORK
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_SIM
|
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
@ -33,32 +25,10 @@ data class Task(
|
|||||||
) : Parcelable {
|
) : Parcelable {
|
||||||
|
|
||||||
val imageId: Int
|
val imageId: Int
|
||||||
get() = when (type) {
|
get() = TaskUtils.getTypeImageId(type)
|
||||||
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time
|
|
||||||
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery
|
|
||||||
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge
|
|
||||||
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network
|
|
||||||
TASK_CONDITION_SIM -> R.drawable.auto_task_icon_sim
|
|
||||||
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms
|
|
||||||
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender
|
|
||||||
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc
|
|
||||||
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server
|
|
||||||
else -> R.drawable.auto_task_icon_custom_time
|
|
||||||
}
|
|
||||||
|
|
||||||
val greyImageId: Int
|
val greyImageId: Int
|
||||||
get() = when (type) {
|
get() = TaskUtils.getTypeGreyImageId(type)
|
||||||
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time_grey
|
|
||||||
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery_grey
|
|
||||||
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge_grey
|
|
||||||
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network_grey
|
|
||||||
TASK_CONDITION_SIM -> R.drawable.auto_task_icon_sim_grey
|
|
||||||
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms_grey
|
|
||||||
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender_grey
|
|
||||||
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc_grey
|
|
||||||
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server_grey
|
|
||||||
else -> R.drawable.auto_task_icon_custom_time_grey
|
|
||||||
}
|
|
||||||
|
|
||||||
val statusImageId: Int
|
val statusImageId: Int
|
||||||
get() = when (status) {
|
get() = when (status) {
|
||||||
|
@ -1,14 +1,6 @@
|
|||||||
package com.idormy.sms.forwarder.entity.task
|
package com.idormy.sms.forwarder.entity.task
|
||||||
|
|
||||||
import com.idormy.sms.forwarder.R
|
import com.idormy.sms.forwarder.utils.task.TaskUtils
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_FRPC
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_HTTPSERVER
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_NOTIFICATION
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_ACTION_SENDSMS
|
|
||||||
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_CRON
|
|
||||||
import com.idormy.sms.forwarder.utils.TASK_CONDITION_NETWORK
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class TaskSetting(
|
data class TaskSetting(
|
||||||
@ -20,28 +12,8 @@ data class TaskSetting(
|
|||||||
) : Serializable {
|
) : Serializable {
|
||||||
|
|
||||||
val iconId: Int
|
val iconId: Int
|
||||||
get() = when (type) {
|
get() = TaskUtils.getTypeImageId(type)
|
||||||
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time
|
|
||||||
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery
|
|
||||||
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge
|
|
||||||
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network
|
|
||||||
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms
|
|
||||||
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender
|
|
||||||
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc
|
|
||||||
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server
|
|
||||||
else -> R.drawable.auto_task_icon_sms
|
|
||||||
}
|
|
||||||
|
|
||||||
val greyIconId: Int
|
val greyIconId: Int
|
||||||
get() = when (type) {
|
get() = TaskUtils.getTypeGreyImageId(type)
|
||||||
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time_grey
|
|
||||||
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery_grey
|
|
||||||
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge_grey
|
|
||||||
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network_grey
|
|
||||||
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms_grey
|
|
||||||
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender_grey
|
|
||||||
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc_grey
|
|
||||||
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server_grey
|
|
||||||
else -> R.drawable.auto_task_icon_sms_grey
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ import com.xuexiang.xui.adapter.recyclerview.RecyclerViewHolder
|
|||||||
import com.xuexiang.xui.utils.DensityUtils
|
import com.xuexiang.xui.utils.DensityUtils
|
||||||
import com.xuexiang.xui.utils.WidgetUtils
|
import com.xuexiang.xui.utils.WidgetUtils
|
||||||
import com.xuexiang.xui.widget.actionbar.TitleBar
|
import com.xuexiang.xui.widget.actionbar.TitleBar
|
||||||
|
import com.xuexiang.xui.widget.alpha.XUIAlphaTextView
|
||||||
import gatewayapps.crondroid.CronExpression
|
import gatewayapps.crondroid.CronExpression
|
||||||
import io.reactivex.SingleObserver
|
import io.reactivex.SingleObserver
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
@ -175,6 +176,9 @@ class TasksEditFragment : BaseFragment<FragmentTasksEditBinding?>(), View.OnClic
|
|||||||
widgetItemAdapter.setOnItemClickListener(that)
|
widgetItemAdapter.setOnItemClickListener(that)
|
||||||
recyclerView.adapter = widgetItemAdapter
|
recyclerView.adapter = widgetItemAdapter
|
||||||
|
|
||||||
|
val bottomSheetCloseButton: XUIAlphaTextView = view.findViewById(R.id.bottom_sheet_close_button)
|
||||||
|
bottomSheetCloseButton.setOnClickListener { dialog.dismiss() }
|
||||||
|
|
||||||
dialog.setContentView(view)
|
dialog.setContentView(view)
|
||||||
dialog.setCancelable(true)
|
dialog.setCancelable(true)
|
||||||
dialog.setCanceledOnTouchOutside(true)
|
dialog.setCanceledOnTouchOutside(true)
|
||||||
@ -191,6 +195,9 @@ class TasksEditFragment : BaseFragment<FragmentTasksEditBinding?>(), View.OnClic
|
|||||||
widgetItemAdapter.setOnItemClickListener(that)
|
widgetItemAdapter.setOnItemClickListener(that)
|
||||||
recyclerView.adapter = widgetItemAdapter
|
recyclerView.adapter = widgetItemAdapter
|
||||||
|
|
||||||
|
val bottomSheetCloseButton: XUIAlphaTextView = view.findViewById(R.id.bottom_sheet_close_button)
|
||||||
|
bottomSheetCloseButton.setOnClickListener { dialog.dismiss() }
|
||||||
|
|
||||||
dialog.setContentView(view)
|
dialog.setContentView(view)
|
||||||
dialog.setCancelable(true)
|
dialog.setCancelable(true)
|
||||||
dialog.setCanceledOnTouchOutside(true)
|
dialog.setCanceledOnTouchOutside(true)
|
||||||
|
@ -498,10 +498,13 @@ const val KEY_BACK_DESCRIPTION_ACTION = "back_description_action"
|
|||||||
|
|
||||||
//注意:TASK_CONDITION_XXX 枚举值 等于 TASK_CONDITION_FRAGMENT_LIST 索引加上 KEY_BACK_CODE_CONDITION,不可改变
|
//注意:TASK_CONDITION_XXX 枚举值 等于 TASK_CONDITION_FRAGMENT_LIST 索引加上 KEY_BACK_CODE_CONDITION,不可改变
|
||||||
const val TASK_CONDITION_CRON = 1000
|
const val TASK_CONDITION_CRON = 1000
|
||||||
const val TASK_CONDITION_BATTERY = 1001
|
const val TASK_CONDITION_TO_ADDRESS = 1001
|
||||||
const val TASK_CONDITION_CHARGE = 1002
|
const val TASK_CONDITION_LEAVE_ADDRESS = 1002
|
||||||
const val TASK_CONDITION_NETWORK = 1003
|
const val TASK_CONDITION_NETWORK = 1003
|
||||||
const val TASK_CONDITION_SIM = 1004
|
const val TASK_CONDITION_SIM = 1004
|
||||||
|
const val TASK_CONDITION_BATTERY = 1005
|
||||||
|
const val TASK_CONDITION_CHARGE = 1006
|
||||||
|
const val TASK_CONDITION_LOCK_SCREEN = 1007
|
||||||
var TASK_CONDITION_FRAGMENT_LIST = listOf(
|
var TASK_CONDITION_FRAGMENT_LIST = listOf(
|
||||||
PageInfo(
|
PageInfo(
|
||||||
getString(R.string.task_cron),
|
getString(R.string.task_cron),
|
||||||
@ -510,6 +513,34 @@ var TASK_CONDITION_FRAGMENT_LIST = listOf(
|
|||||||
CoreAnim.slide,
|
CoreAnim.slide,
|
||||||
R.drawable.auto_task_icon_custom_time,
|
R.drawable.auto_task_icon_custom_time,
|
||||||
),
|
),
|
||||||
|
PageInfo(
|
||||||
|
getString(R.string.to_address),
|
||||||
|
"com.idormy.sms.forwarder.fragment.condition.ToAddressFragment",
|
||||||
|
"{\"\":\"\"}",
|
||||||
|
CoreAnim.slide,
|
||||||
|
R.drawable.auto_task_icon_to_address,
|
||||||
|
),
|
||||||
|
PageInfo(
|
||||||
|
getString(R.string.leave_address),
|
||||||
|
"com.idormy.sms.forwarder.fragment.condition.LeaveAddressFragment",
|
||||||
|
"{\"\":\"\"}",
|
||||||
|
CoreAnim.slide,
|
||||||
|
R.drawable.auto_task_icon_leave_address,
|
||||||
|
),
|
||||||
|
PageInfo(
|
||||||
|
getString(R.string.task_network),
|
||||||
|
"com.idormy.sms.forwarder.fragment.condition.NetworkFragment",
|
||||||
|
"{\"\":\"\"}",
|
||||||
|
CoreAnim.slide,
|
||||||
|
R.drawable.auto_task_icon_network
|
||||||
|
),
|
||||||
|
PageInfo(
|
||||||
|
getString(R.string.task_sim),
|
||||||
|
"com.idormy.sms.forwarder.fragment.condition.SimFragment",
|
||||||
|
"{\"\":\"\"}",
|
||||||
|
CoreAnim.slide,
|
||||||
|
R.drawable.auto_task_icon_sim
|
||||||
|
),
|
||||||
PageInfo(
|
PageInfo(
|
||||||
getString(R.string.task_battery),
|
getString(R.string.task_battery),
|
||||||
"com.idormy.sms.forwarder.fragment.condition.BatteryFragment",
|
"com.idormy.sms.forwarder.fragment.condition.BatteryFragment",
|
||||||
@ -525,18 +556,11 @@ var TASK_CONDITION_FRAGMENT_LIST = listOf(
|
|||||||
R.drawable.auto_task_icon_charge
|
R.drawable.auto_task_icon_charge
|
||||||
),
|
),
|
||||||
PageInfo(
|
PageInfo(
|
||||||
getString(R.string.task_network),
|
getString(R.string.task_lock_screen),
|
||||||
"com.idormy.sms.forwarder.fragment.condition.NetworkFragment",
|
"com.idormy.sms.forwarder.fragment.condition.LockScreenFragment",
|
||||||
"{\"\":\"\"}",
|
"{\"\":\"\"}",
|
||||||
CoreAnim.slide,
|
CoreAnim.slide,
|
||||||
R.drawable.auto_task_icon_network
|
R.drawable.auto_task_icon_lock_screen
|
||||||
),
|
|
||||||
PageInfo(
|
|
||||||
getString(R.string.task_sim),
|
|
||||||
"com.idormy.sms.forwarder.fragment.condition.SimFragment",
|
|
||||||
"{\"\":\"\"}",
|
|
||||||
CoreAnim.slide,
|
|
||||||
R.drawable.auto_task_icon_sim
|
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.idormy.sms.forwarder.utils.task
|
package com.idormy.sms.forwarder.utils.task
|
||||||
|
|
||||||
import android.os.BatteryManager
|
import android.os.BatteryManager
|
||||||
|
import com.idormy.sms.forwarder.R
|
||||||
import com.idormy.sms.forwarder.utils.SP_BATTERY_INFO
|
import com.idormy.sms.forwarder.utils.SP_BATTERY_INFO
|
||||||
import com.idormy.sms.forwarder.utils.SP_BATTERY_LEVEL
|
import com.idormy.sms.forwarder.utils.SP_BATTERY_LEVEL
|
||||||
import com.idormy.sms.forwarder.utils.SP_BATTERY_PCT
|
import com.idormy.sms.forwarder.utils.SP_BATTERY_PCT
|
||||||
@ -13,6 +14,18 @@ import com.idormy.sms.forwarder.utils.SP_NETWORK_STATE
|
|||||||
import com.idormy.sms.forwarder.utils.SP_SIM_STATE
|
import com.idormy.sms.forwarder.utils.SP_SIM_STATE
|
||||||
import com.idormy.sms.forwarder.utils.SP_WIFI_SSID
|
import com.idormy.sms.forwarder.utils.SP_WIFI_SSID
|
||||||
import com.idormy.sms.forwarder.utils.SharedPreference
|
import com.idormy.sms.forwarder.utils.SharedPreference
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_ACTION_FRPC
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_ACTION_HTTPSERVER
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_ACTION_NOTIFICATION
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_ACTION_SENDSMS
|
||||||
|
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_CRON
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_LEAVE_ADDRESS
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_LOCK_SCREEN
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_NETWORK
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_SIM
|
||||||
|
import com.idormy.sms.forwarder.utils.TASK_CONDITION_TO_ADDRESS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动任务工具类 —— 用于存储自动任务相关的配置
|
* 自动任务工具类 —— 用于存储自动任务相关的配置
|
||||||
@ -21,6 +34,44 @@ class TaskUtils private constructor() {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
//获取任务类型图标
|
||||||
|
fun getTypeImageId(type: Int): Int {
|
||||||
|
return when (type) {
|
||||||
|
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time
|
||||||
|
TASK_CONDITION_TO_ADDRESS -> R.drawable.auto_task_icon_to_address
|
||||||
|
TASK_CONDITION_LEAVE_ADDRESS -> R.drawable.auto_task_icon_leave_address
|
||||||
|
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network
|
||||||
|
TASK_CONDITION_SIM -> R.drawable.auto_task_icon_sim
|
||||||
|
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery
|
||||||
|
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge
|
||||||
|
TASK_CONDITION_LOCK_SCREEN -> R.drawable.auto_task_icon_lock_screen
|
||||||
|
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms
|
||||||
|
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender
|
||||||
|
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc
|
||||||
|
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server
|
||||||
|
else -> R.drawable.auto_task_icon_custom_time
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取任务类型图标(灰色)
|
||||||
|
fun getTypeGreyImageId(type: Int): Int {
|
||||||
|
return when (type) {
|
||||||
|
TASK_CONDITION_CRON -> R.drawable.auto_task_icon_custom_time_grey
|
||||||
|
TASK_CONDITION_TO_ADDRESS -> R.drawable.auto_task_icon_to_address_grey
|
||||||
|
TASK_CONDITION_LEAVE_ADDRESS -> R.drawable.auto_task_icon_leave_address_grey
|
||||||
|
TASK_CONDITION_NETWORK -> R.drawable.auto_task_icon_network_grey
|
||||||
|
TASK_CONDITION_SIM -> R.drawable.auto_task_icon_sim_grey
|
||||||
|
TASK_CONDITION_BATTERY -> R.drawable.auto_task_icon_battery_grey
|
||||||
|
TASK_CONDITION_CHARGE -> R.drawable.auto_task_icon_charge_grey
|
||||||
|
TASK_CONDITION_LOCK_SCREEN -> R.drawable.auto_task_icon_lock_screen_grey
|
||||||
|
TASK_ACTION_SENDSMS -> R.drawable.auto_task_icon_sms_grey
|
||||||
|
TASK_ACTION_NOTIFICATION -> R.drawable.auto_task_icon_sender_grey
|
||||||
|
TASK_ACTION_FRPC -> R.drawable.auto_task_icon_frpc_grey
|
||||||
|
TASK_ACTION_HTTPSERVER -> R.drawable.auto_task_icon_http_server_grey
|
||||||
|
else -> R.drawable.auto_task_icon_custom_time_grey
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//电池信息
|
//电池信息
|
||||||
var batteryInfo: String by SharedPreference(SP_BATTERY_INFO, "")
|
var batteryInfo: String by SharedPreference(SP_BATTERY_INFO, "")
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<vector android:height="24.0dip" android:width="25.0dip" android:autoMirrored="true" android:viewportWidth="25.0" android:viewportHeight="24.0"
|
<vector android:height="24.0dip" android:width="25.0dip" android:autoMirrored="true" android:viewportWidth="25.0" android:viewportHeight="24.0"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@color/color_green_primary_default" android:pathData="M6.66,0L18.66,0A6,6 0,0 1,24.66 6L24.66,18A6,6 0,0 1,18.66 24L6.66,24A6,6 0,0 1,0.66 18L0.66,6A6,6 0,0 1,6.66 0z" />
|
<path android:fillColor="@color/color_yellow_primary_default" android:pathData="M6.66,0L18.66,0A6,6 0,0 1,24.66 6L24.66,18A6,6 0,0 1,18.66 24L6.66,24A6,6 0,0 1,0.66 18L0.66,6A6,6 0,0 1,6.66 0z" />
|
||||||
<path android:fillColor="#ffffffff" android:pathData="M14.609,5.449C14.127,5.449 13.737,5.839 13.737,6.321V16.927C13.737,17.409 14.127,17.799 14.609,17.799C15.09,17.799 15.481,17.409 15.481,16.927V9.248H17.732C18.052,9.248 18.215,8.864 17.994,8.633L15.377,5.908C15.23,5.634 14.941,5.449 14.609,5.449Z" android:fillType="evenOdd" />
|
<path android:fillColor="#ffffffff" android:pathData="M14.609,5.449C14.127,5.449 13.737,5.839 13.737,6.321V16.927C13.737,17.409 14.127,17.799 14.609,17.799C15.09,17.799 15.481,17.409 15.481,16.927V9.248H17.732C18.052,9.248 18.215,8.864 17.994,8.633L15.377,5.908C15.23,5.634 14.941,5.449 14.609,5.449Z" android:fillType="evenOdd" />
|
||||||
<path android:fillColor="#ffffffff" android:pathData="M9.962,17.799C10.443,17.799 10.834,17.409 10.834,16.927V6.321C10.834,5.839 10.443,5.449 9.962,5.449C9.48,5.449 9.09,5.839 9.09,6.321V14H6.838C6.518,14 6.355,14.384 6.576,14.615L9.193,17.34C9.34,17.613 9.629,17.799 9.962,17.799Z" android:fillType="evenOdd" />
|
<path android:fillColor="#ffffffff" android:pathData="M9.962,17.799C10.443,17.799 10.834,17.409 10.834,16.927V6.321C10.834,5.839 10.443,5.449 9.962,5.449C9.48,5.449 9.09,5.839 9.09,6.321V14H6.838C6.518,14 6.355,14.384 6.576,14.615L9.193,17.34C9.34,17.613 9.629,17.799 9.962,17.799Z" android:fillType="evenOdd" />
|
||||||
</vector>
|
</vector>
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<vector android:height="24.0dip" android:width="25.0dip" android:autoMirrored="true" android:viewportWidth="25.0" android:viewportHeight="24.0"
|
<vector android:height="24.0dip" android:width="25.0dip" android:autoMirrored="true" android:viewportWidth="25.0" android:viewportHeight="24.0"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@color/color_green_primary_default" android:pathData="M6.66,0L18.66,0A6,6 0,0 1,24.66 6L24.66,18A6,6 0,0 1,18.66 24L6.66,24A6,6 0,0 1,0.66 18L0.66,6A6,6 0,0 1,6.66 0z" android:strokeAlpha="0.3" android:fillAlpha="0.3" />
|
<path android:fillColor="@color/color_yellow_primary_default" android:pathData="M6.66,0L18.66,0A6,6 0,0 1,24.66 6L24.66,18A6,6 0,0 1,18.66 24L6.66,24A6,6 0,0 1,0.66 18L0.66,6A6,6 0,0 1,6.66 0z" android:strokeAlpha="0.3" android:fillAlpha="0.3" />
|
||||||
<path android:fillColor="#ffffffff" android:pathData="M14.609,5.449C14.127,5.449 13.737,5.839 13.737,6.321V16.927C13.737,17.409 14.127,17.799 14.609,17.799C15.09,17.799 15.481,17.409 15.481,16.927V9.248H17.732C18.052,9.248 18.215,8.864 17.994,8.633L15.377,5.908C15.23,5.634 14.941,5.449 14.609,5.449Z" android:strokeAlpha="0.3" android:fillAlpha="0.3" android:fillType="evenOdd" />
|
<path android:fillColor="#ffffffff" android:pathData="M14.609,5.449C14.127,5.449 13.737,5.839 13.737,6.321V16.927C13.737,17.409 14.127,17.799 14.609,17.799C15.09,17.799 15.481,17.409 15.481,16.927V9.248H17.732C18.052,9.248 18.215,8.864 17.994,8.633L15.377,5.908C15.23,5.634 14.941,5.449 14.609,5.449Z" android:strokeAlpha="0.3" android:fillAlpha="0.3" android:fillType="evenOdd" />
|
||||||
<path android:fillColor="#ffffffff" android:pathData="M9.962,17.799C10.443,17.799 10.834,17.409 10.834,16.927V6.321C10.834,5.839 10.443,5.449 9.962,5.449C9.48,5.449 9.09,5.839 9.09,6.321V14H6.838C6.518,14 6.355,14.384 6.576,14.615L9.193,17.34C9.34,17.613 9.629,17.799 9.962,17.799Z" android:strokeAlpha="0.3" android:fillAlpha="0.3" android:fillType="evenOdd" />
|
<path android:fillColor="#ffffffff" android:pathData="M9.962,17.799C10.443,17.799 10.834,17.409 10.834,16.927V6.321C10.834,5.839 10.443,5.449 9.962,5.449C9.48,5.449 9.09,5.839 9.09,6.321V14H6.838C6.518,14 6.355,14.384 6.576,14.615L9.193,17.34C9.34,17.613 9.629,17.799 9.962,17.799Z" android:strokeAlpha="0.3" android:fillAlpha="0.3" android:fillType="evenOdd" />
|
||||||
</vector>
|
</vector>
|
@ -11,7 +11,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:padding="10dp"
|
android:padding="10dp"
|
||||||
android:text="@string/select_sender_type" />
|
android:text="@string/select_sender_type"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -25,4 +26,18 @@
|
|||||||
android:overScrollMode="never"
|
android:overScrollMode="never"
|
||||||
tools:listitem="@android:layout/simple_list_item_2" />
|
tools:listitem="@android:layout/simple_list_item_2" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:background="?attr/xui_config_color_separator_light" />
|
||||||
|
|
||||||
|
<com.xuexiang.xui.widget.alpha.XUIAlphaTextView
|
||||||
|
android:id="@+id/bottom_sheet_close_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/bottom_sheet_close"
|
||||||
|
android:textColor="#49505A"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -11,7 +11,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:padding="10dp"
|
android:padding="10dp"
|
||||||
android:text="@string/select_task_action" />
|
android:text="@string/select_task_action"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -25,4 +26,18 @@
|
|||||||
android:overScrollMode="never"
|
android:overScrollMode="never"
|
||||||
tools:listitem="@android:layout/simple_list_item_2" />
|
tools:listitem="@android:layout/simple_list_item_2" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:background="?attr/xui_config_color_separator_light" />
|
||||||
|
|
||||||
|
<com.xuexiang.xui.widget.alpha.XUIAlphaTextView
|
||||||
|
android:id="@+id/bottom_sheet_close_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/bottom_sheet_close"
|
||||||
|
android:textColor="#49505A"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -12,7 +12,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:padding="10dp"
|
android:padding="10dp"
|
||||||
android:text="@string/select_task_condition" />
|
android:text="@string/select_task_condition"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -26,4 +27,18 @@
|
|||||||
android:overScrollMode="never"
|
android:overScrollMode="never"
|
||||||
tools:listitem="@android:layout/simple_list_item_2" />
|
tools:listitem="@android:layout/simple_list_item_2" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:background="?attr/xui_config_color_separator_light" />
|
||||||
|
|
||||||
|
<com.xuexiang.xui.widget.alpha.XUIAlphaTextView
|
||||||
|
android:id="@+id/bottom_sheet_close_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/bottom_sheet_close"
|
||||||
|
android:textColor="#49505A"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -1114,11 +1114,15 @@
|
|||||||
<string name="select_task_trigger">Please select trigger condition</string>
|
<string name="select_task_trigger">Please select trigger condition</string>
|
||||||
<string name="select_task_condition">Please select additional condition</string>
|
<string name="select_task_condition">Please select additional condition</string>
|
||||||
<string name="select_task_action">Please select action</string>
|
<string name="select_task_action">Please select action</string>
|
||||||
|
<string name="bottom_sheet_close">Close</string>
|
||||||
<string name="task_cron">Cron</string>
|
<string name="task_cron">Cron</string>
|
||||||
<string name="task_charge">Charge</string>
|
<string name="to_address">To Address</string>
|
||||||
<string name="task_battery">Battery</string>
|
<string name="leave_address">Leave Address</string>
|
||||||
<string name="task_network">Network</string>
|
<string name="task_network">Network</string>
|
||||||
<string name="task_sim">SIM Status</string>
|
<string name="task_sim">SIM Status</string>
|
||||||
|
<string name="task_battery">Battery</string>
|
||||||
|
<string name="task_charge">Charge</string>
|
||||||
|
<string name="task_lock_screen">Lock Screen</string>
|
||||||
<string name="task_sendsms">Send Sms</string>
|
<string name="task_sendsms">Send Sms</string>
|
||||||
<string name="task_notification">Notification</string>
|
<string name="task_notification">Notification</string>
|
||||||
<string name="task_frpc">Frpc Setting</string>
|
<string name="task_frpc">Frpc Setting</string>
|
||||||
|
@ -1115,11 +1115,15 @@
|
|||||||
<string name="select_task_trigger">请选择触发条件</string>
|
<string name="select_task_trigger">请选择触发条件</string>
|
||||||
<string name="select_task_condition">请选择附加条件</string>
|
<string name="select_task_condition">请选择附加条件</string>
|
||||||
<string name="select_task_action">请选择动作</string>
|
<string name="select_task_action">请选择动作</string>
|
||||||
|
<string name="bottom_sheet_close">关 闭</string>
|
||||||
<string name="task_cron">定时任务</string>
|
<string name="task_cron">定时任务</string>
|
||||||
<string name="task_charge">充电状态</string>
|
<string name="to_address">到达地点</string>
|
||||||
<string name="task_battery">电量使用</string>
|
<string name="leave_address">离开地点</string>
|
||||||
<string name="task_network">网络状态</string>
|
<string name="task_network">网络状态</string>
|
||||||
<string name="task_sim">SIM卡状态</string>
|
<string name="task_sim">SIM卡状态</string>
|
||||||
|
<string name="task_battery">电量使用</string>
|
||||||
|
<string name="task_charge">充电状态</string>
|
||||||
|
<string name="task_lock_screen">屏幕锁定</string>
|
||||||
<string name="task_sendsms">发送短信</string>
|
<string name="task_sendsms">发送短信</string>
|
||||||
<string name="task_notification">通道推送</string>
|
<string name="task_notification">通道推送</string>
|
||||||
<string name="task_frpc">Frpc设置</string>
|
<string name="task_frpc">Frpc设置</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user