Can't figure out what's wrong with my code. I've integrated DJI Mobile SDK according to the guide and then even copied all the code from sample app(which works properly on my device), but in both cases I get the following exception when I call DJISDKManager.getInstance().registerApp() method. The lib is obfuscated, so I can't debug the error. The product is Mavic 2 Enterprise.
2020-12-22 12:31:11.382 2978-3031/com.example.package E/DJICrashHandler: uncaughtException 3
--------- beginning of crash
2020-12-22 12:31:11.583 2978-3031/com.example.package E/AndroidRuntime: FATAL EXCEPTION: UrgentThreadPool#1
Process: com.example.package, PID: 2978
java.lang.IllegalStateException: Method addObserver must be called on the main thread
at androidx.lifecycle.LifecycleRegistry.enforceMainThreadIfNeeded(LifecycleRegistry.java:317)
at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:172)
at dji.sdk.sdkmanager.DJISDKManager.initParams()
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager()
at dji.sdk.sdkmanager.DJISDKManager.registerApp()
at dji.sdk.sdkmanager.DJISDKManager.access$800()
at dji.sdk.sdkmanager.DJISDKManager$6$1.onDownloadSuccess()
at dji.internal.ghu.ghu.fdd()
at dji.sdk.sdkmanager.DJISDKManager$6.run()
at dji.sdksharedlib.gfd.koy.run()
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)