AXA, when disabled, should also disable all of the "tracers" in the replaced classes -- we are seeing thousands of SDK related errors when the SDK is disabled on the app and the performance of the application is affected.
How to enable AXACheckPolicyForActivation can be found here.
To explain how it works
AXACheckPolicyForActivation is set to true in application Manifest file and compile time all the class replacement happens
As AXACheckPolicyForActivation is true,during runtime AXA SDK initialization will be happening in 2 phases
When the app is launched, if data collection is off, SDK Phase 1 is initialized but SDK phase 2 is not started and a dummy agent is created.
When code enters the instrumented class, it will call the actual android class and the dummy agent will just return and not call any other API's.
Later if Data Collection is changed to ON
When the app is launched, as data collection is on, since SDK phase 2 is not yet initialized we will initialize that and Analytics Agent object will be created
In this case when code enters the instrumented class, Analytics Agent will collect all the required data or call API etc
Later if again Data Collection is changed to OFF
When the app is launched, as data collection is OFF and as SDK is already initialized we will toggle agent from Analytics Agent to dummy agent.
So as a dummy agent is created again, from the instrumented class we will just return without collecting anything.
Note: When AXACheckPolicyForActivation is set to true, AXA SDK will always listen to see if there is a profile change. This is a network request (not a push from the server), and hence this happens every time the apps switch from foreground to background and back. This means there is one extra call every time when app switch from foreground to background and back
Please refer logs for reference and testing is done with AXACheckPolicyForActivation flag as true
When app is launched first time after installation policy is checked and as its off
So please test with AXACheckPolicyForActivation flag in android manifest.xml and observe the logs