TopBarPanelWidget crashes app on SmartController
bbenson09 opened this issue · 1 comments
bbenson09 commented
Hi, I'm getting the following error whenever I try to use the TopBarPanelWidget.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.flyby.pilot, PID: 9846
java.lang.NullPointerException: Attempt to invoke interface method 'boolean dji.ux.beta.core.base.GlobalPreferencesInterface.isAirSenseTermsNeverShown()' on a null object reference
at dji.ux.beta.core.widget.airsense.AirSenseWidget.showWarningDialog(:282)
at dji.ux.beta.core.widget.airsense.AirSenseWidget.updateAirSenseWarningLevel(:248)
at dji.ux.beta.core.widget.airsense.AirSenseWidget.access$updateAirSenseWarningLevel(:91)
at dji.ux.beta.core.widget.airsense.AirSenseWidget$reactToModelChanges$1.accept(:231)
at dji.ux.beta.core.widget.airsense.AirSenseWidget$reactToModelChanges$1.accept(:91)
at dji.thirdparty.io.reactivex.internal.subscribers.LambdaSubscriber.onNext()
at dji.thirdparty.io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync()
at dji.thirdparty.io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run()
at dji.thirdparty.io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run()
at android.os.Handler.handleCallback(Handler.java:755)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:167)
at android.app.ActivityThread.main(ActivityThread.java:6240)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1000)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:868)
E/fdd: runMethod: null
The element is being used in my activity_main.xml as such:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app= "http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:context=".MainActivity">
<dji.ux.beta.core.panelwidget.topbar.TopBarPanelWidget
android:id="@+id/panel_top_bar"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/black"
app:layout_constraintHeight_percent="0.08"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
[...]
</androidx.constraintlayout.widget.ConstraintLayout>
Am I doing something incorrectly or is this a bug?
From my build.gradle:
minSdkVersion: 19
targetSdkVersion: 30
implementation 'com.github.dji-sdk:Mobile-UXSDK-Beta-Android:v0.4.0'
Smart Controller running Android version 7.1.2
ge17779 commented
Did you try to initialize the GlobalPreferencesManager like the documentation is wrote?
Something like this:
GlobalPreferencesManager.initialize(new DefaultGlobalPreferences(this));
https://github.com/dji-sdk/Mobile-UXSDK-Beta-Android/wiki/UX-SDK-5.0-Overview (check the Global Preferences section)