TripRosterViewModel(Application app) { allTrips=TripDatabase.get(app).tripStore().selectAllTrips(); } }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAllTrips(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); result=store.selectAllTrips(); } return(result); }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAllTrips(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); result=store.selectAllTrips(); } return(result); }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAllTrips(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); result=store.selectAllTrips(); } return(result); }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAll(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); result=store.selectAll(); } return(result); }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAllTrips(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); result=store.selectAllTrips(); } return(result); }
@Override protected List<Trip> doInBackground(Void... params) { TripStore store=TripDatabase.get(app).tripStore(); List<Trip> result=store.selectAll(); if (result==null || result.size()==0) { store.insert(new Trip("Vacation!", 10080), new Trip("Business Trip", 4320)); result=store.selectAll(); } return(result); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); TripStore store=TripDatabase.get(getActivity()).tripStore(); trips=store.maybeAllTrips() .subscribeOn(Schedulers.single()) .cache() .observeOn(AndroidSchedulers.mainThread()); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setLayoutManager(new LinearLayoutManager(getActivity())); getRecyclerView() .addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL)); TripStore store=TripDatabase.get(getActivity()).tripStore(); Flowable<List<Trip>> trips=store.maybeAllTrips() .subscribeOn(Schedulers.single()) .observeOn(AndroidSchedulers.mainThread()) .toFlowable(); LiveDataReactiveStreams.fromPublisher(trips) .observe(this, this::setAdapter); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setLayoutManager(new LinearLayoutManager(getActivity())); getRecyclerView() .addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL)); TripRosterViewModel vm=((MainActivity)getActivity()).getViewModel(); vm.allTrips.observe(this, trips -> { setAdapter(new TripsAdapter(trips, getActivity().getLayoutInflater())); if (trips==null || trips.size()==0) { final TripStore store=TripDatabase.get(getActivity()).tripStore(); new Thread() { @Override public void run() { store.insert(new Trip("Vacation!", 10080, Priority.MEDIUM, new Date()), new Trip("Business Trip", 4320, Priority.OMG, new Date())); } }.start(); } }); }