Android Open Source - android-appwidget-cirrus Weather Item Formatter






From Project

Back to project page android-appwidget-cirrus.

License

The source code is released under:

MIT License

If you think the Android project android-appwidget-cirrus 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

/* Copyright 2014 Wayne D Grant (www.waynedgrant.com)
   Licensed under the MIT License */
//  ww  w  .  j  a v  a2s  . c om
package com.waynedgrant.cirrus.presentation.formatters;

import com.waynedgrant.cirrus.clientraw.ClientRaw;
import com.waynedgrant.cirrus.measures.WeatherItem;
import com.waynedgrant.cirrus.units.PressureUnit;
import com.waynedgrant.cirrus.units.RainfallUnit;
import com.waynedgrant.cirrus.units.TemperatureUnit;
import com.waynedgrant.cirrus.units.WindDirectionUnit;
import com.waynedgrant.cirrus.units.WindSpeedUnit;

public class WeatherItemFormatter
{
    private ClientRaw clientRaw;
    private TemperatureUnit temperatureUnit;
    private PressureUnit pressureUnit;
    private WindSpeedUnit windSpeedUnit;
    private WindDirectionUnit windDirectionUnit;
    private RainfallUnit rainfallUnit;

    public WeatherItemFormatter(ClientRaw clientRaw, TemperatureUnit temperatureUnit, PressureUnit pressureUnit, WindSpeedUnit windSpeedUnit, WindDirectionUnit windDirectionUnit, RainfallUnit rainfallUnit)
    {
        this.clientRaw = clientRaw;
        this.temperatureUnit = temperatureUnit;
        this.pressureUnit = pressureUnit;
        this.windSpeedUnit = windSpeedUnit;
        this.windDirectionUnit = windDirectionUnit;
        this.rainfallUnit = rainfallUnit;
    }
    
    public FormattedWeatherItem format(WeatherItem weatherItem)
    {
        FormattedWeatherItem formattedWeatherItem = null;
        
        switch (weatherItem)
        {
            case APPARENT_TEMPERATURE:
                formattedWeatherItem = new FormattedWeatherItem("apparent",
                        new TemperatureFormatter(clientRaw.getApparentTemperature()).format(temperatureUnit));
                break;
            
            case AVERAGE_WIND:
                formattedWeatherItem = new FormattedWeatherItem("wind",
                        new WindSpeedFormatter(clientRaw.getAverageWindSpeed()).format(windSpeedUnit) + " " +
                        new WindDirectionFormatter(clientRaw.getWindDirection()).format(windDirectionUnit));
                break;
                
            case BLANK:
                formattedWeatherItem = new FormattedWeatherItem("", "");
                break;
                
            case DAILY_RAINFALL:
                formattedWeatherItem = new FormattedWeatherItem("daily rain",
                        new RainfallFormatter(clientRaw.getDailyRainfall()).format(rainfallUnit));
                break;
                
            case DEW_POINT:
                formattedWeatherItem = new FormattedWeatherItem("dew point",
                        new TemperatureFormatter(clientRaw.getDewPoint()).format(temperatureUnit));
                break;
                
            case FORECAST:
                formattedWeatherItem = new FormattedWeatherItem("fcst",
                        new ConditionsFormatter(clientRaw.getForecast()).format());
                break;
                
            case GUST:
                formattedWeatherItem = new FormattedWeatherItem("gust",
                        new WindSpeedFormatter(clientRaw.getGustSpeed()).format(windSpeedUnit));
                break;
                
            case HEAT_INDEX:
                formattedWeatherItem = new FormattedWeatherItem("heat index",
                        new TemperatureFormatter(clientRaw.getHeatIndex()).format(temperatureUnit));                
                break;
                
            case HUMIDEX:
                formattedWeatherItem = new FormattedWeatherItem("humidex",
                        new TemperatureFormatter(clientRaw.getHumidex()).format(temperatureUnit));   
                break;
                
            case HUMIDITY:
                formattedWeatherItem = new FormattedWeatherItem("humidity",
                        new HumidityFormatter(clientRaw.getOutdoorHumidityPercentage()).format() + " " +
                        new TrendFormatter(clientRaw.getOutdoorHumidityTrend()).format());
                break;    
                
            case INDOOR_CONDITIONS:
                formattedWeatherItem = new FormattedWeatherItem("indoor",
                        new TemperatureFormatter(clientRaw.getIndoorTemperature()).format(temperatureUnit) + ", " +
                        new HumidityFormatter(clientRaw.getIndoorHumidityPercentage()).format());
                break;
                
            case RAINFALL_RATE:
                formattedWeatherItem = new FormattedWeatherItem("rain rate",
                        new RainfallRateFormatter(clientRaw.getRainfallRatePerMinute()).format(rainfallUnit));
                break;  
                
            case SOLAR:
                formattedWeatherItem = new FormattedWeatherItem("solar",
                        new SolarRadiationFormatter(clientRaw.getSolarRadiation()).format() + ", " +
                        new SolarPercentageFormatter(clientRaw.getSolarPercentage()).format());
                break;    
                
            case SURFACE_PRESSURE:
                formattedWeatherItem = new FormattedWeatherItem("press",
                        new PressureFormatter(clientRaw.getSurfacePressure()).format(pressureUnit) + " " +
                        new TrendFormatter(clientRaw.getSurfacePressureTrend()).format());
                break;
                
            case UV_INDEX:
                formattedWeatherItem = new FormattedWeatherItem("uv index",
                        new UvIndexFormatter(clientRaw.getUvIndex()).format());
                break;
                
            case WIND_CHILL: 
                formattedWeatherItem = new FormattedWeatherItem("wind chill",
                        new TemperatureFormatter(clientRaw.getWindChill()).format(temperatureUnit));
                break;
        }
        
        return formattedWeatherItem;
    }
}




Java Source Code List

com.waynedgrant.cirrus.UpdateWidgetService.java
com.waynedgrant.cirrus.WidgetConfigActivity.java
com.waynedgrant.cirrus.WidgetProvider.java
com.waynedgrant.cirrus.clientraw.ClientRawCache.java
com.waynedgrant.cirrus.clientraw.ClientRawRequest.java
com.waynedgrant.cirrus.clientraw.ClientRawResponse.java
com.waynedgrant.cirrus.clientraw.ClientRawUrl.java
com.waynedgrant.cirrus.clientraw.ClientRaw.java
com.waynedgrant.cirrus.clientraw.RetrieveClientRawTask.java
com.waynedgrant.cirrus.measures.Conditions.java
com.waynedgrant.cirrus.measures.Pressure.java
com.waynedgrant.cirrus.measures.Rainfall.java
com.waynedgrant.cirrus.measures.Temperature.java
com.waynedgrant.cirrus.measures.Trend.java
com.waynedgrant.cirrus.measures.WeatherItem.java
com.waynedgrant.cirrus.measures.WindDirection.java
com.waynedgrant.cirrus.measures.WindSpeed.java
com.waynedgrant.cirrus.preferences.Preferences.java
com.waynedgrant.cirrus.presentation.colorizers.TemperatureColorizer.java
com.waynedgrant.cirrus.presentation.colorizers.UvIndexColorizer.java
com.waynedgrant.cirrus.presentation.colorizers.WeatherItemColorizer.java
com.waynedgrant.cirrus.presentation.formatters.ConditionsFormatter.java
com.waynedgrant.cirrus.presentation.formatters.DateFormat.java
com.waynedgrant.cirrus.presentation.formatters.DateFormatter.java
com.waynedgrant.cirrus.presentation.formatters.FormattedWeatherItem.java
com.waynedgrant.cirrus.presentation.formatters.HumidityFormatter.java
com.waynedgrant.cirrus.presentation.formatters.PressureFormatter.java
com.waynedgrant.cirrus.presentation.formatters.RainfallFormatter.java
com.waynedgrant.cirrus.presentation.formatters.RainfallRateFormatter.java
com.waynedgrant.cirrus.presentation.formatters.SolarPercentageFormatter.java
com.waynedgrant.cirrus.presentation.formatters.SolarRadiationFormatter.java
com.waynedgrant.cirrus.presentation.formatters.StringFormatter.java
com.waynedgrant.cirrus.presentation.formatters.TemperatureFormatter.java
com.waynedgrant.cirrus.presentation.formatters.TimeFormat.java
com.waynedgrant.cirrus.presentation.formatters.TimeFormatter.java
com.waynedgrant.cirrus.presentation.formatters.TrendFormatter.java
com.waynedgrant.cirrus.presentation.formatters.UvIndexFormatter.java
com.waynedgrant.cirrus.presentation.formatters.WeatherItemFormatter.java
com.waynedgrant.cirrus.presentation.formatters.WindDirectionFormatter.java
com.waynedgrant.cirrus.presentation.formatters.WindSpeedFormatter.java
com.waynedgrant.cirrus.units.CardinalDirection.java
com.waynedgrant.cirrus.units.PressureUnit.java
com.waynedgrant.cirrus.units.RainfallUnit.java
com.waynedgrant.cirrus.units.TemperatureUnit.java
com.waynedgrant.cirrus.units.WindDirectionUnit.java
com.waynedgrant.cirrus.units.WindSpeedUnit.java
com.waynedgrant.cirrus.update.Timeout.java