Refine code

This commit is contained in:
Super12138 2024-06-09 13:24:52 +08:00
parent 5a15826a62
commit ef5818673c
10 changed files with 42 additions and 45 deletions

View file

@ -0,0 +1,13 @@
package cn.super12138.todo.utils
import android.view.HapticFeedbackConstants
import android.view.View
import cn.super12138.todo.constant.GlobalValues
object VibrationUtils {
fun performHapticFeedback(view: View, hapticFeedbackConstants: Int=HapticFeedbackConstants.CONTEXT_CLICK) {
if (GlobalValues.hapticFeedback) {
view.performHapticFeedback(hapticFeedbackConstants)
}
}
}

View file

@ -8,6 +8,7 @@ import cn.super12138.todo.constant.Constants
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.ActivityAboutBinding import cn.super12138.todo.databinding.ActivityAboutBinding
import cn.super12138.todo.utils.VersionUtils import cn.super12138.todo.utils.VersionUtils
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.utils.showToast import cn.super12138.todo.utils.showToast
import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.BaseActivity
@ -20,17 +21,13 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
binding.appVersion.text = VersionUtils.getAppVersion(this) binding.appVersion.text = VersionUtils.getAppVersion(this)
binding.toolBar.setNavigationOnClickListener { binding.toolBar.setNavigationOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
finish() finish()
} }
binding.checkUpdate.setOnClickListener { binding.checkUpdate.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val intent = Intent(Intent.ACTION_VIEW).apply { val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse(Constants.UPDATE_URL) data = Uri.parse(Constants.UPDATE_URL)
@ -39,9 +36,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
} }
binding.openSource.setOnClickListener { binding.openSource.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val intent = Intent(Intent.ACTION_VIEW).apply { val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse(Constants.REPO_GITHUB_URL) data = Uri.parse(Constants.REPO_GITHUB_URL)
@ -51,9 +46,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
binding.developerInfo.setOnClickListener { binding.developerInfo.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val intent = Intent(Intent.ACTION_VIEW).apply { val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse(Constants.AUTHOR_GITHUB_URL) data = Uri.parse(Constants.AUTHOR_GITHUB_URL)

View file

@ -10,6 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import cn.super12138.todo.ToDoApp import cn.super12138.todo.ToDoApp
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.ActivityAllTasksBinding import cn.super12138.todo.databinding.ActivityAllTasksBinding
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.BaseActivity
import me.zhanghai.android.fastscroll.FastScrollerBuilder import me.zhanghai.android.fastscroll.FastScrollerBuilder
@ -38,9 +39,7 @@ class AllTasksActivity : BaseActivity<ActivityAllTasksBinding>() {
} }
binding.toolBar.setNavigationOnClickListener { binding.toolBar.setNavigationOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
finish() finish()
} }

View file

@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.logic.model.ToDo import cn.super12138.todo.logic.model.ToDo
import cn.super12138.todo.utils.VibrationUtils
class AllTasksAdapter( class AllTasksAdapter(
private val todoList: MutableList<ToDo>, private val todoList: MutableList<ToDo>,
@ -35,9 +36,7 @@ class AllTasksAdapter(
holder.todoSubject.text = todo.subject holder.todoSubject.text = todo.subject
holder.itemView.setOnClickListener { holder.itemView.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val infoBottomSheet = InfoBottomSheet.newInstance( val infoBottomSheet = InfoBottomSheet.newInstance(
todo.content, todo.content,

View file

@ -1,7 +1,6 @@
package cn.super12138.todo.views.bottomsheet package cn.super12138.todo.views.bottomsheet
import android.os.Bundle import android.os.Bundle
import android.view.HapticFeedbackConstants
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -13,6 +12,7 @@ import cn.super12138.todo.databinding.BottomSheetTodoBinding
import cn.super12138.todo.logic.dao.ToDoRoom import cn.super12138.todo.logic.dao.ToDoRoom
import cn.super12138.todo.logic.model.ToDo import cn.super12138.todo.logic.model.ToDo
import cn.super12138.todo.utils.TextUtils import cn.super12138.todo.utils.TextUtils
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.utils.showToast import cn.super12138.todo.utils.showToast
import cn.super12138.todo.utils.toEditable import cn.super12138.todo.utils.toEditable
import cn.super12138.todo.views.progress.ProgressFragmentViewModel import cn.super12138.todo.views.progress.ProgressFragmentViewModel
@ -104,9 +104,7 @@ class ToDoBottomSheet : BottomSheetDialogFragment() {
} }
binding.btnSave.setOnClickListener { binding.btnSave.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val todoContent = binding.todoContent.editText?.text.toString() val todoContent = binding.todoContent.editText?.text.toString()
// 内容判空 // 内容判空
@ -168,17 +166,13 @@ class ToDoBottomSheet : BottomSheetDialogFragment() {
} }
binding.btnCancel.setOnClickListener { binding.btnCancel.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
dismiss() dismiss()
} }
binding.btnDelete.setOnClickListener { binding.btnDelete.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
todoViewModel.deleteTask(todoPosition, todoUUID) todoViewModel.deleteTask(todoPosition, todoUUID)
progressViewModel.updateProgress() progressViewModel.updateProgress()

View file

@ -11,6 +11,7 @@ import androidx.core.view.updateLayoutParams
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.ActivityCrashBinding import cn.super12138.todo.databinding.ActivityCrashBinding
import cn.super12138.todo.utils.VersionUtils import cn.super12138.todo.utils.VersionUtils
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.BaseActivity
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Calendar import java.util.Calendar
@ -18,7 +19,6 @@ import java.util.Locale
class CrashActivity : BaseActivity<ActivityCrashBinding>() { class CrashActivity : BaseActivity<ActivityCrashBinding>() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
ViewCompat.setOnApplyWindowInsetsListener(binding.exitApp) { view, windowInsets -> ViewCompat.setOnApplyWindowInsetsListener(binding.exitApp) { view, windowInsets ->
@ -56,9 +56,8 @@ class CrashActivity : BaseActivity<ActivityCrashBinding>() {
} }
binding.exitApp.setOnClickListener { binding.exitApp.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
this.finishAffinity() this.finishAffinity()
} }
} }

View file

@ -8,6 +8,7 @@ import cn.super12138.todo.R
import cn.super12138.todo.ToDoApp import cn.super12138.todo.ToDoApp
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.ActivityMainBinding import cn.super12138.todo.databinding.ActivityMainBinding
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.BaseActivity
import cn.super12138.todo.views.settings.SettingsActivity import cn.super12138.todo.views.settings.SettingsActivity
@ -19,9 +20,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
R.id.item_settings -> { R.id.item_settings -> {
val intent = Intent(ToDoApp.context, SettingsActivity::class.java) val intent = Intent(ToDoApp.context, SettingsActivity::class.java)
startActivity(intent) startActivity(intent)
if (GlobalValues.hapticFeedback) {
binding.toolBar.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK) VibrationUtils.performHapticFeedback(binding.toolBar)
}
true true
} }

View file

@ -1,10 +1,9 @@
package cn.super12138.todo.views.settings package cn.super12138.todo.views.settings
import android.os.Bundle import android.os.Bundle
import android.view.HapticFeedbackConstants
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.ActivitySettingsBinding import cn.super12138.todo.databinding.ActivitySettingsBinding
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.BaseActivity
class SettingsActivity : BaseActivity<ActivitySettingsBinding>() { class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
@ -20,9 +19,7 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayHomeAsUpEnabled(true)
binding.toolBar.setNavigationOnClickListener { binding.toolBar.setNavigationOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
finish() finish()
} }

View file

@ -13,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.constant.GlobalValues import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.logic.model.ToDo import cn.super12138.todo.logic.model.ToDo
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.utils.showToast import cn.super12138.todo.utils.showToast
import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet
import cn.super12138.todo.views.progress.ProgressFragmentViewModel import cn.super12138.todo.views.progress.ProgressFragmentViewModel
@ -78,6 +79,7 @@ class ToDoAdapter(
holder.itemView.setOnClickListener { holder.itemView.setOnClickListener {
if (GlobalValues.devMode) { if (GlobalValues.devMode) {
VibrationUtils.performHapticFeedback(it)
"Current position: $position".showToast() "Current position: $position".showToast()
} }
} }

View file

@ -1,7 +1,6 @@
package cn.super12138.todo.views.todo package cn.super12138.todo.views.todo
import android.os.Bundle import android.os.Bundle
import android.view.HapticFeedbackConstants
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -13,9 +12,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.ToDoApp import cn.super12138.todo.ToDoApp
import cn.super12138.todo.constant.GlobalValues
import cn.super12138.todo.databinding.FragmentTodoBinding import cn.super12138.todo.databinding.FragmentTodoBinding
import cn.super12138.todo.logic.Repository import cn.super12138.todo.logic.Repository
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet
import cn.super12138.todo.views.progress.ProgressFragmentViewModel import cn.super12138.todo.views.progress.ProgressFragmentViewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
@ -66,9 +65,8 @@ class ToDoFragment : Fragment() {
} }
binding.addItem.setOnClickListener { binding.addItem.setOnClickListener {
if (GlobalValues.hapticFeedback) { VibrationUtils.performHapticFeedback(it)
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}
val toDoBottomSheet = ToDoBottomSheet() val toDoBottomSheet = ToDoBottomSheet()
toDoBottomSheet.show(parentFragmentManager, ToDoBottomSheet.TAG) toDoBottomSheet.show(parentFragmentManager, ToDoBottomSheet.TAG)
} }
@ -79,6 +77,8 @@ class ToDoFragment : Fragment() {
.setTitle(R.string.warning) .setTitle(R.string.warning)
.setMessage(R.string.delete_confirm) .setMessage(R.string.delete_confirm)
.setPositiveButton(R.string.ok) { _, _ -> .setPositiveButton(R.string.ok) { _, _ ->
VibrationUtils.performHapticFeedback(it)
// 清除 Recycler View // 清除 Recycler View
todoList.clear() todoList.clear()
// 清除数据库 // 清除数据库