No-Op Behavior
How WormaCeptor safely becomes a no-op in release builds.
No-Op Behavior
WormaCeptor is designed to have zero impact on release builds.
How It Works
- The
api-clientmodule contains only lightweight API facades and aNoOpProvider - At
init()time, it uses reflection to look forServiceProviderImplin the classpath - If found (debug build with
api-impl-persistenceorapi-impl-imdb), it delegates to the real implementation - If not found (release build), all API calls silently do nothing
What Happens in Release Builds
| API Call | Release Behavior |
|---|---|
WormaCeptorApi.init() | Initializes NoOpProvider, returns immediately |
WormaCeptorInterceptor.intercept() | Passes request through unchanged |
WormaCeptorKtorPlugin | Passes request through unchanged |
WormaCeptorWebView.createMonitoringClient() | Returns the delegate (or a plain WebViewClient) |
WormaCeptorWebSocket.wrap() | Returns a pass-through wrapper |
getLaunchIntent() | Returns an empty Intent |
startActivityOnShake() | No-op (silently fails without debug provider) |
showFloatingButton() | Returns false |
showPerformanceOverlay() | Returns false |