In a legacy project using EasyMVP have a @CustomView extending LinearLayout and for some reason it throws NPE in attachView (everything extends AppCompatActivity, so it's not related to #34) and in PresenterLoaderCallbacks.onLoaderReset
Is this project still alive? Could You provide me some help with that?
It's using version 1.0.5 of easyMVP
The app returns to screen containing this custom view after opening another activity for result (it might be some hint)
Custom view presenter:
It has actually one method doin thing specific for our model, so i'll hide that one for readability, but the body of presenter:
public class AddressPresenter extends BasePresenter<AddressView> {
public AddressPresenter() {
}
public void geocode(Context context, double lat, double lng) {
// RxJava stuff
}
}
Custom view:
As above, just the body, to keep it clean:
@CustomView(presenter = AddressPresenter.class)
public class AddressForm extends LinearLayout implements AddressView {
}
Attach view NPE
Line of code causing crash:
presenter.onViewAttached((AddressView)view);
Sony Xperia Z5 Compact (E5823), 2048MB RAM, Android 7.1
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2720)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2781)
at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:4615)
at android.app.ActivityThread.-wrap19 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1514)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:241)
at android.app.ActivityThread.main (ActivityThread.java:6274)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776)
Caused by: java.lang.NullPointerException:
at xx.xx.mobile.ui.widget.address.AddressForm_ViewDelegate.attachView (AddressForm_ViewDelegate.java:33)
at xx.xx.mobile.ui.widget.address.AddressForm.onAttachedToWindow (AddressForm.java)
at android.view.View.dispatchAttachedToWindow (View.java:15561)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2916)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:2923)
at android.view.ViewGroup.addViewInner (ViewGroup.java:4456)
at android.view.ViewGroup.addView (ViewGroup.java:4258)
at android.view.ViewGroup.addView (ViewGroup.java:4198)
at android.view.ViewGroup.addView (ViewGroup.java:4171)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1309)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1528)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1595)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManager.java:2900)
at android.support.v4.app.FragmentController.dispatchActivityCreated (FragmentController.java:201)
at android.support.v4.app.FragmentActivity.onStart (FragmentActivity.java:603)
at android.support.v7.app.AppCompatActivity.onStart (AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1249)
at android.app.Activity.performStart (Activity.java:6737)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2683)
onLoaderReset NPE
Line of code causing crash:
delegate.get().detachView();
Samsung Galaxy S7 Edge (hero2lte), 4096MB RAM, Android 8.0
java.lang.RuntimeException:
at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4605)
at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:4623)
at android.app.ActivityThread.-wrap5 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1757)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6944)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException:
at xx.xx.mobile.ui.widget.address.AddressForm_ViewDelegate$PresenterLoaderCallbacks.onLoaderReset (AddressForm_ViewDelegate.java:96)
at android.support.v4.app.LoaderManagerImpl$LoaderInfo.destroy (LoaderManager.java:357)
at android.support.v4.app.LoaderManagerImpl.doDestroy (LoaderManager.java:832)
at android.support.v4.app.FragmentHostCallback.doLoaderDestroy (FragmentHostCallback.java:285)
at android.support.v4.app.FragmentController.doLoaderDestroy (FragmentController.java:420)
at android.support.v4.app.FragmentActivity.onDestroy (FragmentActivity.java:391)
at android.support.v7.app.AppCompatActivity.onDestroy (AppCompatActivity.java:209)
at android.app.Activity.performDestroy (Activity.java:7470)
at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1255)
at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4592)