В приведенном ниже коде mSafeObserver.isDispose(); всегда возвращайте исключение нулевого указателя, если isDatabaseEmpty == false ([code]zipped.subscribe(mSafeObserver);[/code] не вызывается).
[code]private SafeObserver mSafeObserver;
private Observer observer = new Observer() { // ... }
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSafeObserver = new SafeObserver(observer); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { // ... if (isDatabaseEmpty) { zipped.subscribe(mSafeObserver); } else { initRecycler(); } }
@Override public void onDestroy() { super.onDestroy(); if (mSafeObserver != null && !mSafeObserver.isDisposed()) mSafeObserver.dispose(); } [/code]