Implement long click listener for chat button

Add long click listener to handle app termination based on user settings.
This commit is contained in:
C R E S T
2026-04-14 16:09:00 +05:30
committed by GitHub
parent 25dd438da2
commit a859d4825b

View File

@@ -22,6 +22,29 @@ class SettingsMenu : AbstractMenu() {
view.setOnClickListener {
context.bridgeClient.openOverlay(OverlayType.SETTINGS)
}
view.setOnLongClickListener {
val holdKillConfig = context.config.userInterface.chatButtonHoldKill
if (!holdKillConfig.enabled.get()) {
return@setOnLongClickListener false
}
val targetApps = holdKillConfig.targetApps.get()
val shouldKillModule = targetApps.contains("kill_purrfectsnap")
val shouldKillSnapchat = targetApps.contains("kill_snapchat")
if (shouldKillModule) {
runCatching {
context.bridgeClient.terminateModuleProcess()
}.onFailure {
context.log.error("Failed to terminate PurrfectSnap module process", it, "SettingsMenu")
}
}
if (shouldKillSnapchat) {
context.forceCloseApp()
}
shouldKillModule || shouldKillSnapchat
}
}
}
}