robotemi / sdk

temi is an unparalleled robotic platform introducing a new dimension of development - movement. Using temi’s SDK, developers can create new functionalities and introduce new use cases via temi’s Android tablet. temi’s movement and navigation capabilities run off of it's Linux computer and uses a set of 16 sensors including a Lidar, depth cameras, driving cameras, and microphones. We encourage our developer community to suggest and request expanded functionality within the SDK and we will adhere to your needs. We want to enable you to create skills like never seen before! We will be constantly improving the SDK and its documentation. Please feel free to reach out to us with any questions or thoughts at developers@robotemi.com
https://www.robotemi.com/
207 stars 86 forks source link

AndroidRuntime crash #127

Open zsjinwei opened 4 years ago

zsjinwei commented 4 years ago

09-22 11:04:09.364 18297-18297/com.roboteam.teamy.china E/AndroidRuntime: FATAL EXCEPTION: main Process: com.roboteam.teamy.china, PID: 18297 io.reactivex.exceptions.OnErrorNotImplementedException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference at com.roboteam.teamy.lui.robostatusui.topbar.tabview.TabPipeline.subscribeSkillInfoHolder(TabPipeline.java:58) at [[ ↑↑ Inferred subscribe point ↑↑ ]].(:0) at [[ ↓↓ Original trace ↓↓ ]].(:0) at com.roboteam.teamy.lui.robostatusui.topbar.tabview.TabPipeline.lambda$subscribeSkillInfoHolder$0(TabPipeline.java:43) at com.roboteam.teamy.lui.robostatusui.topbar.tabview.-$$Lambda$TabPipeline$LsoPXtAD3dyFXNXFffm-xIRlE9U.test(lambda) at io.reactivex.internal.operators.flowable.FlowableFilter$FilterSubscriber.tryOnNext(FlowableFilter.java:68) at io.reactivex.internal.operators.flowable.FlowableFilter$FilterSubscriber.onNext(FlowableFilter.java:52) at io.reactivex.internal.operators.flowable.FlowableOnBackpressureLatest$BackpressureLatestSubscriber.drain(FlowableOnBackpressureLatest.java:129) at io.reactivex.internal.operators.flowable.FlowableOnBackpressureLatest$BackpressureLatestSubscriber.onNext(FlowableOnBackpressureLatest.java:68) at io.reactivex.internal.operators.flowable.FlowableFromObservable$SubscriberObserver.onNext(FlowableFromObservable.java:54) at com.jakewharton.rxrelay2.BehaviorRelay$BehaviorDisposable.test(BehaviorRelay.java:364) at com.jakewharton.rxrelay2.BehaviorRelay$BehaviorDisposable.emitNext(BehaviorRelay.java:358) at com.jakewharton.rxrelay2.BehaviorRelay.accept(BehaviorRelay.java:135) at com.roboteam.teamy.shared.CurrentActivityInfoHolder.push(CurrentActivityInfoHolder.java:31) at com.roboteam.teamy.sdk.SdkServiceBinder$1.lambda$onStart$4$SdkServiceBinder$1(SdkServiceBinder.java:340) at com.roboteam.teamy.sdk.-$$Lambda$SdkServiceBinder$1$3bgWYRCybvqxXQsmPZQkoGSgJTM.run(lambda) at android.os.Handler.handleCallback(Handler.java:743) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:772) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)

zsjinwei commented 4 years ago

Hi Team, following is the code, while I add addOnRobotReadyListener function, I got androidruntime crash, and while I remove addOnRobotReadyListener function, no androidruntime happen, Can you help me? ` public final class HomeActivity extends Activity implements OnDesktopEditListener, OnRobotReadyListener { .... @Override public void onRobotReady(boolean isReady) { Log.e(TAG, isReady? ">>>>>>>>>>>ready":">>>>>>>>>>>>>>not ready"); if (isReady) { try { final ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); Log.e(TAG, ">>>>>>>>>>>"+ activityInfo.toString()); Robot.getInstance().onStart(activityInfo); Log.e(TAG, ">>>>>>>>>>>onStart"); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException(e); } } } .... @Override protected void onStart() { super.onStart(); Robot.getInstance().addOnRobotReadyListener(this); }

@Override
protected  void onStop() {
    super.onStop();
    Robot.getInstance().removeOnRobotReadyListener(this);
}

`