CommonUtils.kt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.yingyang.healthconsultation.utils
  2. import java.io.File
  3. /**
  4. * 防止双击
  5. */
  6. object CommonUtils {
  7. // 两次点击按钮之间的点击间隔不能少于1000毫秒
  8. private const val SHORT_MIN_CLICK_DELAY_TIME = 1000
  9. private const val MIN_CLICK_DELAY_TIME = 1500
  10. private var lastClickTime: Long = 0
  11. val isFastClick: Boolean
  12. get() {
  13. var flag = false
  14. val curClickTime = System.currentTimeMillis()
  15. if (curClickTime - lastClickTime >= MIN_CLICK_DELAY_TIME) {
  16. flag = true
  17. }
  18. lastClickTime = curClickTime
  19. return flag
  20. }
  21. val isShortFastClick: Boolean
  22. get() {
  23. var flag = false
  24. val curClickTime = System.currentTimeMillis()
  25. if (curClickTime - lastClickTime >= SHORT_MIN_CLICK_DELAY_TIME) {
  26. flag = true
  27. }
  28. lastClickTime = curClickTime
  29. return flag
  30. }
  31. @JvmStatic
  32. fun getCompanyUnit(company: String, num: String): String {
  33. return if ("g" == company || "克" == company) "" else "共(" + num + "g)"
  34. }
  35. /**
  36. * 删除目录及目录下的文件
  37. */
  38. fun deleteDirectory(dir: String): Boolean {
  39. // 如果dir不以文件分隔符结尾,自动添加文件分隔符
  40. var dir = dir
  41. if (!dir.endsWith(File.separator)) dir += File.separator
  42. val dirFile = File(dir)
  43. // 如果dir对应的文件不存在,或者不是一个目录,则退出
  44. if (!dirFile.exists() || !dirFile.isDirectory) {
  45. return false
  46. }
  47. var flag = true
  48. // 删除文件夹中的所有文件包括子目录
  49. val files: Array<File> = dirFile.listFiles()
  50. for (i in files.indices) {
  51. // 删除子文件
  52. if (files[i].isFile) {
  53. flag = deleteFile(files[i].absolutePath)
  54. if (!flag) break
  55. } else if (files[i].isDirectory) {
  56. flag = deleteDirectory(
  57. files[i].absolutePath
  58. )
  59. if (!flag) break
  60. }
  61. }
  62. if (!flag) {
  63. return false
  64. }
  65. // 删除当前目录
  66. return dirFile.delete()
  67. }
  68. /**
  69. * 删除单个文件
  70. */
  71. private fun deleteFile(fileName: String): Boolean {
  72. val file = File(fileName)
  73. // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
  74. return if (file.exists() && file.isFile) {
  75. file.delete()
  76. } else {
  77. false
  78. }
  79. }
  80. }