diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 86fbf71..8f3939d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,12 @@
android:launchMode="singleInstance"
android:theme="@style/AppTheme">
+
+
+ SPUtils.getInstance().put("not_show_accessibility_guide", isChecked)
+ }
+
+ val alphaAnimation = AlphaAnimation(0.2F, 1F).apply {
+ duration = 800
+ repeatCount = Animation.INFINITE
+ repeatMode = Animation.REVERSE
+ }
+ iv_over_finger.startAnimation(alphaAnimation)
+ }
+
+ override fun onResume() {
+ super.onResume()
+ val accessibilitySettingOn = PermissionHelper.isAccessibilitySettingOn()
+ LogUtils.d("PermissionHelper.isAccessibilitySettingOn: $accessibilitySettingOn")
+ if (accessibilitySettingOn) {
+ finish()
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/yameida/worktool/activity/FloatViewGuideActivity.kt b/app/src/main/java/org/yameida/worktool/activity/FloatViewGuideActivity.kt
index 270ea05..7ccf421 100644
--- a/app/src/main/java/org/yameida/worktool/activity/FloatViewGuideActivity.kt
+++ b/app/src/main/java/org/yameida/worktool/activity/FloatViewGuideActivity.kt
@@ -10,9 +10,13 @@ import android.view.animation.Animation
import androidx.appcompat.app.AppCompatActivity
import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.SPUtils
+import com.blankj.utilcode.util.ToastUtils
import com.blankj.utilcode.util.Utils
import kotlinx.android.synthetic.main.activity_float_guide.*
import org.yameida.worktool.R
+import org.yameida.worktool.utils.FloatWindowHelper
+import org.yameida.worktool.utils.FlowPermissionHelper
+import org.yameida.worktool.utils.PermissionPageManagement
/**
* Created by gallon on 2019/7/20.
@@ -20,6 +24,8 @@ import org.yameida.worktool.R
*/
class FloatViewGuideActivity: AppCompatActivity() {
+ private var goToSetting = false
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_float_guide)
@@ -61,7 +67,21 @@ class FloatViewGuideActivity: AppCompatActivity() {
val canDrawOverlays = Settings.canDrawOverlays(Utils.getApp())
LogUtils.d("Settings.canDrawOverlays: $canDrawOverlays")
if (canDrawOverlays) {
- finish()
+ if (goToSetting) {
+ if (FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
+ FloatWindowHelper.showWindow()
+ }
+ finish()
+ } else if (!FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
+ ToastUtils.showLong("请同时打开后台弹出界面权限~")
+ PermissionPageManagement.goToSetting(this)
+ goToSetting = true
+ } else {
+ if (FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
+ FloatWindowHelper.showWindow()
+ }
+ finish()
+ }
}
}
diff --git a/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt b/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt
index 38c4e30..c95b5ab 100644
--- a/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt
+++ b/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt
@@ -55,8 +55,8 @@ class ListenActivity : AppCompatActivity() {
override fun onResume() {
super.onResume()
- sw_overlay.isChecked = PermissionUtils.isGrantedDrawOverlays()
- freshOpenServiceSwitch()
+ sw_overlay.isChecked = Settings.canDrawOverlays(Utils.getApp()) && FlowPermissionHelper.canBackgroundStart(Utils.getApp())
+ sw_accessibility.isChecked = PermissionHelper.isAccessibilitySettingOn()
if (needToWork) {
needToWork = false
goToWork()
@@ -126,7 +126,7 @@ class ListenActivity : AppCompatActivity() {
sw_accessibility.isChecked = false
ToastUtils.showLong("请先填写并保存链接号~")
} else if (!PermissionHelper.isAccessibilitySettingOn()) {
- openAccessibility()
+ startActivity(Intent(this, AccessibilityGuideActivity::class.java))
}
} else {
if (PermissionHelper.isAccessibilitySettingOn()) {
@@ -142,58 +142,19 @@ class ListenActivity : AppCompatActivity() {
sw_overlay.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->
LogUtils.i("sw_overlay onCheckedChanged: $isChecked")
if (isChecked) {
- if (!PermissionUtils.isGrantedDrawOverlays()) {
- PermissionUtils.requestDrawOverlays(object : PermissionUtils.SimpleCallback {
- override fun onGranted() {
- ToastUtils.showLong("请同时打开后台弹出界面权限~")
- PermissionPageManagement.goToSetting(this@ListenActivity)
- FloatWindowHelper.showWindow()
- }
-
- override fun onDenied() { sw_accessibility.isChecked = false }
- })
- }
+ startActivity(Intent(this, FloatViewGuideActivity::class.java))
} else {
- if (PermissionUtils.isGrantedDrawOverlays()) {
+ if (Settings.canDrawOverlays(Utils.getApp()) && FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
sw_overlay.isChecked = true
PermissionPageManagement.goToSetting(this)
}
}
})
- if (PermissionUtils.isGrantedDrawOverlays()) {
+ if (Settings.canDrawOverlays(Utils.getApp()) && FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
FloatWindowHelper.showWindow()
}
}
- /**
- * 打开辅助
- */
- private fun openAccessibility() {
- val clickListener =
- DialogInterface.OnClickListener { dialog, which ->
- freshOpenServiceSwitch()
- val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
- startActivity(intent)
- }
- val cancel = DialogInterface.OnCancelListener {
- freshOpenServiceSwitch()
- }
- val cancelListener = DialogInterface.OnClickListener { dialog, which ->
- freshOpenServiceSwitch()
- }
- val dialog: AlertDialog = AlertDialog.Builder(this)
- .setMessage(R.string.tips)
- .setOnCancelListener(cancel)
- .setNegativeButton("取消", cancelListener)
- .setPositiveButton("确定", clickListener)
- .create()
- dialog.show()
- }
-
- private fun freshOpenServiceSwitch() {
- sw_accessibility.isChecked = PermissionHelper.isAccessibilitySettingOn()
- }
-
private fun showSelectHostDialog() {
val hostList = SPUtils.getInstance().getStringSet("host_list", mutableSetOf(Constant.host))
if (hostList.isNotEmpty()) {
diff --git a/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt b/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt
index e00b7da..2ec690b 100644
--- a/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt
+++ b/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt
@@ -78,10 +78,11 @@ class SettingsActivity : AppCompatActivity() {
if (!FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
ToastUtils.showLong("请同时打开后台弹出界面权限~")
PermissionPageManagement.goToSetting(this)
+ } else {
+ FloatWindowHelper.showWindow()
}
- FloatWindowHelper.showWindow()
} else {
- startActivityForResult(Intent(this, FloatViewGuideActivity::class.java), 0)
+ startActivity(Intent(this, FloatViewGuideActivity::class.java))
}
}
freshOpenMain()
@@ -94,24 +95,12 @@ class SettingsActivity : AppCompatActivity() {
if (Constant.robotId.isBlank()) {
ToastUtils.showLong("请先填写并保存链接号~")
} else if (!PermissionHelper.isAccessibilitySettingOn()) {
- openAccessibility()
+ startActivity(Intent(this, AccessibilityGuideActivity::class.java))
}
}
}
}
- override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
- super.onActivityResult(requestCode, resultCode, data)
- freshOpenFlow()
- if (Settings.canDrawOverlays(Utils.getApp())) {
- if (!FlowPermissionHelper.canBackgroundStart(Utils.getApp())) {
- ToastUtils.showLong("请同时打开后台弹出界面权限~")
- PermissionPageManagement.goToSetting(this)
- }
- FloatWindowHelper.showWindow()
- }
- }
-
private fun showReplyStrategyDialog() {
val strategyArray = arrayOf("只读消息不回调", "仅私聊和群聊@机器人回调", "私聊群聊全部回调")
QMUIDialog.CheckableDialogBuilder(this)
@@ -189,31 +178,6 @@ class SettingsActivity : AppCompatActivity() {
}
}
- /**
- * 打开辅助
- */
- private fun openAccessibility() {
- val clickListener =
- DialogInterface.OnClickListener { dialog, which ->
- freshOpenMain()
- val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
- startActivity(intent)
- }
- val cancel = DialogInterface.OnCancelListener {
- freshOpenMain()
- }
- val cancelListener = DialogInterface.OnClickListener { dialog, which ->
- freshOpenMain()
- }
- val dialog: AlertDialog = AlertDialog.Builder(this)
- .setMessage(R.string.tips)
- .setOnCancelListener(cancel)
- .setNegativeButton("取消", cancelListener)
- .setPositiveButton("确定", clickListener)
- .create()
- dialog.show()
- }
-
private fun updateRobotQaUrl(callbackUrl: String) {
try {
val json = hashMapOf()
diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
index c2b6334..dfde0c0 100644
--- a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
+++ b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
@@ -146,7 +146,7 @@ object WeworkController {
/**
* 进入群聊并修改群配置
- * 群名称、群公告、拉人、踢人
+ * 群名称、群公告、拉人、踢人、群备注、群模板
* @see WeworkMessageBean.INTO_GROUP_AND_CONFIG
* @param message#groupName 待修改的群
* @param message#newGroupName 修改群名 选填
diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt
index 66d9a2e..1086de8 100644
--- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt
+++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt
@@ -257,7 +257,7 @@ object WeworkOperationImpl {
/**
* 进入群聊并修改群配置
- * 群名称、群公告、拉人、踢人
+ * 群名称、群公告、拉人、踢人、群备注、群模板
* @param groupName 待修改的群
* @param newGroupName 修改群名 选填
* @param newGroupAnnouncement 修改群公告 选填
diff --git a/app/src/main/res/layout/activity_accessibility_guide.xml b/app/src/main/res/layout/activity_accessibility_guide.xml
new file mode 100644
index 0000000..b3878d9
--- /dev/null
+++ b/app/src/main/res/layout/activity_accessibility_guide.xml
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file