Android Open Source - AndroidWeatherBuoyDemo Buoy Listing Presenter






From Project

Back to project page AndroidWeatherBuoyDemo.

License

The source code is released under:

Apache License

If you think the Android project AndroidWeatherBuoyDemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.kevinrschultz.weatherbuoy.ui;
// ww w.j ava 2  s  . c o m
import com.kevinrschultz.weatherbuoy.data.FakeBuoyListingGenerator;
import com.kevinrschultz.weatherbuoy.model.BuoyDescription;
import com.kevinrschultz.weatherbuoy.model.Region;

import java.util.List;

/**
 * @author Kevin Schultz (kschultz@gilt.com)
 */
public class BuoyListingPresenter {

    private BuoyListingView view;

    public BuoyListingPresenter() {
        this.view = new NoOpBuoyListingView();
    }

    // Lifecycle methods

    public void setView(BuoyListingView view) {
        this.view = view;
        selectRegion(Region.ATLANTIC);
    }

    public void clearView() {
        setView(new NoOpBuoyListingView());
    }

    // Business logic

    public void selectRegion(Region region) {
        if (region == null) {
            region = Region.ATLANTIC;
        }
        List<BuoyDescription> descriptions;
        switch(region) {
            case ATLANTIC:
                descriptions = FakeBuoyListingGenerator.makeAtlanticBuoyListings();
                break;
            case CARIBBEAN:
                descriptions = FakeBuoyListingGenerator.makeCaribbeanBuoyListings();
                break;
            case PACIFIC:
                descriptions = FakeBuoyListingGenerator.makePacificBuoyListings();
                break;
            default:
                descriptions = FakeBuoyListingGenerator.makeAtlanticBuoyListings();
        }
        view.updateList(descriptions);
    }

    private static class NoOpBuoyListingView implements BuoyListingView {
        @Override
        public void updateList(List<BuoyDescription> descriptionList) {
        }
    }
}




Java Source Code List

com.kevinrschultz.weatherbuoy.Constants.java
com.kevinrschultz.weatherbuoy.customviews.compass.CompassViewTest.java
com.kevinrschultz.weatherbuoy.customviews.compass.CompassView.java
com.kevinrschultz.weatherbuoy.customviews.compass.Compass.java
com.kevinrschultz.weatherbuoy.data.FakeBuoyListingGenerator.java
com.kevinrschultz.weatherbuoy.json.GsonSingleton.java
com.kevinrschultz.weatherbuoy.model.Advisory.java
com.kevinrschultz.weatherbuoy.model.BuoyDescription.java
com.kevinrschultz.weatherbuoy.model.Region.java
com.kevinrschultz.weatherbuoy.model.UnitSystem.java
com.kevinrschultz.weatherbuoy.model.WaveCondition.java
com.kevinrschultz.weatherbuoy.model.WindCondition.java
com.kevinrschultz.weatherbuoy.preferences.WeatherBuoyPreferences.java
com.kevinrschultz.weatherbuoy.sandbox.ActivityLaunchingListItem.java
com.kevinrschultz.weatherbuoy.sandbox.CompassViewActivity.java
com.kevinrschultz.weatherbuoy.sandbox.MainActivity.java
com.kevinrschultz.weatherbuoy.ui.BaseActivity.java
com.kevinrschultz.weatherbuoy.ui.BaseArrayAdapter.java
com.kevinrschultz.weatherbuoy.ui.BuoyDescriptionAdapter.java
com.kevinrschultz.weatherbuoy.ui.BuoyDetailActivity.java
com.kevinrschultz.weatherbuoy.ui.BuoyDetailFragment.java
com.kevinrschultz.weatherbuoy.ui.BuoyDetailViewModel.java
com.kevinrschultz.weatherbuoy.ui.BuoyListingActivity.java
com.kevinrschultz.weatherbuoy.ui.BuoyListingFragment.java
com.kevinrschultz.weatherbuoy.ui.BuoyListingPresenter.java
com.kevinrschultz.weatherbuoy.ui.BuoyListingView.java
com.kevinrschultz.weatherbuoy.ui.SettingsActivity.java
com.kevinrschultz.weatherbuoy.ui.SettingsFragment.java
com.kevinrschultz.weatherbuoy.util.UnitConverter.java
com.kevinrschultz.weatherbuoy.views.AdvisoryBannerView.java
com.kevinrschultz.weatherbuoy.views.InstrumentView.java
com.kevinrschultz.weatherbuoy.views.Instrument.java
com.kevinrschultz.weatherbuoy.views.OptionalTextView.java