优化:进入`通用设置`时`再次检查`是否已授权`已开启功能`的`必需权限`
This commit is contained in:
parent
d3899d9404
commit
22474b2295
|
@ -349,7 +349,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
//转发短信
|
//转发短信
|
||||||
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
||||||
private fun switchEnableSms(sbEnableSms: SwitchButton) {
|
private fun switchEnableSms(sbEnableSms: SwitchButton) {
|
||||||
sbEnableSms.isChecked = SettingUtils.enableSms
|
|
||||||
sbEnableSms.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
sbEnableSms.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
||||||
SettingUtils.enableSms = isChecked
|
SettingUtils.enableSms = isChecked
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
|
@ -364,22 +363,23 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
// 发送短信
|
// 发送短信
|
||||||
//.permission(Permission.SEND_SMS)
|
//.permission(Permission.SEND_SMS)
|
||||||
// 读取短信
|
// 读取短信
|
||||||
.permission(Permission.READ_SMS).request(object : OnPermissionCallback {
|
.permission(Permission.READ_SMS)
|
||||||
|
.request(object : OnPermissionCallback {
|
||||||
override fun onGranted(permissions: List<String>, all: Boolean) {
|
override fun onGranted(permissions: List<String>, all: Boolean) {
|
||||||
if (all) {
|
Log.d(TAG, "onGranted: permissions=$permissions, all=$all")
|
||||||
XToastUtils.info(R.string.toast_granted_all)
|
if (!all) {
|
||||||
} else {
|
XToastUtils.warning(getString(R.string.forward_sms) + ": " + getString(R.string.toast_granted_part))
|
||||||
XToastUtils.info(R.string.toast_granted_part)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDenied(permissions: List<String>, never: Boolean) {
|
override fun onDenied(permissions: List<String>, never: Boolean) {
|
||||||
|
Log.e(TAG, "onDenied: permissions=$permissions, never=$never")
|
||||||
if (never) {
|
if (never) {
|
||||||
XToastUtils.info(R.string.toast_denied_never)
|
XToastUtils.error(getString(R.string.forward_sms) + ": " + getString(R.string.toast_denied_never))
|
||||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||||
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
||||||
} else {
|
} else {
|
||||||
XToastUtils.info(R.string.toast_denied)
|
XToastUtils.error(getString(R.string.forward_sms) + ": " + getString(R.string.toast_denied))
|
||||||
}
|
}
|
||||||
SettingUtils.enableSms = false
|
SettingUtils.enableSms = false
|
||||||
sbEnableSms.isChecked = false
|
sbEnableSms.isChecked = false
|
||||||
|
@ -387,12 +387,12 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sbEnableSms.isChecked = SettingUtils.enableSms
|
||||||
}
|
}
|
||||||
|
|
||||||
//转发通话
|
//转发通话
|
||||||
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
||||||
private fun switchEnablePhone(sbEnablePhone: SwitchButton, scbCallType1: SmoothCheckBox, scbCallType2: SmoothCheckBox, scbCallType3: SmoothCheckBox, scbCallType4: SmoothCheckBox, scbCallType5: SmoothCheckBox, scbCallType6: SmoothCheckBox) {
|
private fun switchEnablePhone(sbEnablePhone: SwitchButton, scbCallType1: SmoothCheckBox, scbCallType2: SmoothCheckBox, scbCallType3: SmoothCheckBox, scbCallType4: SmoothCheckBox, scbCallType5: SmoothCheckBox, scbCallType6: SmoothCheckBox) {
|
||||||
sbEnablePhone.isChecked = SettingUtils.enablePhone
|
|
||||||
scbCallType1.isChecked = SettingUtils.enableCallType1
|
scbCallType1.isChecked = SettingUtils.enableCallType1
|
||||||
scbCallType2.isChecked = SettingUtils.enableCallType2
|
scbCallType2.isChecked = SettingUtils.enableCallType2
|
||||||
scbCallType3.isChecked = SettingUtils.enableCallType3
|
scbCallType3.isChecked = SettingUtils.enableCallType3
|
||||||
|
@ -417,22 +417,23 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
// 读取通话记录
|
// 读取通话记录
|
||||||
.permission(Permission.READ_CALL_LOG)
|
.permission(Permission.READ_CALL_LOG)
|
||||||
// 读取联系人
|
// 读取联系人
|
||||||
.permission(Permission.READ_CONTACTS).request(object : OnPermissionCallback {
|
.permission(Permission.READ_CONTACTS)
|
||||||
|
.request(object : OnPermissionCallback {
|
||||||
override fun onGranted(permissions: List<String>, all: Boolean) {
|
override fun onGranted(permissions: List<String>, all: Boolean) {
|
||||||
if (all) {
|
Log.d(TAG, "onGranted: permissions=$permissions, all=$all")
|
||||||
XToastUtils.info(R.string.toast_granted_all)
|
if (!all) {
|
||||||
} else {
|
XToastUtils.warning(getString(R.string.forward_calls) + ": " + getString(R.string.toast_granted_part))
|
||||||
XToastUtils.info(R.string.toast_granted_part)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDenied(permissions: List<String>, never: Boolean) {
|
override fun onDenied(permissions: List<String>, never: Boolean) {
|
||||||
|
Log.e(TAG, "onDenied: permissions=$permissions, never=$never")
|
||||||
if (never) {
|
if (never) {
|
||||||
XToastUtils.info(R.string.toast_denied_never)
|
XToastUtils.error(getString(R.string.forward_calls) + ": " + getString(R.string.toast_denied_never))
|
||||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||||
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
||||||
} else {
|
} else {
|
||||||
XToastUtils.info(R.string.toast_denied)
|
XToastUtils.error(getString(R.string.forward_calls) + ": " + getString(R.string.toast_denied))
|
||||||
}
|
}
|
||||||
SettingUtils.enablePhone = false
|
SettingUtils.enablePhone = false
|
||||||
sbEnablePhone.isChecked = false
|
sbEnablePhone.isChecked = false
|
||||||
|
@ -440,6 +441,7 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sbEnablePhone.isChecked = SettingUtils.enablePhone
|
||||||
scbCallType1.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
scbCallType1.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
||||||
SettingUtils.enableCallType1 = isChecked
|
SettingUtils.enableCallType1 = isChecked
|
||||||
if (!isChecked && !SettingUtils.enableCallType1 && !SettingUtils.enableCallType2 && !SettingUtils.enableCallType3 && !SettingUtils.enableCallType4 && !SettingUtils.enableCallType5 && !SettingUtils.enableCallType6) {
|
if (!isChecked && !SettingUtils.enableCallType1 && !SettingUtils.enableCallType2 && !SettingUtils.enableCallType3 && !SettingUtils.enableCallType4 && !SettingUtils.enableCallType5 && !SettingUtils.enableCallType6) {
|
||||||
|
@ -493,34 +495,32 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
//转发应用通知
|
//转发应用通知
|
||||||
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
||||||
private fun switchEnableAppNotify(sbEnableAppNotify: SwitchButton, scbCancelAppNotify: SmoothCheckBox, scbNotUserPresent: SmoothCheckBox) {
|
private fun switchEnableAppNotify(sbEnableAppNotify: SwitchButton, scbCancelAppNotify: SmoothCheckBox, scbNotUserPresent: SmoothCheckBox) {
|
||||||
val isEnable: Boolean = SettingUtils.enableAppNotify
|
|
||||||
sbEnableAppNotify.isChecked = isEnable
|
|
||||||
|
|
||||||
val layoutOptionalAction: LinearLayout = binding!!.layoutOptionalAction
|
|
||||||
layoutOptionalAction.visibility = if (isEnable) View.VISIBLE else View.GONE
|
|
||||||
//val layoutAppList: LinearLayout = binding!!.layoutAppList
|
|
||||||
//layoutAppList.visibility = if (isEnable) View.VISIBLE else View.GONE
|
|
||||||
|
|
||||||
sbEnableAppNotify.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
sbEnableAppNotify.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
||||||
layoutOptionalAction.visibility = if (isChecked) View.VISIBLE else View.GONE
|
binding!!.layoutOptionalAction.visibility = if (isChecked) View.VISIBLE else View.GONE
|
||||||
//layoutAppList.visibility = if (isChecked) View.VISIBLE else View.GONE
|
|
||||||
SettingUtils.enableAppNotify = isChecked
|
SettingUtils.enableAppNotify = isChecked
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
//检查权限是否获取
|
//检查权限是否获取
|
||||||
XXPermissions.with(this).permission(Permission.BIND_NOTIFICATION_LISTENER_SERVICE).request(OnPermissionCallback { _, allGranted ->
|
XXPermissions.with(this)
|
||||||
if (!allGranted) {
|
.permission(Permission.BIND_NOTIFICATION_LISTENER_SERVICE)
|
||||||
SettingUtils.enableAppNotify = false
|
.request(OnPermissionCallback { permissions, allGranted ->
|
||||||
sbEnableAppNotify.isChecked = false
|
if (!allGranted) {
|
||||||
XToastUtils.error(R.string.tips_notification_listener)
|
Log.e(TAG, "onGranted: permissions=$permissions, allGranted=false")
|
||||||
return@OnPermissionCallback
|
SettingUtils.enableAppNotify = false
|
||||||
}
|
sbEnableAppNotify.isChecked = false
|
||||||
|
XToastUtils.error(R.string.tips_notification_listener)
|
||||||
|
return@OnPermissionCallback
|
||||||
|
}
|
||||||
|
|
||||||
SettingUtils.enableAppNotify = true
|
SettingUtils.enableAppNotify = true
|
||||||
sbEnableAppNotify.isChecked = true
|
sbEnableAppNotify.isChecked = true
|
||||||
CommonUtils.toggleNotificationListenerService(requireContext())
|
CommonUtils.toggleNotificationListenerService(requireContext())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val isEnable = SettingUtils.enableAppNotify
|
||||||
|
sbEnableAppNotify.isChecked = isEnable
|
||||||
|
binding!!.layoutOptionalAction.visibility = if (isEnable) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
scbCancelAppNotify.isChecked = SettingUtils.enableCancelAppNotify
|
scbCancelAppNotify.isChecked = SettingUtils.enableCancelAppNotify
|
||||||
scbCancelAppNotify.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
scbCancelAppNotify.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
||||||
SettingUtils.enableCancelAppNotify = isChecked
|
SettingUtils.enableCancelAppNotify = isChecked
|
||||||
|
@ -533,35 +533,44 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
|
|
||||||
//启用定位功能
|
//启用定位功能
|
||||||
private fun switchEnableLocation(@SuppressLint("UseSwitchCompatOrMaterialCode") sbEnableLocation: SwitchButton, layoutLocationSetting: LinearLayout, rgAccuracy: RadioGroup, rgPowerRequirement: RadioGroup, xsbMinInterval: XSeekBar, xsbMinDistance: XSeekBar) {
|
private fun switchEnableLocation(@SuppressLint("UseSwitchCompatOrMaterialCode") sbEnableLocation: SwitchButton, layoutLocationSetting: LinearLayout, rgAccuracy: RadioGroup, rgPowerRequirement: RadioGroup, xsbMinInterval: XSeekBar, xsbMinDistance: XSeekBar) {
|
||||||
//是否启用定位功能
|
|
||||||
sbEnableLocation.isChecked = SettingUtils.enableLocation
|
|
||||||
layoutLocationSetting.visibility = if (SettingUtils.enableLocation) View.VISIBLE else View.GONE
|
|
||||||
sbEnableLocation.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
sbEnableLocation.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
||||||
SettingUtils.enableLocation = isChecked
|
SettingUtils.enableLocation = isChecked
|
||||||
layoutLocationSetting.visibility = if (isChecked) View.VISIBLE else View.GONE
|
layoutLocationSetting.visibility = if (isChecked) View.VISIBLE else View.GONE
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
XXPermissions.with(this).permission(Permission.ACCESS_COARSE_LOCATION).permission(Permission.ACCESS_FINE_LOCATION).permission(Permission.ACCESS_BACKGROUND_LOCATION).request(object : OnPermissionCallback {
|
XXPermissions.with(this)
|
||||||
override fun onGranted(permissions: List<String>, all: Boolean) {
|
.permission(Permission.ACCESS_COARSE_LOCATION)
|
||||||
restartLocationService("START")
|
.permission(Permission.ACCESS_FINE_LOCATION)
|
||||||
}
|
.permission(Permission.ACCESS_BACKGROUND_LOCATION)
|
||||||
|
.request(object : OnPermissionCallback {
|
||||||
override fun onDenied(permissions: List<String>, never: Boolean) {
|
override fun onGranted(permissions: List<String>, all: Boolean) {
|
||||||
if (never) {
|
Log.d(TAG, "onGranted: permissions=$permissions, all=$all")
|
||||||
XToastUtils.error(R.string.toast_denied_never)
|
if (!all) {
|
||||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
XToastUtils.warning(getString(R.string.enable_location) + ": " + getString(R.string.toast_granted_part))
|
||||||
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
}
|
||||||
} else {
|
restartLocationService("START")
|
||||||
XToastUtils.error(R.string.toast_denied)
|
|
||||||
}
|
}
|
||||||
SettingUtils.enableLocation = false
|
|
||||||
sbEnableLocation.isChecked = false
|
override fun onDenied(permissions: List<String>, never: Boolean) {
|
||||||
restartLocationService("STOP")
|
Log.e(TAG, "onDenied: permissions=$permissions, never=$never")
|
||||||
}
|
if (never) {
|
||||||
})
|
XToastUtils.error(getString(R.string.enable_location) + ": " + getString(R.string.toast_denied_never))
|
||||||
|
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||||
|
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
||||||
|
} else {
|
||||||
|
XToastUtils.error(getString(R.string.enable_location) + ": " + getString(R.string.toast_denied))
|
||||||
|
}
|
||||||
|
SettingUtils.enableLocation = false
|
||||||
|
sbEnableLocation.isChecked = false
|
||||||
|
restartLocationService("STOP")
|
||||||
|
}
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
restartLocationService("STOP")
|
restartLocationService("STOP")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val isEnable = SettingUtils.enableLocation
|
||||||
|
sbEnableLocation.isChecked = isEnable
|
||||||
|
layoutLocationSetting.visibility = if (isEnable) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
//设置位置精度:高精度(默认)
|
//设置位置精度:高精度(默认)
|
||||||
rgAccuracy.check(
|
rgAccuracy.check(
|
||||||
|
@ -643,9 +652,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
//接受短信指令
|
//接受短信指令
|
||||||
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
@SuppressLint("UseSwitchCompatOrMaterialCode")
|
||||||
private fun switchEnableSmsCommand(sbEnableSmsCommand: SwitchButton, etSafePhone: EditText) {
|
private fun switchEnableSmsCommand(sbEnableSmsCommand: SwitchButton, etSafePhone: EditText) {
|
||||||
sbEnableSmsCommand.isChecked = SettingUtils.enableSmsCommand
|
|
||||||
etSafePhone.visibility = if (SettingUtils.enableSmsCommand) View.VISIBLE else View.GONE
|
|
||||||
|
|
||||||
sbEnableSmsCommand.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
sbEnableSmsCommand.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
|
||||||
SettingUtils.enableSmsCommand = isChecked
|
SettingUtils.enableSmsCommand = isChecked
|
||||||
etSafePhone.visibility = if (isChecked) View.VISIBLE else View.GONE
|
etSafePhone.visibility = if (isChecked) View.VISIBLE else View.GONE
|
||||||
|
@ -659,22 +665,21 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
// 发送短信
|
// 发送短信
|
||||||
.permission(Permission.SEND_SMS)
|
.permission(Permission.SEND_SMS)
|
||||||
// 读取短信
|
// 读取短信
|
||||||
.permission(Permission.READ_SMS).request(object : OnPermissionCallback {
|
.permission(Permission.READ_SMS)
|
||||||
|
.request(object : OnPermissionCallback {
|
||||||
override fun onGranted(permissions: List<String>, all: Boolean) {
|
override fun onGranted(permissions: List<String>, all: Boolean) {
|
||||||
if (all) {
|
if (!all) {
|
||||||
XToastUtils.info(R.string.toast_granted_all)
|
XToastUtils.warning(getString(R.string.sms_command) + ": " + getString(R.string.toast_denied_never))
|
||||||
} else {
|
|
||||||
XToastUtils.info(R.string.toast_granted_part)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDenied(permissions: List<String>, never: Boolean) {
|
override fun onDenied(permissions: List<String>, never: Boolean) {
|
||||||
if (never) {
|
if (never) {
|
||||||
XToastUtils.info(R.string.toast_denied_never)
|
XToastUtils.error(getString(R.string.sms_command) + ": " + getString(R.string.toast_denied_never))
|
||||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||||
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
XXPermissions.startPermissionActivity(requireContext(), permissions)
|
||||||
} else {
|
} else {
|
||||||
XToastUtils.info(R.string.toast_denied)
|
XToastUtils.error(getString(R.string.sms_command) + ": " + getString(R.string.toast_denied))
|
||||||
}
|
}
|
||||||
SettingUtils.enableSmsCommand = false
|
SettingUtils.enableSmsCommand = false
|
||||||
sbEnableSmsCommand.isChecked = false
|
sbEnableSmsCommand.isChecked = false
|
||||||
|
@ -682,6 +687,9 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val isEnable = SettingUtils.enableSmsCommand
|
||||||
|
sbEnableSmsCommand.isChecked = isEnable
|
||||||
|
etSafePhone.visibility = if (isEnable) View.VISIBLE else View.GONE
|
||||||
|
|
||||||
etSafePhone.setText(SettingUtils.smsCommandSafePhone)
|
etSafePhone.setText(SettingUtils.smsCommandSafePhone)
|
||||||
etSafePhone.addTextChangedListener(object : TextWatcher {
|
etSafePhone.addTextChangedListener(object : TextWatcher {
|
||||||
|
|
|
@ -430,7 +430,7 @@ class SettingsFragment : BaseFragment<FragmentTasksActionSettingsBinding?>(), Vi
|
||||||
if (enableSms) enableList.add(getString(R.string.forward_sms)) else disableList.add(getString(R.string.forward_sms))
|
if (enableSms) enableList.add(getString(R.string.forward_sms)) else disableList.add(getString(R.string.forward_sms))
|
||||||
|
|
||||||
val enablePhone = binding!!.sbEnablePhone.isChecked
|
val enablePhone = binding!!.sbEnablePhone.isChecked
|
||||||
if (enablePhone) enableList.add(getString(R.string.forward_missed_calls)) else disableList.add(getString(R.string.forward_missed_calls))
|
if (enablePhone) enableList.add(getString(R.string.forward_calls)) else disableList.add(getString(R.string.forward_calls))
|
||||||
val enableCallType1 = binding!!.scbCallType1.isChecked
|
val enableCallType1 = binding!!.scbCallType1.isChecked
|
||||||
val enableCallType2 = binding!!.scbCallType2.isChecked
|
val enableCallType2 = binding!!.scbCallType2.isChecked
|
||||||
val enableCallType3 = binding!!.scbCallType3.isChecked
|
val enableCallType3 = binding!!.scbCallType3.isChecked
|
||||||
|
|
|
@ -86,13 +86,13 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/forward_missed_calls"
|
android:text="@string/forward_calls"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/forward_missed_calls_tips"
|
android:text="@string/forward_calls_tips"
|
||||||
android:textSize="@dimen/text_size_mini"
|
android:textSize="@dimen/text_size_mini"
|
||||||
tools:ignore="SmallSp" />
|
tools:ignore="SmallSp" />
|
||||||
|
|
||||||
|
|
|
@ -96,13 +96,13 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/forward_missed_calls"
|
android:text="@string/forward_calls"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/forward_missed_calls_tips"
|
android:text="@string/forward_calls_tips"
|
||||||
android:textSize="@dimen/text_size_mini"
|
android:textSize="@dimen/text_size_mini"
|
||||||
tools:ignore="SmallSp" />
|
tools:ignore="SmallSp" />
|
||||||
|
|
||||||
|
|
|
@ -386,8 +386,8 @@
|
||||||
<string name="sms_command_tips">Open the HttpServer or FRPC by the SMS command</string>
|
<string name="sms_command_tips">Open the HttpServer or FRPC by the SMS command</string>
|
||||||
<string name="safe_phone">Safe Phone</string>
|
<string name="safe_phone">Safe Phone</string>
|
||||||
<string name="safe_phone_tips">Only handle requests from specified phones</string>
|
<string name="safe_phone_tips">Only handle requests from specified phones</string>
|
||||||
<string name="forward_missed_calls">Forward Calls Log</string>
|
<string name="forward_calls">Forward Calls Log</string>
|
||||||
<string name="forward_missed_calls_tips">Main switch, requires permissions to read call log and contacts.</string>
|
<string name="forward_calls_tips">Main switch, requires permissions to read call log and contacts.</string>
|
||||||
<string name="forward_app_notify">Forward App Notify</string>
|
<string name="forward_app_notify">Forward App Notify</string>
|
||||||
<string name="forward_app_notify_tips">Main switch, requires permission to read notification.</string>
|
<string name="forward_app_notify_tips">Main switch, requires permission to read notification.</string>
|
||||||
<string name="cancel_app_notify">Auto close Ntf.</string>
|
<string name="cancel_app_notify">Auto close Ntf.</string>
|
||||||
|
@ -1206,6 +1206,8 @@
|
||||||
<string name="task_app">Notification</string>
|
<string name="task_app">Notification</string>
|
||||||
<string name="task_app_tips">Triggered upon receiving app notification</string>
|
<string name="task_app_tips">Triggered upon receiving app notification</string>
|
||||||
<string name="task_app_when">received app notification</string>
|
<string name="task_app_when">received app notification</string>
|
||||||
|
<string name="task_bluetooth">Bluetooth Device</string>
|
||||||
|
<string name="task_bluetooth_tips">Triggered upon changes in Bluetooth status</string>
|
||||||
<string name="task_sendsms">Send Sms</string>
|
<string name="task_sendsms">Send Sms</string>
|
||||||
<string name="task_notification">Notify</string>
|
<string name="task_notification">Notify</string>
|
||||||
<string name="task_frpc">Frpc On/Off</string>
|
<string name="task_frpc">Frpc On/Off</string>
|
||||||
|
|
|
@ -387,8 +387,8 @@
|
||||||
<string name="sms_command_tips">根据短信指令开关对应功能,指令格式:smsf#功能名#动作名</string>
|
<string name="sms_command_tips">根据短信指令开关对应功能,指令格式:smsf#功能名#动作名</string>
|
||||||
<string name="safe_phone">安全手机</string>
|
<string name="safe_phone">安全手机</string>
|
||||||
<string name="safe_phone_tips">仅处理指定手机请求,多个手机以逗号分隔</string>
|
<string name="safe_phone_tips">仅处理指定手机请求,多个手机以逗号分隔</string>
|
||||||
<string name="forward_missed_calls">转发通话记录</string>
|
<string name="forward_calls">转发通话记录</string>
|
||||||
<string name="forward_missed_calls_tips">请授予读取通话记录、联系人等权限,并选择转发类型,再开启</string>
|
<string name="forward_calls_tips">请授予读取通话记录、联系人等权限,并选择转发类型,再开启</string>
|
||||||
<string name="forward_app_notify">转发应用通知</string>
|
<string name="forward_app_notify">转发应用通知</string>
|
||||||
<string name="forward_app_notify_tips">请授予通知使用权再开启;开启“自动消除”可避免多条通知堆叠</string>
|
<string name="forward_app_notify_tips">请授予通知使用权再开启;开启“自动消除”可避免多条通知堆叠</string>
|
||||||
<string name="cancel_app_notify">自动消除通知</string>
|
<string name="cancel_app_notify">自动消除通知</string>
|
||||||
|
@ -1207,6 +1207,8 @@
|
||||||
<string name="task_app">APP通知</string>
|
<string name="task_app">APP通知</string>
|
||||||
<string name="task_app_tips">在接收到APP通知时触发</string>
|
<string name="task_app_tips">在接收到APP通知时触发</string>
|
||||||
<string name="task_app_when">接收到APP通知</string>
|
<string name="task_app_when">接收到APP通知</string>
|
||||||
|
<string name="task_bluetooth">蓝牙设备</string>
|
||||||
|
<string name="task_bluetooth_tips">在蓝牙状态发生改变时触发</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>
|
||||||
|
|
|
@ -387,8 +387,8 @@
|
||||||
<string name="sms_command_tips">根據簡訊指令開關對應功能,指令格式:smsf#功能名#動作名</string>
|
<string name="sms_command_tips">根據簡訊指令開關對應功能,指令格式:smsf#功能名#動作名</string>
|
||||||
<string name="safe_phone">安全手機</string>
|
<string name="safe_phone">安全手機</string>
|
||||||
<string name="safe_phone_tips">僅處理指定手機請求,多個手機以逗號分隔</string>
|
<string name="safe_phone_tips">僅處理指定手機請求,多個手機以逗號分隔</string>
|
||||||
<string name="forward_missed_calls">轉發通話記錄</string>
|
<string name="forward_calls">轉發通話記錄</string>
|
||||||
<string name="forward_missed_calls_tips">請授予讀取通話記錄、聯繫人等權限,並選擇轉發類型,再開啟</string>
|
<string name="forward_calls_tips">請授予讀取通話記錄、聯繫人等權限,並選擇轉發類型,再開啟</string>
|
||||||
<string name="forward_app_notify">轉發應用通知</string>
|
<string name="forward_app_notify">轉發應用通知</string>
|
||||||
<string name="forward_app_notify_tips">請授予通知使用權再開啟;開啟“自動消除”可避免多條通知堆疊</string>
|
<string name="forward_app_notify_tips">請授予通知使用權再開啟;開啟“自動消除”可避免多條通知堆疊</string>
|
||||||
<string name="cancel_app_notify">自動消除通知</string>
|
<string name="cancel_app_notify">自動消除通知</string>
|
||||||
|
@ -1207,6 +1207,8 @@
|
||||||
<string name="task_app">APP通知</string>
|
<string name="task_app">APP通知</string>
|
||||||
<string name="task_app_tips">在接收到APP通知時觸發</string>
|
<string name="task_app_tips">在接收到APP通知時觸發</string>
|
||||||
<string name="task_app_when">接收到APP通知</string>
|
<string name="task_app_when">接收到APP通知</string>
|
||||||
|
<string name="task_bluetooth">蓝牙设备</string>
|
||||||
|
<string name="task_bluetooth_tips">在蓝牙状态发生改变时触发</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>
|
||||||
|
|
|
@ -387,8 +387,8 @@
|
||||||
<string name="sms_command_tips">根据短信指令开关对应功能,指令格式:smsf#功能名#动作名</string>
|
<string name="sms_command_tips">根据短信指令开关对应功能,指令格式:smsf#功能名#动作名</string>
|
||||||
<string name="safe_phone">安全手机</string>
|
<string name="safe_phone">安全手机</string>
|
||||||
<string name="safe_phone_tips">仅处理指定手机请求,多个手机以逗号分隔</string>
|
<string name="safe_phone_tips">仅处理指定手机请求,多个手机以逗号分隔</string>
|
||||||
<string name="forward_missed_calls">转发通话记录</string>
|
<string name="forward_calls">转发通话记录</string>
|
||||||
<string name="forward_missed_calls_tips">请授予读取通话记录、联系人等权限,并选择转发类型,再开启</string>
|
<string name="forward_calls_tips">请授予读取通话记录、联系人等权限,并选择转发类型,再开启</string>
|
||||||
<string name="forward_app_notify">转发应用通知</string>
|
<string name="forward_app_notify">转发应用通知</string>
|
||||||
<string name="forward_app_notify_tips">请授予通知使用权再开启;开启“自动消除”可避免多条通知堆叠</string>
|
<string name="forward_app_notify_tips">请授予通知使用权再开启;开启“自动消除”可避免多条通知堆叠</string>
|
||||||
<string name="cancel_app_notify">自动消除通知</string>
|
<string name="cancel_app_notify">自动消除通知</string>
|
||||||
|
@ -1207,6 +1207,8 @@
|
||||||
<string name="task_app">APP通知</string>
|
<string name="task_app">APP通知</string>
|
||||||
<string name="task_app_tips">在接收到APP通知时触发</string>
|
<string name="task_app_tips">在接收到APP通知时触发</string>
|
||||||
<string name="task_app_when">接收到APP通知</string>
|
<string name="task_app_when">接收到APP通知</string>
|
||||||
|
<string name="task_bluetooth">蓝牙设备</string>
|
||||||
|
<string name="task_bluetooth_tips">在蓝牙状态发生改变时触发</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…
Reference in New Issue