package com.gaiagps.iburn.fragment; import android.os.Bundle; import com.gaiagps.iburn.Constants; import com.gaiagps.iburn.adapters.CampCursorAdapter; import com.gaiagps.iburn.adapters.CursorRecyclerViewAdapter; import com.gaiagps.iburn.adapters.PlayaItemCursorAdapter; import com.gaiagps.iburn.database.DataProvider; import com.gaiagps.iburn.database.PlayaDatabase; import com.squareup.sqlbrite.SqlBrite; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import timber.log.Timber; /** * Fragment displaying all Playa Camps * <p/> * Created by davidbrodsky on 8/3/13. */ public class CampListViewFragment extends PlayaListViewFragment { public static CampListViewFragment newInstance() { return new CampListViewFragment(); } protected CursorRecyclerViewAdapter getAdapter() { return new CampCursorAdapter(getActivity(), null, this); } @Override public Subscription createSubscription() { return DataProvider.getInstance(getActivity().getApplicationContext()) .flatMap(dataProvider -> dataProvider.observeTable(PlayaDatabase.CAMPS, getAdapter().getRequiredProjection())) .doOnNext(query -> Timber.d("Got query")) .map(SqlBrite.Query::run) .observeOn(AndroidSchedulers.mainThread()) .subscribe(cursor -> { Timber.d("Data onNext"); onDataChanged(cursor); }, throwable -> Timber.e(throwable, "Data onError"), () -> Timber.d("Data onComplete")); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }