Skip to content

ACS: Prevent platform bug that can cause ACS to crash and deactivate - #1019

Merged
d4rken merged 1 commit into
mainfrom
acs_crash_if_launched_by_3rd_party
Feb 20, 2024
Merged

ACS: Prevent platform bug that can cause ACS to crash and deactivate#1019
d4rken merged 1 commit into
mainfrom
acs_crash_if_launched_by_3rd_party

Conversation

@d4rken

@d4rken d4rken commented Feb 18, 2024

Copy link
Copy Markdown
Member

Check if we are launched by a 3rd party and if we are, don't init and abort early. Crashing repeatedly could block the ACS from being launched until reboot. This can happen if the app is launched in a restricted mode by the system.

e.g.

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:4681)
  at android.app.ActivityThread.access$100 (ActivityThread.java:255)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2204)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:238)
  at android.os.Looper.loop (Looper.java:349)
  at android.app.ActivityThread.main (ActivityThread.java:8262)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:584)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1034)
Caused by java.lang.IllegalStateException: Hilt service must be attached to an @AndroidEntryPoint Application. Found: class android.app.Application
  at dagger.hilt.internal.Preconditions.checkState (Preconditions.java:2)
  at dagger.hilt.android.internal.managers.ServiceComponentManager.generatedComponent (ServiceComponentManager.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.generatedComponent (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.inject (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.onCreate (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.AutomationService.onCreate (AutomationService.java)
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:4668)

Check if we are launched by a 3rd party and if we are, don't init and abort early.
Crashing repeatedly could block the ACS from being launched until reboot.
This can happen if the app is launched in a `restricted` mode by the system.

e.g.

```java
Exception java.lang.RuntimeException:
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:4681)
  at android.app.ActivityThread.access$100 (ActivityThread.java:255)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2204)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:238)
  at android.os.Looper.loop (Looper.java:349)
  at android.app.ActivityThread.main (ActivityThread.java:8262)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:584)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1034)
Caused by java.lang.IllegalStateException: Hilt service must be attached to an @androidentrypoint Application. Found: class android.app.Application
  at dagger.hilt.internal.Preconditions.checkState (Preconditions.java:2)
  at dagger.hilt.android.internal.managers.ServiceComponentManager.generatedComponent (ServiceComponentManager.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.generatedComponent (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.inject (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.Hilt_AutomationService.onCreate (Hilt_AutomationService.java)
  at eu.darken.sdmse.automation.core.AutomationService.onCreate (AutomationService.java)
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:4668)
```
@d4rken d4rken added enhancement New feature, request, improvement or optimization Automation Accessibility service related (ACS) labels Feb 18, 2024
@d4rken
d4rken merged commit 2bd3ed2 into main Feb 20, 2024
@d4rken
d4rken deleted the acs_crash_if_launched_by_3rd_party branch February 20, 2024 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Automation Accessibility service related (ACS) enhancement New feature, request, improvement or optimization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant