From d7cafff8920a9dd0fa9d092efecb0474e94c79a1 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 19:34:51 +0200 Subject: [PATCH 01/12] More generic Update Gradle --- .idea/.name | 1 - .idea/modules.xml | 2 +- app/build.gradle | 9 +- .../vatsal/easyweatherdemo/MainActivity.java | 51 ++++--- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- library/build.gradle | 16 +- .../easyweather/Helper/ForecastCallback.java | 16 -- .../easyweather/Helper/WeatherCallback.java | 6 +- .../github/vatsal/easyweather/WeatherMap.java | 141 ++++-------------- 10 files changed, 80 insertions(+), 168 deletions(-) delete mode 100644 .idea/.name delete mode 100644 library/src/main/java/github/vatsal/easyweather/Helper/ForecastCallback.java diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 60d6222..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Easy Weather \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 519509f..9340274 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 2db3208..920da1c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 25 - buildToolsVersion "25.0.1" + buildToolsVersion "25.0.2" defaultConfig { applicationId "github.vatsal.easyweatherdemo" @@ -23,9 +23,10 @@ android { } dependencies { - compile 'com.android.support:appcompat-v7:25.1.0' - compile 'com.android.support:cardview-v7:25.1.0' - compile 'com.jakewharton:butterknife:7.0.1' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' + compile 'com.jakewharton:butterknife:8.5.1' + annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' compile 'com.squareup.picasso:picasso:2.5.2' compile project(path: ':library') // compile 'github.vatsal.easyweather:library:1.0.0' diff --git a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java index 7a13322..22f32e6 100644 --- a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java +++ b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java @@ -11,10 +11,9 @@ import com.squareup.picasso.Picasso; -import butterknife.Bind; +import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import github.vatsal.easyweather.Helper.ForecastCallback; import github.vatsal.easyweather.Helper.TempUnitConverter; import github.vatsal.easyweather.Helper.WeatherCallback; import github.vatsal.easyweather.WeatherMap; @@ -27,43 +26,43 @@ public class MainActivity extends AppCompatActivity { public final String APP_ID = BuildConfig.OWM_API_KEY; String city = "San Francisco"; - @Bind(R.id.weather_title) + @BindView(R.id.weather_title) TextView weatherTitle; - @Bind(R.id.refresh) + @BindView(R.id.refresh) ImageButton refresh; - @Bind(R.id.weather_icon) + @BindView(R.id.weather_icon) ImageView weatherIcon; - @Bind(R.id.location) + @BindView(R.id.location) TextView location; - @Bind(R.id.condition) + @BindView(R.id.condition) TextView condition; - @Bind(R.id.temp) + @BindView(R.id.temp) TextView temp; - @Bind(R.id.tvHumidity) + @BindView(R.id.tvHumidity) TextView tvHumidity; - @Bind(R.id.tvPressure) + @BindView(R.id.tvPressure) TextView tvPressure; - @Bind(R.id.tvWind) + @BindView(R.id.tvWind) TextView tvWind; - @Bind(R.id.tvWindDeg) + @BindView(R.id.tvWindDeg) TextView tvWindDeg; - @Bind(R.id.et_city) + @BindView(R.id.et_city) EditText etCity; - @Bind(R.id.tv_go) + @BindView(R.id.tv_go) TextView tvGo; - @Bind(R.id.textLayout) + @BindView(R.id.textLayout) LinearLayout textLayout; - @Bind(R.id.humidity_desc) + @BindView(R.id.humidity_desc) TextView humidityDesc; - @Bind(R.id.pres_desc) + @BindView(R.id.pres_desc) TextView presDesc; - @Bind(R.id.ws_desc) + @BindView(R.id.ws_desc) TextView wsDesc; - @Bind(R.id.wd_desc) + @BindView(R.id.wd_desc) TextView wdDesc; - @Bind(R.id.ll_extraWeather) + @BindView(R.id.ll_extraWeather) LinearLayout llExtraWeather; - @Bind(R.id.weatherCard) + @BindView(R.id.weatherCard) CardView weatherCard; @Override @@ -81,7 +80,7 @@ public void refresh() { private void loadWeather(String city) { WeatherMap weatherMap = new WeatherMap(this, APP_ID); - weatherMap.getCityWeather(city, new WeatherCallback() { + weatherMap.getCityWeather(city, new WeatherCallback() { @Override public void success(WeatherResponseModel response) { populateWeather(response); @@ -93,7 +92,7 @@ public void failure(String message) { } }); - weatherMap.getCityForecast(city, new ForecastCallback() { + weatherMap.getCityForecast(city, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { ForecastResponseModel responseModel = response; @@ -127,4 +126,10 @@ public void go() { city = etCity.getText().toString().trim(); loadWeather(city); } + + @Override + protected void onDestroy() { + super.onDestroy(); + + } } diff --git a/build.gradle b/build.gradle index 5c79079..c5fa5c3 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath "com.github.dcendents:android-maven-gradle-plugin:1.5" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b71ba33..0becb10 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jan 05 13:13:23 IST 2017 +#Sat Apr 08 19:05:14 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/library/build.gradle b/library/build.gradle index ad3f1a2..9c005d9 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,13 +6,13 @@ group = 'com.github.vatsal' android { compileSdkVersion 25 - buildToolsVersion "25.0.1" + buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 14 targetSdkVersion 25 - versionCode 11 - versionName "1.1" + versionCode 12 + versionName "1.2" } buildTypes { release { @@ -23,10 +23,10 @@ android { } dependencies { - compile 'com.android.support:appcompat-v7:25.1.0' + compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.google.code.gson:gson:2.6.2' - compile 'com.squareup.retrofit2:retrofit:2.1.0' - compile 'com.squareup.retrofit2:converter-gson:2.1.0' - compile 'com.squareup.okhttp3:logging-interceptor:3.4.2' + compile 'com.google.code.gson:gson:2.7' + compile 'com.squareup.retrofit2:retrofit:2.2.0' + compile 'com.squareup.retrofit2:converter-gson:2.2.0' + compile 'com.squareup.okhttp3:logging-interceptor:3.6.0' } \ No newline at end of file diff --git a/library/src/main/java/github/vatsal/easyweather/Helper/ForecastCallback.java b/library/src/main/java/github/vatsal/easyweather/Helper/ForecastCallback.java deleted file mode 100644 index 5892abc..0000000 --- a/library/src/main/java/github/vatsal/easyweather/Helper/ForecastCallback.java +++ /dev/null @@ -1,16 +0,0 @@ -package github.vatsal.easyweather.Helper; - -import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; - -/** - * Created by - --Vatsal Bajpai on - --6/23/2016 at - --4:29 PM - */ -public abstract class ForecastCallback { - - public abstract void success(ForecastResponseModel response); - - public abstract void failure(String message); -} diff --git a/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java b/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java index 0ea889c..9eefe91 100644 --- a/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java +++ b/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java @@ -1,16 +1,14 @@ package github.vatsal.easyweather.Helper; -import github.vatsal.easyweather.retrofit.models.WeatherResponseModel; - /** * Created by --Vatsal Bajpai on --6/23/2016 at --4:29 PM */ -public abstract class WeatherCallback { +public abstract class WeatherCallback { - public abstract void success(WeatherResponseModel response); + public abstract void success(T response); public abstract void failure(String message); } diff --git a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java index 969bc30..b91b8b2 100644 --- a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java +++ b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java @@ -2,7 +2,6 @@ import android.content.Context; -import github.vatsal.easyweather.Helper.ForecastCallback; import github.vatsal.easyweather.Helper.WeatherCallback; import github.vatsal.easyweather.retrofit.api.ApiClient; import github.vatsal.easyweather.retrofit.api.WeatherRetrofitCallback; @@ -28,7 +27,7 @@ public WeatherMap(Context context, String APP_ID) { this.APP_ID = APP_ID; } - public void getCityWeather(String city, final WeatherCallback weatherCallback) { + public void getCityWeather(String city, WeatherCallback weatherCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; @@ -36,40 +35,14 @@ public void getCityWeather(String city, final WeatherCallback weatherCallback) { objCall = objApi.getApi(context).getCityWeather(APP_ID, city); if (objCall != null) { - objCall.enqueue(new WeatherRetrofitCallback(context) { - - @Override - public void onFailure(Call call, Throwable t) { - - weatherCallback.failure("Failed"); - super.onFailure(call, t); - } - - @Override - protected void onResponseWeatherResponse(Call call, retrofit2.Response response) { - - if (!response.isSuccessful()) - weatherCallback.failure("Failed"); - } - - @Override - protected void onResponseWeatherObject(Call call, WeatherResponseModel response) { - - weatherCallback.success(response); - } - - @Override - protected void common() { - - } - }); + enqueue(weatherCallback, objCall); } } catch (Exception e) { e.printStackTrace(); } } - public void getLocationWeather(String latitude, String longitude, final WeatherCallback weatherCallback) { + public void getLocationWeather(String latitude, String longitude, WeatherCallback weatherCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; @@ -77,40 +50,14 @@ public void getLocationWeather(String latitude, String longitude, final WeatherC objCall = objApi.getApi(context).getLocationWeather(APP_ID, latitude, longitude); if (objCall != null) { - objCall.enqueue(new WeatherRetrofitCallback(context) { - - @Override - public void onFailure(Call call, Throwable t) { - - weatherCallback.failure("Failed"); - super.onFailure(call, t); - } - - @Override - protected void onResponseWeatherResponse(Call call, retrofit2.Response response) { - - if (!response.isSuccessful()) - weatherCallback.failure("Failed"); - } - - @Override - protected void onResponseWeatherObject(Call call, WeatherResponseModel response) { - - weatherCallback.success(response); - } - - @Override - protected void common() { - - } - }); + enqueue(weatherCallback, objCall); } } catch (Exception e) { e.printStackTrace(); } } - public void getCityForecast(String city, final ForecastCallback forecastCallback) { + public void getCityForecast(String city, WeatherCallback forecastCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; @@ -118,40 +65,14 @@ public void getCityForecast(String city, final ForecastCallback forecastCallback objCall = objApi.getApi(context).getCityForcast(APP_ID, city); if (objCall != null) { - objCall.enqueue(new WeatherRetrofitCallback(context) { - - @Override - public void onFailure(Call call, Throwable t) { - - forecastCallback.failure("Failed"); - super.onFailure(call, t); - } - - @Override - protected void onResponseWeatherResponse(Call call, retrofit2.Response response) { - - if (!response.isSuccessful()) - forecastCallback.failure("Failed"); - } - - @Override - protected void onResponseWeatherObject(Call call, ForecastResponseModel response) { - - forecastCallback.success(response); - } - - @Override - protected void common() { - - } - }); + enqueue(forecastCallback, objCall); } } catch (Exception e) { e.printStackTrace(); } } - public void getLocationForecast(String latitude, String longitude, final ForecastCallback forecastCallback) { + public void getLocationForecast(String latitude, String longitude, WeatherCallback forecastCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; @@ -159,37 +80,41 @@ public void getLocationForecast(String latitude, String longitude, final Forecas objCall = objApi.getApi(context).getLocationForecast(APP_ID, latitude, longitude); if (objCall != null) { - objCall.enqueue(new WeatherRetrofitCallback(context) { + enqueue(forecastCallback, objCall); + } + } catch (Exception e) { + e.printStackTrace(); + } + } - @Override - public void onFailure(Call call, Throwable t) { + private void enqueue(final WeatherCallback callback, Call objCall){ + objCall.enqueue(new WeatherRetrofitCallback(context) { - forecastCallback.failure("Failed"); - super.onFailure(call, t); - } + @Override + public void onFailure(Call call, Throwable t) { - @Override - protected void onResponseWeatherResponse(Call call, retrofit2.Response response) { + callback.failure("Failed"); + super.onFailure(call, t); + } - if (!response.isSuccessful()) - forecastCallback.failure("Failed"); - } + @Override + protected void onResponseWeatherResponse(Call call, retrofit2.Response response) { - @Override - protected void onResponseWeatherObject(Call call, ForecastResponseModel response) { + if (!response.isSuccessful()) + callback.failure("Failed"); + } - forecastCallback.success(response); - } + @Override + protected void onResponseWeatherObject(Call call, T response) { - @Override - protected void common() { + callback.success(response); + } + + @Override + protected void common() { - } - }); } - } catch (Exception e) { - e.printStackTrace(); - } + }); } } From 8393998b10b3d0f1643adc77a948d12326541590 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 21:45:03 +0200 Subject: [PATCH 02/12] Add "16 day / daily forecast" feature --- ....java => CurrentWeatherResponseModel.java} | 0 .../models/{List.java => DailyForecast.java} | 0 .../models/DailyForecastResponseModel.java | 66 +++++++++++++ .../easyweather/retrofit/models/Forecast.java | 96 +++++++++++++++++++ .../easyweather/retrofit/models/Temp.java | 8 ++ 5 files changed, 170 insertions(+) rename library/src/main/java/github/vatsal/easyweather/retrofit/models/{WeatherResponseModel.java => CurrentWeatherResponseModel.java} (100%) rename library/src/main/java/github/vatsal/easyweather/retrofit/models/{List.java => DailyForecast.java} (100%) create mode 100644 library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java create mode 100644 library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java create mode 100644 library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/WeatherResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java similarity index 100% rename from library/src/main/java/github/vatsal/easyweather/retrofit/models/WeatherResponseModel.java rename to library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/List.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java similarity index 100% rename from library/src/main/java/github/vatsal/easyweather/retrofit/models/List.java rename to library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java new file mode 100644 index 0000000..5a4da10 --- /dev/null +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java @@ -0,0 +1,66 @@ +package github.vatsal.easyweather.retrofit.models; + +/** + * Created by + * --Vatsal Bajpai under + * --AppyWare on + * --23/06/16 at + * --1:48 AM in + * --OpenWeatherMapDemo + */ +public class ForecastResponseModel { + private String message; + + private String cnt; + + private String cod; + + private List[] list; + + private City city; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getCnt() { + return cnt; + } + + public void setCnt(String cnt) { + this.cnt = cnt; + } + + public String getCod() { + return cod; + } + + public void setCod(String cod) { + this.cod = cod; + } + + public List[] getList() { + return list; + } + + public void setList(List[] list) { + this.list = list; + } + + public City getCity() { + return city; + } + + public void setCity(City city) { + this.city = city; + } + + @Override + public String toString() { + return "ClassPojo [message = " + message + ", cnt = " + cnt + ", cod = " + cod + ", list = " + list + ", city = " + city + "]"; + } +} diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java new file mode 100644 index 0000000..d010856 --- /dev/null +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java @@ -0,0 +1,96 @@ +package github.vatsal.easyweather.retrofit.models; + +/** + * Created by + * --Vatsal Bajpai under + * --AppyWare on + * --23/06/16 at + * --1:50 AM in + * --OpenWeatherMapDemo + */ +public class List { + private Clouds clouds; + + private String dt; + + private Wind wind; + + private Sys sys; + + private Weather[] weather; + + private String dt_txt; + + private Rain rain; + + private Main main; + + public Clouds getClouds() { + return clouds; + } + + public void setClouds(Clouds clouds) { + this.clouds = clouds; + } + + public String getDt() { + return dt; + } + + public void setDt(String dt) { + this.dt = dt; + } + + public Wind getWind() { + return wind; + } + + public void setWind(Wind wind) { + this.wind = wind; + } + + public Sys getSys() { + return sys; + } + + public void setSys(Sys sys) { + this.sys = sys; + } + + public Weather[] getWeather() { + return weather; + } + + public void setWeather(Weather[] weather) { + this.weather = weather; + } + + public String getDt_txt() { + return dt_txt; + } + + public void setDt_txt(String dt_txt) { + this.dt_txt = dt_txt; + } + + public Rain getRain() { + return rain; + } + + public void setRain(Rain rain) { + this.rain = rain; + } + + public Main getMain() { + return main; + } + + public void setMain(Main main) { + this.main = main; + } + + @Override + public String toString() { + return "ClassPojo [clouds = " + clouds + ", dt = " + dt + ", wind = " + wind + ", sys = " + sys + ", weather = " + weather + ", dt_txt = " + dt_txt + ", rain = " + rain + ", main = " + main + "]"; + } +} diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java new file mode 100644 index 0000000..6cff1c7 --- /dev/null +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java @@ -0,0 +1,8 @@ +package github.vatsal.easyweather.retrofit.models; + +/** + * Created by sokarcreative on 08/04/2017. + */ + +public class Temp { +} From c03acff64237a2d298988ed911e4351120d89537 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 21:51:30 +0200 Subject: [PATCH 03/12] Add "16 day / daily forecast" feature --- .../vatsal/easyweatherdemo/MainActivity.java | 24 ++++-- .../easyweather/Helper/WeatherCallback.java | 4 +- .../github/vatsal/easyweather/WeatherMap.java | 46 +++++++++- .../retrofit/api/WeatherInterface.java | 31 +++++-- .../models/CurrentWeatherResponseModel.java | 4 +- .../retrofit/models/DailyForecast.java | 84 +++++++++++-------- .../models/DailyForecastResponseModel.java | 18 ++-- .../easyweather/retrofit/models/Forecast.java | 2 +- .../models/ForecastResponseModel.java | 18 +++- .../easyweather/retrofit/models/Temp.java | 72 ++++++++++++++++ 10 files changed, 237 insertions(+), 66 deletions(-) diff --git a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java index 22f32e6..1a9cd08 100644 --- a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java +++ b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java @@ -3,6 +3,7 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; +import android.util.Log; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; @@ -17,9 +18,10 @@ import github.vatsal.easyweather.Helper.TempUnitConverter; import github.vatsal.easyweather.Helper.WeatherCallback; import github.vatsal.easyweather.WeatherMap; +import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; +import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; import github.vatsal.easyweather.retrofit.models.Weather; -import github.vatsal.easyweather.retrofit.models.WeatherResponseModel; public class MainActivity extends AppCompatActivity { @@ -80,9 +82,9 @@ public void refresh() { private void loadWeather(String city) { WeatherMap weatherMap = new WeatherMap(this, APP_ID); - weatherMap.getCityWeather(city, new WeatherCallback() { + weatherMap.getCityWeather(city, new WeatherCallback() { @Override - public void success(WeatherResponseModel response) { + public void success(CurrentWeatherResponseModel response) { populateWeather(response); } @@ -95,7 +97,19 @@ public void failure(String message) { weatherMap.getCityForecast(city, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { - ForecastResponseModel responseModel = response; + //Log.i("test", response.toString()); + } + + @Override + public void failure(String message) { + + } + }); + + weatherMap.getCityDailyForecast(city, "3", new WeatherCallback() { + @Override + public void success(DailyForecastResponseModel response) { + Log.i("test", response.toString()); } @Override @@ -105,7 +119,7 @@ public void failure(String message) { }); } - private void populateWeather(WeatherResponseModel response) { + private void populateWeather(CurrentWeatherResponseModel response) { Weather weather[] = response.getWeather(); condition.setText(weather[0].getMain()); diff --git a/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java b/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java index 9eefe91..5d0018e 100644 --- a/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java +++ b/library/src/main/java/github/vatsal/easyweather/Helper/WeatherCallback.java @@ -6,9 +6,9 @@ --6/23/2016 at --4:29 PM */ -public abstract class WeatherCallback { +public abstract class WeatherCallback { - public abstract void success(T response); + public abstract void success(WeatherResponseModel response); public abstract void failure(String message); } diff --git a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java index b91b8b2..ac22c68 100644 --- a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java +++ b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java @@ -1,12 +1,14 @@ package github.vatsal.easyweather; import android.content.Context; +import android.support.annotation.Nullable; import github.vatsal.easyweather.Helper.WeatherCallback; import github.vatsal.easyweather.retrofit.api.ApiClient; import github.vatsal.easyweather.retrofit.api.WeatherRetrofitCallback; +import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; +import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; -import github.vatsal.easyweather.retrofit.models.WeatherResponseModel; import retrofit2.Call; /** @@ -27,11 +29,11 @@ public WeatherMap(Context context, String APP_ID) { this.APP_ID = APP_ID; } - public void getCityWeather(String city, WeatherCallback weatherCallback) { + + public void getCityWeather(String city, WeatherCallback weatherCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; - objCall = objApi.getApi(context).getCityWeather(APP_ID, city); if (objCall != null) { @@ -42,7 +44,7 @@ public void getCityWeather(String city, WeatherCallback we } } - public void getLocationWeather(String latitude, String longitude, WeatherCallback weatherCallback) { + public void getLocationWeather(String latitude, String longitude, WeatherCallback weatherCallback) { final ApiClient objApi = ApiClient.getInstance(); try { Call objCall = null; @@ -86,6 +88,42 @@ public void getLocationForecast(String latitude, String longitude, WeatherCallba e.printStackTrace(); } } + public void getCityDailyForecast(String city, @Nullable String dayCount, WeatherCallback forecastCallback) { + final ApiClient objApi = ApiClient.getInstance(); + try { + Call objCall = null; + + objCall = (dayCount == null)?objApi.getApi(context).getCityDailyForcast(APP_ID, city):objApi.getApi(context).getCityDailyForcast(APP_ID, city, dayCount); + + if (objCall != null) { + enqueue(forecastCallback, objCall); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + public void getCityDailyForecast(String city, WeatherCallback forecastCallback) { + getCityDailyForecast(city, null, forecastCallback); + } + + public void getLocationDailyForecast(String latitude, String longitude, @Nullable String dayCount, WeatherCallback forecastCallback) { + final ApiClient objApi = ApiClient.getInstance(); + try { + Call objCall = null; + + objCall = (dayCount == null)?objApi.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude):objApi.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, dayCount); + + if (objCall != null) { + enqueue(forecastCallback, objCall); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void getLocationDailyForecast(String latitude, String longitude, WeatherCallback forecastCallback) { + getLocationDailyForecast(latitude, longitude, null, forecastCallback); + } private void enqueue(final WeatherCallback callback, Call objCall){ objCall.enqueue(new WeatherRetrofitCallback(context) { diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java index a614c46..db6b238 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java @@ -1,7 +1,8 @@ package github.vatsal.easyweather.retrofit.api; +import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; -import github.vatsal.easyweather.retrofit.models.WeatherResponseModel; +import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.Query; @@ -9,13 +10,13 @@ public interface WeatherInterface { @GET("weather") - Call getCityWeather(@Query("appid") String appid, - @Query("q") String city); + Call getCityWeather(@Query("appid") String appid, + @Query("q") String city); @GET("weather") - Call getLocationWeather(@Query("appid") String appid, - @Query("lat") String latitude, - @Query("lon") String longitude); + Call getLocationWeather(@Query("appid") String appid, + @Query("lat") String latitude, + @Query("lon") String longitude); @GET("forecast") Call getCityForcast(@Query("appid") String appid, @@ -26,4 +27,22 @@ Call getLocationForecast(@Query("appid") String appid, @Query("lat") String latitude, @Query("lon") String longitude); + @GET("forecast/daily") + Call getCityDailyForcast(@Query("appid") String appid, + @Query("q") String city); + @GET("forecast/daily") + Call getCityDailyForcast(@Query("appid") String appid, + @Query("q") String city, + @Query("cnt") String cnt); + + @GET("forecast/daily") + Call getLocationDailyForecast(@Query("appid") String appid, + @Query("lat") String latitude, + @Query("lon") String longitude); + @GET("forecast/daily") + Call getLocationDailyForecast(@Query("appid") String appid, + @Query("lat") String latitude, + @Query("lon") String longitude, + @Query("cnt") String cnt); + } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java index 86bca55..de5e182 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java @@ -1,7 +1,5 @@ package github.vatsal.easyweather.retrofit.models; -import java.io.Serializable; - /** * Created by * --Vatsal Bajpai under @@ -10,7 +8,7 @@ * --3:16 PM in * --PopularMoviesApp */ -public class WeatherResponseModel implements Serializable { +public class CurrentWeatherResponseModel { private String id; diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java index d010856..d96d8f7 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecast.java @@ -1,5 +1,7 @@ package github.vatsal.easyweather.retrofit.models; +import java.util.Arrays; + /** * Created by * --Vatsal Bajpai under @@ -8,30 +10,23 @@ * --1:50 AM in * --OpenWeatherMapDemo */ -public class List { - private Clouds clouds; +public class DailyForecast { private String dt; - private Wind wind; + private Temp temp; - private Sys sys; + private String pressure; - private Weather[] weather; + private String humidity; - private String dt_txt; + private Weather[] weather; - private Rain rain; + private String speed; - private Main main; + private String deg; - public Clouds getClouds() { - return clouds; - } - - public void setClouds(Clouds clouds) { - this.clouds = clouds; - } + private String clouds; public String getDt() { return dt; @@ -41,20 +36,28 @@ public void setDt(String dt) { this.dt = dt; } - public Wind getWind() { - return wind; + public Temp getTemp() { + return temp; + } + + public void setTemp(Temp temp) { + this.temp = temp; } - public void setWind(Wind wind) { - this.wind = wind; + public String getPressure() { + return pressure; } - public Sys getSys() { - return sys; + public void setPressure(String pressure) { + this.pressure = pressure; } - public void setSys(Sys sys) { - this.sys = sys; + public String getHumidity() { + return humidity; + } + + public void setHumidity(String humidity) { + this.humidity = humidity; } public Weather[] getWeather() { @@ -65,32 +68,41 @@ public void setWeather(Weather[] weather) { this.weather = weather; } - public String getDt_txt() { - return dt_txt; + public String getSpeed() { + return speed; } - public void setDt_txt(String dt_txt) { - this.dt_txt = dt_txt; + public void setSpeed(String speed) { + this.speed = speed; } - public Rain getRain() { - return rain; + public String getDeg() { + return deg; } - public void setRain(Rain rain) { - this.rain = rain; + public void setDeg(String deg) { + this.deg = deg; } - public Main getMain() { - return main; + public String getClouds() { + return clouds; } - public void setMain(Main main) { - this.main = main; + public void setClouds(String clouds) { + this.clouds = clouds; } @Override public String toString() { - return "ClassPojo [clouds = " + clouds + ", dt = " + dt + ", wind = " + wind + ", sys = " + sys + ", weather = " + weather + ", dt_txt = " + dt_txt + ", rain = " + rain + ", main = " + main + "]"; + return "DailyForecast{" + + "dt='" + dt + '\'' + + ", temp=" + temp + + ", pressure='" + pressure + '\'' + + ", humidity='" + humidity + '\'' + + ", weather=" + Arrays.toString(weather) + + ", speed='" + speed + '\'' + + ", deg='" + deg + '\'' + + ", clouds='" + clouds + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java index 5a4da10..5dec48e 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/DailyForecastResponseModel.java @@ -1,5 +1,7 @@ package github.vatsal.easyweather.retrofit.models; +import java.util.Arrays; + /** * Created by * --Vatsal Bajpai under @@ -8,14 +10,14 @@ * --1:48 AM in * --OpenWeatherMapDemo */ -public class ForecastResponseModel { +public class DailyForecastResponseModel { private String message; private String cnt; private String cod; - private List[] list; + private DailyForecast[] list; private City city; @@ -43,11 +45,11 @@ public void setCod(String cod) { this.cod = cod; } - public List[] getList() { + public DailyForecast[] getList() { return list; } - public void setList(List[] list) { + public void setList(DailyForecast[] list) { this.list = list; } @@ -61,6 +63,12 @@ public void setCity(City city) { @Override public String toString() { - return "ClassPojo [message = " + message + ", cnt = " + cnt + ", cod = " + cod + ", list = " + list + ", city = " + city + "]"; + return "DailyForecastResponseModel{" + + "message='" + message + '\'' + + ", cnt='" + cnt + '\'' + + ", cod='" + cod + '\'' + + ", list=" + Arrays.toString(list) + + ", city=" + city + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java index d010856..5d16ecc 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java @@ -8,7 +8,7 @@ * --1:50 AM in * --OpenWeatherMapDemo */ -public class List { +public class Forecast { private Clouds clouds; private String dt; diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/ForecastResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/ForecastResponseModel.java index 5a4da10..62e0a74 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/ForecastResponseModel.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/ForecastResponseModel.java @@ -1,5 +1,7 @@ package github.vatsal.easyweather.retrofit.models; +import java.util.Arrays; + /** * Created by * --Vatsal Bajpai under @@ -15,7 +17,7 @@ public class ForecastResponseModel { private String cod; - private List[] list; + private Forecast[] list; private City city; @@ -43,11 +45,11 @@ public void setCod(String cod) { this.cod = cod; } - public List[] getList() { + public Forecast[] getList() { return list; } - public void setList(List[] list) { + public void setList(Forecast[] list) { this.list = list; } @@ -61,6 +63,14 @@ public void setCity(City city) { @Override public String toString() { - return "ClassPojo [message = " + message + ", cnt = " + cnt + ", cod = " + cod + ", list = " + list + ", city = " + city + "]"; + return "ForecastResponseModel{" + + "message='" + message + '\'' + + ", cnt='" + cnt + '\'' + + ", cod='" + cod + '\'' + + ", list=" + Arrays.toString(list) + + ", city=" + city + + '}'; } + + } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java index 6cff1c7..2a27f17 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Temp.java @@ -5,4 +5,76 @@ */ public class Temp { + + private String day; + + private String min; + + private String max; + + private String night; + + private String eve; + + private String morn; + + public String getDay() { + return day; + } + + public void setDay(String day) { + this.day = day; + } + + public String getMin() { + return min; + } + + public void setMin(String min) { + this.min = min; + } + + public String getMax() { + return max; + } + + public void setMax(String max) { + this.max = max; + } + + public String getNight() { + return night; + } + + public void setNight(String night) { + this.night = night; + } + + public String getEve() { + return eve; + } + + public void setEve(String eve) { + this.eve = eve; + } + + public String getMorn() { + return morn; + } + + public void setMorn(String morn) { + this.morn = morn; + } + + @Override + public String toString() { + return "Temp{" + + "day='" + day + '\'' + + ", min='" + min + '\'' + + ", max='" + max + '\'' + + ", night='" + night + '\'' + + ", eve='" + eve + '\'' + + ", morn='" + morn + '\'' + + '}'; + } } From db5b20379d5eef503f756122d6cb6af36a354442 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 22:27:10 +0200 Subject: [PATCH 04/12] better toString for better log support lang --- app/build.gradle | 1 + .../vatsal/easyweatherdemo/MainActivity.java | 10 +++-- .../github/vatsal/easyweather/WeatherMap.java | 37 +++++++------------ .../easyweather/retrofit/api/ApiClient.java | 17 ++++----- .../retrofit/api/WeatherInterface.java | 24 ++++++++---- .../easyweather/retrofit/models/City.java | 9 ++++- .../easyweather/retrofit/models/Clouds.java | 4 +- .../easyweather/retrofit/models/Coord.java | 5 ++- .../models/CurrentWeatherResponseModel.java | 17 ++++++++- .../easyweather/retrofit/models/Forecast.java | 13 ++++++- .../easyweather/retrofit/models/Main.java | 8 +++- .../easyweather/retrofit/models/Rain.java | 7 ++++ .../easyweather/retrofit/models/Sys.java | 9 ++++- .../easyweather/retrofit/models/Weather.java | 7 +++- .../easyweather/retrofit/models/Wind.java | 5 ++- 15 files changed, 119 insertions(+), 54 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 920da1c..ebd2c02 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,6 +28,7 @@ dependencies { compile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' compile 'com.squareup.picasso:picasso:2.5.2' + compile 'co.trikita:log:1.1.5' compile project(path: ':library') // compile 'github.vatsal.easyweather:library:1.0.0' diff --git a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java index 1a9cd08..492724a 100644 --- a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java +++ b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java @@ -3,7 +3,6 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; -import android.util.Log; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; @@ -22,10 +21,12 @@ import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; import github.vatsal.easyweather.retrofit.models.Weather; +import trikita.log.Log; public class MainActivity extends AppCompatActivity { public final String APP_ID = BuildConfig.OWM_API_KEY; + public final String lang = "fr"; String city = "San Francisco"; @BindView(R.id.weather_title) @@ -81,11 +82,12 @@ public void refresh() { } private void loadWeather(String city) { - WeatherMap weatherMap = new WeatherMap(this, APP_ID); + WeatherMap weatherMap = new WeatherMap(this, APP_ID, lang); weatherMap.getCityWeather(city, new WeatherCallback() { @Override public void success(CurrentWeatherResponseModel response) { populateWeather(response); + Log.i(response.toString()); } @Override @@ -97,7 +99,7 @@ public void failure(String message) { weatherMap.getCityForecast(city, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { - //Log.i("test", response.toString()); + Log.i(response.toString()); } @Override @@ -109,7 +111,7 @@ public void failure(String message) { weatherMap.getCityDailyForecast(city, "3", new WeatherCallback() { @Override public void success(DailyForecastResponseModel response) { - Log.i("test", response.toString()); + Log.i(response.toString()); } @Override diff --git a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java index ac22c68..2c16ce6 100644 --- a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java +++ b/library/src/main/java/github/vatsal/easyweather/WeatherMap.java @@ -23,18 +23,21 @@ public class WeatherMap { Context context; String APP_ID; + String lang; - public WeatherMap(Context context, String APP_ID) { + ApiClient apiClient; + + public WeatherMap(Context context, String APP_ID, String lang) { this.context = context; this.APP_ID = APP_ID; + this.lang = lang; + apiClient = ApiClient.getInstance(); } public void getCityWeather(String city, WeatherCallback weatherCallback) { - final ApiClient objApi = ApiClient.getInstance(); try { - Call objCall = null; - objCall = objApi.getApi(context).getCityWeather(APP_ID, city); + Call objCall = apiClient.getApi(context).getCityWeather(APP_ID, city, lang); if (objCall != null) { enqueue(weatherCallback, objCall); @@ -45,11 +48,8 @@ public void getCityWeather(String city, WeatherCallback weatherCallback) { - final ApiClient objApi = ApiClient.getInstance(); try { - Call objCall = null; - - objCall = objApi.getApi(context).getLocationWeather(APP_ID, latitude, longitude); + Call objCall = apiClient.getApi(context).getLocationWeather(APP_ID, latitude, longitude, lang); if (objCall != null) { enqueue(weatherCallback, objCall); @@ -60,11 +60,9 @@ public void getLocationWeather(String latitude, String longitude, WeatherCallbac } public void getCityForecast(String city, WeatherCallback forecastCallback) { - final ApiClient objApi = ApiClient.getInstance(); - try { - Call objCall = null; - objCall = objApi.getApi(context).getCityForcast(APP_ID, city); + try { + Call objCall = apiClient.getApi(context).getCityForcast(APP_ID, city, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -75,11 +73,8 @@ public void getCityForecast(String city, WeatherCallback } public void getLocationForecast(String latitude, String longitude, WeatherCallback forecastCallback) { - final ApiClient objApi = ApiClient.getInstance(); try { - Call objCall = null; - - objCall = objApi.getApi(context).getLocationForecast(APP_ID, latitude, longitude); + Call objCall = apiClient.getApi(context).getLocationForecast(APP_ID, latitude, longitude, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -89,11 +84,8 @@ public void getLocationForecast(String latitude, String longitude, WeatherCallba } } public void getCityDailyForecast(String city, @Nullable String dayCount, WeatherCallback forecastCallback) { - final ApiClient objApi = ApiClient.getInstance(); try { - Call objCall = null; - - objCall = (dayCount == null)?objApi.getApi(context).getCityDailyForcast(APP_ID, city):objApi.getApi(context).getCityDailyForcast(APP_ID, city, dayCount); + Call objCall = (dayCount == null)?apiClient.getApi(context).getCityDailyForcast(APP_ID, city, lang):apiClient.getApi(context).getCityDailyForcast(APP_ID, city, dayCount, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -107,11 +99,8 @@ public void getCityDailyForecast(String city, WeatherCallback forecastCallback) { - final ApiClient objApi = ApiClient.getInstance(); try { - Call objCall = null; - - objCall = (dayCount == null)?objApi.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude):objApi.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, dayCount); + Call objCall = (dayCount == null)?apiClient.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, lang):apiClient.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, dayCount, lang); if (objCall != null) { enqueue(forecastCallback, objCall); diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java index 88c153f..9f11066 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java @@ -16,16 +16,16 @@ public class ApiClient { - private static ApiClient uniqInstance; - private final String URL_LIVE = "http://api.openweathermap.org/data/2.5/"; + private static ApiClient instance; + private static final String URL_LIVE = "http://api.openweathermap.org/data/2.5/"; private WeatherInterface weatherInterface; public static synchronized ApiClient getInstance() { - if (uniqInstance == null) { - uniqInstance = new ApiClient(); + if (instance == null) { + instance = new ApiClient(); } - return uniqInstance; + return instance; } private void ApiClient(@NonNull final Context currContext) { @@ -51,10 +51,9 @@ public Response intercept(Interceptor.Chain chain) throws IOException { .addInterceptor(headerInterceptor) .addInterceptor(logging) .build(); - String API_URL = URL_LIVE; Retrofit retrofit = new Retrofit.Builder() - .baseUrl(API_URL) + .baseUrl(URL_LIVE) .addConverterFactory(GsonConverterFactory.create()) .client(httpClient) .build(); @@ -66,10 +65,10 @@ public Response intercept(Interceptor.Chain chain) throws IOException { } public WeatherInterface getApi(Context currContext) { - if (uniqInstance == null) { + if (instance == null) { getInstance(); } - uniqInstance.ApiClient(currContext); + instance.ApiClient(currContext); return weatherInterface; } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java index db6b238..97cd401 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherInterface.java @@ -11,38 +11,46 @@ public interface WeatherInterface { @GET("weather") Call getCityWeather(@Query("appid") String appid, - @Query("q") String city); + @Query("q") String city, + @Query("lang") String lang); @GET("weather") Call getLocationWeather(@Query("appid") String appid, @Query("lat") String latitude, - @Query("lon") String longitude); + @Query("lon") String longitude, + @Query("lang") String lang); @GET("forecast") Call getCityForcast(@Query("appid") String appid, - @Query("q") String city); + @Query("q") String city, + @Query("lang") String lang); @GET("forecast") Call getLocationForecast(@Query("appid") String appid, @Query("lat") String latitude, - @Query("lon") String longitude); + @Query("lon") String longitude, + @Query("lang") String lang); @GET("forecast/daily") Call getCityDailyForcast(@Query("appid") String appid, - @Query("q") String city); + @Query("q") String city, + @Query("lang") String lang); @GET("forecast/daily") Call getCityDailyForcast(@Query("appid") String appid, @Query("q") String city, - @Query("cnt") String cnt); + @Query("cnt") String cnt, + @Query("lang") String lang); @GET("forecast/daily") Call getLocationDailyForecast(@Query("appid") String appid, @Query("lat") String latitude, - @Query("lon") String longitude); + @Query("lon") String longitude, + @Query("lang") String lang); @GET("forecast/daily") Call getLocationDailyForecast(@Query("appid") String appid, @Query("lat") String latitude, @Query("lon") String longitude, - @Query("cnt") String cnt); + @Query("cnt") String cnt, + @Query("lang") String lang); } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/City.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/City.java index 6849cf6..3c9e0fd 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/City.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/City.java @@ -71,6 +71,13 @@ public void setCountry(String country) { @Override public String toString() { - return "ClassPojo [coord = " + coord + ", id = " + id + ", sys = " + sys + ", name = " + name + ", population = " + population + ", country = " + country + "]"; + return "City{" + + "coord=" + coord + + ", id='" + id + '\'' + + ", sys=" + sys + + ", name='" + name + '\'' + + ", population='" + population + '\'' + + ", country='" + country + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Clouds.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Clouds.java index a53df55..8650545 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Clouds.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Clouds.java @@ -21,6 +21,8 @@ public void setAll(String all) { @Override public String toString() { - return "ClassPojo [all = " + all + "]"; + return "Clouds{" + + "all='" + all + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Coord.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Coord.java index 588740e..0b1f2ae 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Coord.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Coord.java @@ -31,6 +31,9 @@ public void setLat(String lat) { @Override public String toString() { - return "ClassPojo [lon = " + lon + ", lat = " + lat + "]"; + return "Coord{" + + "lon='" + lon + '\'' + + ", lat='" + lat + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java index de5e182..5929d40 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/CurrentWeatherResponseModel.java @@ -1,5 +1,7 @@ package github.vatsal.easyweather.retrofit.models; +import java.util.Arrays; + /** * Created by * --Vatsal Bajpai under @@ -132,6 +134,19 @@ public void setMain(Main main) { @Override public String toString() { - return "ClassPojo [id = " + id + ", dt = " + dt + ", clouds = " + clouds + ", coord = " + coord + ", wind = " + wind + ", cod = " + cod + ", sys = " + sys + ", name = " + name + ", base = " + base + ", weather = " + weather + ", rain = " + rain + ", main = " + main + "]"; + return "CurrentWeatherResponseModel{" + + "id='" + id + '\'' + + ", dt='" + dt + '\'' + + ", clouds=" + clouds + + ", coord=" + coord + + ", wind=" + wind + + ", cod='" + cod + '\'' + + ", sys=" + sys + + ", name='" + name + '\'' + + ", base='" + base + '\'' + + ", weather=" + Arrays.toString(weather) + + ", rain='" + rain + '\'' + + ", main=" + main + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java index 5d16ecc..b4cf81a 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Forecast.java @@ -1,5 +1,7 @@ package github.vatsal.easyweather.retrofit.models; +import java.util.Arrays; + /** * Created by * --Vatsal Bajpai under @@ -91,6 +93,15 @@ public void setMain(Main main) { @Override public String toString() { - return "ClassPojo [clouds = " + clouds + ", dt = " + dt + ", wind = " + wind + ", sys = " + sys + ", weather = " + weather + ", dt_txt = " + dt_txt + ", rain = " + rain + ", main = " + main + "]"; + return "Forecast{" + + "clouds=" + clouds + + ", dt='" + dt + '\'' + + ", wind=" + wind + + ", sys=" + sys + + ", weather=" + Arrays.toString(weather) + + ", dt_txt='" + dt_txt + '\'' + + ", rain=" + rain + + ", main=" + main + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Main.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Main.java index 1fbe42d..1b0a077 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Main.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Main.java @@ -61,6 +61,12 @@ public void setTemp(String temp) { @Override public String toString() { - return "ClassPojo [humidity = " + humidity + ", pressure = " + pressure + ", temp_max = " + temp_max + ", temp_min = " + temp_min + ", temp = " + temp + "]"; + return "Main{" + + "humidity='" + humidity + '\'' + + ", pressure='" + pressure + '\'' + + ", temp_max='" + temp_max + '\'' + + ", temp_min='" + temp_min + '\'' + + ", temp='" + temp + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Rain.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Rain.java index 2aa9b62..a758a5f 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Rain.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Rain.java @@ -26,4 +26,11 @@ public void set3h(Double _3h) { this._3h = _3h; } + + @Override + public String toString() { + return "Rain{" + + "_3h=" + _3h + + '}'; + } } \ No newline at end of file diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Sys.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Sys.java index 50b5bcb..7f92243 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Sys.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Sys.java @@ -71,6 +71,13 @@ public void setCountry(String country) { @Override public String toString() { - return "ClassPojo [message = " + message + ", id = " + id + ", sunset = " + sunset + ", sunrise = " + sunrise + ", type = " + type + ", country = " + country + "]"; + return "Sys{" + + "message='" + message + '\'' + + ", id='" + id + '\'' + + ", sunset='" + sunset + '\'' + + ", sunrise='" + sunrise + '\'' + + ", type='" + type + '\'' + + ", country='" + country + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Weather.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Weather.java index 821c4ad..b1aaebc 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Weather.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Weather.java @@ -55,6 +55,11 @@ public void setMain(String main) { @Override public String toString() { - return "ClassPojo [id = " + id + ", icon = " + icon + ", description = " + description + ", main = " + main + "]"; + return "Weather{" + + "id='" + id + '\'' + + ", icon='" + icon + '\'' + + ", description='" + description + '\'' + + ", main='" + main + '\'' + + '}'; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Wind.java b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Wind.java index 715af6b..ea0b5ea 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/models/Wind.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/models/Wind.java @@ -31,6 +31,9 @@ public void setDeg(String deg) { @Override public String toString() { - return "ClassPojo [speed = " + speed + ", deg = " + deg + "]"; + return "Wind{" + + "speed='" + speed + '\'' + + ", deg='" + deg + '\'' + + '}'; } } From 0d0e040bc0f615d175fb2ecf707114e9ebc96210 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 22:39:58 +0200 Subject: [PATCH 05/12] Factoring --- .../vatsal/easyweather/{ => retrofit/api}/WeatherMap.java | 3 +++ 1 file changed, 3 insertions(+) rename library/src/main/java/github/vatsal/easyweather/{ => retrofit/api}/WeatherMap.java (97%) diff --git a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java similarity index 97% rename from library/src/main/java/github/vatsal/easyweather/WeatherMap.java rename to library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java index 2c16ce6..d7bd99b 100644 --- a/library/src/main/java/github/vatsal/easyweather/WeatherMap.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java @@ -5,6 +5,7 @@ import github.vatsal.easyweather.Helper.WeatherCallback; import github.vatsal.easyweather.retrofit.api.ApiClient; +import github.vatsal.easyweather.retrofit.api.WeatherInterface; import github.vatsal.easyweather.retrofit.api.WeatherRetrofitCallback; import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; @@ -26,12 +27,14 @@ public class WeatherMap { String lang; ApiClient apiClient; + WeatherInterface weatherInterface; public WeatherMap(Context context, String APP_ID, String lang) { this.context = context; this.APP_ID = APP_ID; this.lang = lang; apiClient = ApiClient.getInstance(); + this.weatherInterface = apiClient. } From ca4bbf6f9682eb95d22fe9b998dbe5e47d319621 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 22:41:44 +0200 Subject: [PATCH 06/12] Factoring --- .../vatsal/easyweatherdemo/MainActivity.java | 2 +- .../easyweather/retrofit/api/ApiClient.java | 16 ++-------- .../easyweather/retrofit/api/WeatherMap.java | 31 +++++++++---------- 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java index 492724a..a06f556 100644 --- a/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java +++ b/app/src/main/java/github/vatsal/easyweatherdemo/MainActivity.java @@ -16,7 +16,7 @@ import butterknife.OnClick; import github.vatsal.easyweather.Helper.TempUnitConverter; import github.vatsal.easyweather.Helper.WeatherCallback; -import github.vatsal.easyweather.WeatherMap; +import github.vatsal.easyweather.retrofit.api.WeatherMap; import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java index 9f11066..e95a97b 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/ApiClient.java @@ -1,9 +1,6 @@ package github.vatsal.easyweather.retrofit.api; -import android.content.Context; -import android.support.annotation.NonNull; - import java.io.IOException; import okhttp3.Interceptor; @@ -19,7 +16,7 @@ public class ApiClient { private static ApiClient instance; private static final String URL_LIVE = "http://api.openweathermap.org/data/2.5/"; - private WeatherInterface weatherInterface; + public static synchronized ApiClient getInstance() { if (instance == null) { @@ -28,7 +25,8 @@ public static synchronized ApiClient getInstance() { return instance; } - private void ApiClient(@NonNull final Context currContext) { + protected WeatherInterface getWeatherInterface() { + WeatherInterface weatherInterface = null; try { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); // set your desired log level @@ -62,14 +60,6 @@ public Response intercept(Interceptor.Chain chain) throws IOException { } catch (Exception e) { e.printStackTrace(); } - } - - public WeatherInterface getApi(Context currContext) { - if (instance == null) { - getInstance(); - } - instance.ApiClient(currContext); - return weatherInterface; } } diff --git a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java index d7bd99b..44f45c6 100644 --- a/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java +++ b/library/src/main/java/github/vatsal/easyweather/retrofit/api/WeatherMap.java @@ -1,12 +1,9 @@ -package github.vatsal.easyweather; +package github.vatsal.easyweather.retrofit.api; import android.content.Context; import android.support.annotation.Nullable; import github.vatsal.easyweather.Helper.WeatherCallback; -import github.vatsal.easyweather.retrofit.api.ApiClient; -import github.vatsal.easyweather.retrofit.api.WeatherInterface; -import github.vatsal.easyweather.retrofit.api.WeatherRetrofitCallback; import github.vatsal.easyweather.retrofit.models.CurrentWeatherResponseModel; import github.vatsal.easyweather.retrofit.models.DailyForecastResponseModel; import github.vatsal.easyweather.retrofit.models.ForecastResponseModel; @@ -22,25 +19,25 @@ */ public class WeatherMap { - Context context; - String APP_ID; - String lang; + private Context context; + private String APP_ID; + private String lang; - ApiClient apiClient; - WeatherInterface weatherInterface; + private ApiClient apiClient; + private WeatherInterface weatherInterface; public WeatherMap(Context context, String APP_ID, String lang) { this.context = context; this.APP_ID = APP_ID; this.lang = lang; - apiClient = ApiClient.getInstance(); - this.weatherInterface = apiClient. + this.apiClient = ApiClient.getInstance(); + this.weatherInterface = apiClient.getWeatherInterface(); } public void getCityWeather(String city, WeatherCallback weatherCallback) { try { - Call objCall = apiClient.getApi(context).getCityWeather(APP_ID, city, lang); + Call objCall = weatherInterface.getCityWeather(APP_ID, city, lang); if (objCall != null) { enqueue(weatherCallback, objCall); @@ -52,7 +49,7 @@ public void getCityWeather(String city, WeatherCallback weatherCallback) { try { - Call objCall = apiClient.getApi(context).getLocationWeather(APP_ID, latitude, longitude, lang); + Call objCall = weatherInterface.getLocationWeather(APP_ID, latitude, longitude, lang); if (objCall != null) { enqueue(weatherCallback, objCall); @@ -65,7 +62,7 @@ public void getLocationWeather(String latitude, String longitude, WeatherCallbac public void getCityForecast(String city, WeatherCallback forecastCallback) { try { - Call objCall = apiClient.getApi(context).getCityForcast(APP_ID, city, lang); + Call objCall = weatherInterface.getCityForcast(APP_ID, city, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -77,7 +74,7 @@ public void getCityForecast(String city, WeatherCallback public void getLocationForecast(String latitude, String longitude, WeatherCallback forecastCallback) { try { - Call objCall = apiClient.getApi(context).getLocationForecast(APP_ID, latitude, longitude, lang); + Call objCall = weatherInterface.getLocationForecast(APP_ID, latitude, longitude, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -88,7 +85,7 @@ public void getLocationForecast(String latitude, String longitude, WeatherCallba } public void getCityDailyForecast(String city, @Nullable String dayCount, WeatherCallback forecastCallback) { try { - Call objCall = (dayCount == null)?apiClient.getApi(context).getCityDailyForcast(APP_ID, city, lang):apiClient.getApi(context).getCityDailyForcast(APP_ID, city, dayCount, lang); + Call objCall = (dayCount == null)?weatherInterface.getCityDailyForcast(APP_ID, city, lang):weatherInterface.getCityDailyForcast(APP_ID, city, dayCount, lang); if (objCall != null) { enqueue(forecastCallback, objCall); @@ -103,7 +100,7 @@ public void getCityDailyForecast(String city, WeatherCallback forecastCallback) { try { - Call objCall = (dayCount == null)?apiClient.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, lang):apiClient.getApi(context).getLocationDailyForecast(APP_ID, latitude, longitude, dayCount, lang); + Call objCall = (dayCount == null)?weatherInterface.getLocationDailyForecast(APP_ID, latitude, longitude, lang):weatherInterface.getLocationDailyForecast(APP_ID, latitude, longitude, dayCount, lang); if (objCall != null) { enqueue(forecastCallback, objCall); From 433e2d22cc5cc56a30d4546427ceaa3dce65d09f Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 22:59:34 +0200 Subject: [PATCH 07/12] Readme updated --- README.md | 72 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 51 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index eae7053..ef8725c 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ allprojects { ```gradle dependencies { - compile 'com.github.code-crusher:EasyWeather:v1.2' + compile 'com.github.code-crusher:EasyWeather:v1.2' // not this version code } ``` @@ -47,38 +47,35 @@ buildTypes.each { ``` First create `WeatherMap` object: ```Java - WeatherMap weatherMap = new WeatherMap(this, OWM_API_KEY); + WeatherMap weatherMap = new WeatherMap(this, OWM_API_KEY, LANG); ``` To get **Current Weather** use this in `Activity`: **By City Name**: ```Java -weatherMap.getCityWeather(city, new WeatherCallback() { +weatherMap.getCityWeather(city, new WeatherCallback() { @Override - public void success(WeatherResponseModel response) { - Weather weather[] = response.getWeather(); - String weatherMain = weather[0].getMain(); + public void success(CurrentWeatherResponseModel response) { + Log.i(response.toString()); } + + @Override + public void failure(String message) { + + } + }); ``` To get temperature in specific units you can use: ```Java Double temperature = TempUnitConverter.convertToCelsius(response.getMain().getTemp()); ``` -To get other details you can use: -```Java -String location = response.getName(); -String humidity= response.getMain().getHumidity(); -String pressure = response.getMain().getPressure(); -String windSpeed = response.getWind().getSpeed(); -String iconLink = weather[0].getIconLink(); - ``` **By Location Coordinates**: ```Java -weatherMap.getLocationWeather(latitude, longitude, new WeatherCallback() { +weatherMap.getLocationWeather(city, new WeatherCallback() { @Override - public void success(WeatherResponseModel response) { - + public void success(CurrentWeatherResponseModel response) { + Log.i(response.toString()); } @Override @@ -92,10 +89,10 @@ To get **Forecast** use this in `Activity` also you need specify `index` to get **By City Name:** ```Java -weatherMap.getCityForecast(city, new ForecastCallback() { +weatherMap.getCityForecast(city, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { - Weather weather[] = response.getList()[index].getWeather(); + Log.i(response.toString()); } @Override @@ -109,10 +106,43 @@ weatherMap.getCityForecast(city, new ForecastCallback() { **By Location Coordinates:** ```Java -weatherMap.getLocationForecast(latitude, longitude, new ForecastCallback() { +weatherMap.getLocationForecast(city, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { - + Log.i(response.toString()); + } + + @Override + public void failure(String message) { + + } + }); +``` + +**By City Name:** + +```Java +weatherMap.getCityDailyForecast(city, [OPTIONAL] "6", new WeatherCallback() { + @Override + public void success(DailyForecastResponseModel response) { + Log.i(response.toString()); + } + + @Override + public void failure(String message) { + + } + }); +``` + + +**By Location Coordinates:** + +```Java +weatherMap.getLocationDailyForecast(city, [OPTIONAL] "6", new WeatherCallback() { + @Override + public void success(DailyForecastResponseModel response) { + Log.i(response.toString()); } @Override From 4af9a1e5f31b87b621022eea986fc22fba79aaf0 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 23:05:16 +0200 Subject: [PATCH 08/12] Readme updated --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ef8725c..a5b3a86 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Double temperature = TempUnitConverter.convertToCelsius(response.getMain().getTe **By Location Coordinates**: ```Java -weatherMap.getLocationWeather(city, new WeatherCallback() { +weatherMap.getLocationWeather(latitude, longitude, new WeatherCallback() { @Override public void success(CurrentWeatherResponseModel response) { Log.i(response.toString()); @@ -106,7 +106,7 @@ weatherMap.getCityForecast(city, new WeatherCallback() { **By Location Coordinates:** ```Java -weatherMap.getLocationForecast(city, new WeatherCallback() { +weatherMap.getLocationForecast(latitude, longitude, new WeatherCallback() { @Override public void success(ForecastResponseModel response) { Log.i(response.toString()); @@ -119,6 +119,8 @@ weatherMap.getLocationForecast(city, new WeatherCallback( }); ``` +To get **DailyForecast** use this in `Activity` also you need specify `index` to get the specific hour of [16 day / daily forecast](http://openweathermap.org/forecast5): + **By City Name:** ```Java @@ -139,7 +141,7 @@ weatherMap.getCityDailyForecast(city, [OPTIONAL] "6", new WeatherCallback() { +weatherMap.getLocationDailyForecast(latitude, longitude, [OPTIONAL] "6", new WeatherCallback() { @Override public void success(DailyForecastResponseModel response) { Log.i(response.toString()); From e7cb0e0a3f5768142284a2ea4ada5952f10ab32e Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sat, 8 Apr 2017 23:07:08 +0200 Subject: [PATCH 09/12] readme updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5b3a86..8d601b3 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ weatherMap.getLocationForecast(latitude, longitude, new WeatherCallback Date: Sun, 9 Apr 2017 10:22:33 +0200 Subject: [PATCH 10/12] Readme updated --- .idea/markdown-navigator.xml | 70 +++++++++++++++++++ .../markdown-navigator/profiles_settings.xml | 3 + 2 files changed, 73 insertions(+) create mode 100644 .idea/markdown-navigator.xml create mode 100644 .idea/markdown-navigator/profiles_settings.xml diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml new file mode 100644 index 0000000..4fdc309 --- /dev/null +++ b/.idea/markdown-navigator.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml new file mode 100644 index 0000000..57927c5 --- /dev/null +++ b/.idea/markdown-navigator/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file From 4d9524a65fb79a24805f0d3f2ee11f8532ccd2b2 Mon Sep 17 00:00:00 2001 From: sokarcreative Date: Sun, 9 Apr 2017 10:22:54 +0200 Subject: [PATCH 11/12] Readme Updated --- README.md | 8 ++++++-- app/build.gradle | 4 +++- build.gradle | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8d601b3..4fea445 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ Easy and quick weather fetching from [OpenWeatherMap](openweathermap.org) API for Android. +Fork version of : https://github.com/code-crusher/EasyWeather + +Changes : More Generic / Support lang / Add "16 day / daily forecast" feature + -------- ###Specs @@ -34,7 +38,7 @@ allprojects { ```gradle dependencies { - compile 'com.github.code-crusher:EasyWeather:v1.2' // not this version code + compile 'com.github.sokarcreative:EasyWeather:development-SNAPSHOT' } ``` @@ -119,7 +123,7 @@ weatherMap.getLocationForecast(latitude, longitude, new WeatherCallback Date: Sun, 9 Apr 2017 11:17:30 +0200 Subject: [PATCH 12/12] readme updated --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4fea445..1461194 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ allprojects { ```gradle dependencies { - compile 'com.github.sokarcreative:EasyWeather:development-SNAPSHOT' + compile 'com.github.sokarcreative:EasyWeather:1.3.0' } ``` @@ -51,7 +51,7 @@ buildTypes.each { ``` First create `WeatherMap` object: ```Java - WeatherMap weatherMap = new WeatherMap(this, OWM_API_KEY, LANG); + WeatherMap weatherMap = new WeatherMap(this, OWM_API_KEY, LANG); // LANG like "en", #see Multilingual support : https://openweathermap.org/current at the bottom page ``` To get **Current Weather** use this in `Activity`: @@ -128,7 +128,7 @@ To get **DailyForecast** use this in `Activity` also you need specify `index` to **By City Name:** ```Java -weatherMap.getCityDailyForecast(city, [OPTIONAL] "6", new WeatherCallback() { +weatherMap.getCityDailyForecast(city, [OPTIONAL] dayCount, new WeatherCallback() { @Override public void success(DailyForecastResponseModel response) { Log.i(response.toString()); @@ -145,7 +145,7 @@ weatherMap.getCityDailyForecast(city, [OPTIONAL] "6", new WeatherCallback() { +weatherMap.getLocationDailyForecast(latitude, longitude, [OPTIONAL] dayCount, new WeatherCallback() { @Override public void success(DailyForecastResponseModel response) { Log.i(response.toString());