Package.kt 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.example.modifier.utils
  2. import com.example.modifier.constants.CMD_HOME
  3. import com.example.modifier.constants.CMD_MESSAGING_APP
  4. import com.example.modifier.constants.CMD_START_PLAY_STORE
  5. import com.example.modifier.constants.PACKAGE_GMS
  6. import com.example.modifier.constants.PACKAGE_GSF
  7. import com.example.modifier.constants.PACKAGE_MESSAGING
  8. import com.example.modifier.extension.clear
  9. import com.example.modifier.extension.kill
  10. import com.example.modifier.extension.resume
  11. import com.example.modifier.extension.suspend
  12. import kotlinx.coroutines.delay
  13. suspend fun suspendPackage(vararg packages: String) {
  14. packages.forEach {
  15. shellRun(
  16. it.suspend(),
  17. it.kill()
  18. )
  19. delay(1000)
  20. }
  21. }
  22. suspend fun resumePackage(vararg packages: String) {
  23. packages.forEach {
  24. shellRun(
  25. it.resume(),
  26. it.kill()
  27. )
  28. delay(1000)
  29. }
  30. }
  31. suspend fun clear(gsf: Boolean, gms: Boolean, sms: Boolean) {
  32. try {
  33. suspendPackage(PACKAGE_GSF, PACKAGE_GMS, PACKAGE_MESSAGING)
  34. val cmds: MutableList<String> = ArrayList()
  35. // suspend
  36. if (gsf) {
  37. cmds.add(PACKAGE_GSF.suspend())
  38. cmds.add(PACKAGE_GSF.kill())
  39. cmds.add("echo 'gsf suspended'")
  40. }
  41. if (gms) {
  42. cmds.add(PACKAGE_GMS.suspend())
  43. cmds.add(PACKAGE_GMS.kill())
  44. cmds.add("echo 'gms suspended'")
  45. }
  46. if (sms) {
  47. cmds.add(PACKAGE_MESSAGING.suspend())
  48. cmds.add(PACKAGE_MESSAGING.kill())
  49. cmds.add("echo 'sms suspended'")
  50. }
  51. cmds.add("sleep 1")
  52. // clear
  53. if (gsf) {
  54. cmds.add(PACKAGE_GSF.clear())
  55. cmds.add("echo 'cleared gsf'")
  56. }
  57. if (gms) {
  58. cmds.add(PACKAGE_GMS.clear())
  59. cmds.add("echo 'cleared gms'")
  60. }
  61. if (sms) {
  62. cmds.add(PACKAGE_MESSAGING.clear())
  63. cmds.add("echo 'cleared sms'")
  64. }
  65. cmds.add("sleep 1")
  66. // unsuspend
  67. if (gsf) {
  68. cmds.add(PACKAGE_GSF.resume())
  69. cmds.add("echo 'gsf unsuspend'")
  70. }
  71. if (gms) {
  72. cmds.add(PACKAGE_GMS.resume())
  73. cmds.add("echo 'gms unsuspend'")
  74. }
  75. if (sms) {
  76. cmds.add(PACKAGE_MESSAGING.resume())
  77. cmds.add("echo 'sms unsuspend'")
  78. }
  79. cmds.add("sleep 1")
  80. shellRun(*cmds.toTypedArray<String>())
  81. } catch (e: Exception) {
  82. e.printStackTrace()
  83. }
  84. }
  85. suspend fun resetAll() {
  86. try {
  87. clearConv()
  88. shellRun(
  89. PACKAGE_MESSAGING.suspend(),
  90. PACKAGE_MESSAGING.kill(),
  91. PACKAGE_MESSAGING.clear(),
  92. PACKAGE_GSF.clear(),
  93. PACKAGE_GMS.clear(),
  94. "sleep 1",
  95. CMD_START_PLAY_STORE,
  96. "sleep 1",
  97. CMD_HOME,
  98. "sleep 10",
  99. PACKAGE_GMS.clear(),
  100. "sleep 2",
  101. "settings put secure location_mode 0",
  102. // "pm revoke com.google.android.gms android.permission.GET_ACCOUNTS",
  103. // "pm revoke com.google.android.gms android.permission.SYSTEM_ALERT_WINDOW",
  104. // "pm revoke com.google.android.gms android.permission.POST_NOTIFICATIONS",
  105. // "pm revoke com.google.android.gms android.permission.READ_CONTACTS",
  106. // "pm revoke com.google.android.gms android.permission.CAMERA",
  107. // "pm revoke com.google.android.gms android.permission.RECEIVE_MMS",
  108. // "pm revoke com.google.android.gms android.permission.GET_APP_OPS_STATS",
  109. // "pm revoke com.google.android.gms android.permission.PROCESS_OUTGOING_CALLS",
  110. // "pm revoke com.google.android.gms android.permission.BLUETOOTH_CONNECT",
  111. // "pm revoke com.google.android.gms android.permission.BLUETOOTH_SCAN",
  112. // "pm revoke com.google.android.gms android.permission.BLUETOOTH_ADVERTISE",
  113. // "pm revoke com.google.android.gms android.permission.NEARBY_WIFI_DEVICES",
  114. // "pm revoke com.google.android.gms android.permission.UWB_RANGING",
  115. // "pm revoke com.google.android.gms android.permission.READ_CALL_LOG",
  116. // "pm revoke com.google.android.gms android.permission.WRITE_CONTACTS",
  117. // "pm revoke com.google.android.gms android.permission.CALL_PHONE",
  118. // "pm revoke com.google.android.gms android.permission.RECORD_AUDIO",
  119. // "pm revoke com.google.android.gms android.permission.READ_LOGS",
  120. // "pm revoke com.google.android.gms android.permission.READ_MEDIA_AUDIO",
  121. // "pm revoke com.google.android.gms android.permission.READ_MEDIA_IMAGES",
  122. // "pm revoke com.google.android.gms android.permission.READ_MEDIA_VIDEO",
  123. // "pm revoke com.google.android.gms android.permission.ACCESS_MEDIA_LOCATION",
  124. // "pm revoke com.google.android.gms android.permission.ACCESS_BROADCAST_RESPONSE_STATS",
  125. // "pm revoke com.google.android.gms android.permission.WRITE_CALL_LOG",
  126. // "pm revoke com.google.android.gms android.permission.BODY_SENSORS",
  127. // "pm revoke com.google.android.gms android.permission.DUMP",
  128. "sleep 2",
  129. PACKAGE_MESSAGING.kill(),
  130. PACKAGE_MESSAGING.resume(),
  131. CMD_MESSAGING_APP
  132. )
  133. } catch (e: Exception) {
  134. e.printStackTrace()
  135. }
  136. }