@@ -173,12 +173,17 @@ class ScreenOffAccessibilityService : AccessibilityService(), SensorEventListene
173173 override fun onAccessibilityEvent (event : AccessibilityEvent ? ) {
174174 if (event == null ) return
175175
176- securityHandler.onAccessibilityEvent(event)
177-
178176 if (event.eventType == AccessibilityEvent .TYPE_WINDOW_STATE_CHANGED ) {
179177 val packageName = event.packageName?.toString() ? : return
180178 appFlowHandler.onPackageChanged(packageName)
181179 }
180+
181+ // Bypass security scanning for camera apps to avoid performance interference
182+ if (appFlowHandler.isCameraApp()) {
183+ return
184+ }
185+
186+ securityHandler.onAccessibilityEvent(event)
182187 }
183188
184189 override fun onInterrupt () {}
@@ -197,7 +202,15 @@ class ScreenOffAccessibilityService : AccessibilityService(), SensorEventListene
197202
198203 override fun onKeyEvent (event : KeyEvent ): Boolean {
199204 val keyCode = event.keyCode
200- if (keyCode == KeyEvent .KEYCODE_VOLUME_UP || keyCode == KeyEvent .KEYCODE_VOLUME_DOWN ) {
205+ val isVolumeKey = keyCode == KeyEvent .KEYCODE_VOLUME_UP || keyCode == KeyEvent .KEYCODE_VOLUME_DOWN
206+
207+ if (isVolumeKey) {
208+ // Bypass logic for Camera apps to resolve conflicts with shutter/zoom functions
209+ val foregroundPackage = rootInActiveWindow?.packageName?.toString() ? : appFlowHandler.currentPackage
210+ if (appFlowHandler.isCameraApp(foregroundPackage)) {
211+ return false
212+ }
213+
201214 val powerManager = getSystemService(POWER_SERVICE ) as android.os.PowerManager
202215 if (! powerManager.isInteractive && event.action == KeyEvent .ACTION_DOWN ) {
203216 triggerAmbientGlanceVolume(keyCode)
0 commit comments