diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsSummaryActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsSummaryActivity.java
index 8c6670a..41f362f 100644
--- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsSummaryActivity.java
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsSummaryActivity.java
@@ -4,12 +4,9 @@ import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
-import android.widget.TextView;
-
-import org.w3c.dom.Text;
import cc.pogoda.mobile.pogodacc.R;
-import cc.pogoda.mobile.pogodacc.activity.updater.StationDetailsSummaryValUpdater;
+import cc.pogoda.mobile.pogodacc.activity.updater.StationDetailsValuesUpdater;
import cc.pogoda.mobile.pogodacc.dao.SummaryDao;
import cc.pogoda.mobile.pogodacc.type.StationSummaryActElements;
import cc.pogoda.mobile.pogodacc.type.WeatherStation;
@@ -21,7 +18,7 @@ public class StationDetailsSummaryActivity extends AppCompatActivity {
WeatherStation station = null;
- StationDetailsSummaryValUpdater updater = null;
+ StationDetailsValuesUpdater updater = null;
Handler handler = null;
@@ -52,7 +49,7 @@ public class StationDetailsSummaryActivity extends AppCompatActivity {
elems.updateFromSummary(summary);
handler = new Handler();
- updater = new StationDetailsSummaryValUpdater(elems, handler, station.getSystemName());
+ updater = new StationDetailsValuesUpdater(elems, handler, station.getSystemName());
if (handler != null && updater != null) {
handler.post(updater);
diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsWindRoseActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsWindRoseActivity.java
index dce5c54..da697e0 100644
--- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsWindRoseActivity.java
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/StationDetailsWindRoseActivity.java
@@ -3,14 +3,73 @@ package cc.pogoda.mobile.pogodacc.activity;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
+import android.os.Handler;
import cc.pogoda.mobile.pogodacc.R;
+import cc.pogoda.mobile.pogodacc.activity.updater.StationDetailsValuesUpdater;
+import cc.pogoda.mobile.pogodacc.dao.SummaryDao;
+import cc.pogoda.mobile.pogodacc.type.StationWindRoseActElements;
+import cc.pogoda.mobile.pogodacc.type.WeatherStation;
+import cc.pogoda.mobile.pogodacc.type.web.Summary;
public class StationDetailsWindRoseActivity extends AppCompatActivity {
+ WeatherStation station;
+
+ Summary summary;
+
+ StationDetailsValuesUpdater updater = null;
+
+ Handler handler = null;
+
+ StationWindRoseActElements elements;
+
+ public StationDetailsWindRoseActivity() {
+
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_station_details_wind_rose);
+
+ station = (WeatherStation) getIntent().getSerializableExtra("station");
+
+ elements = new StationWindRoseActElements();
+ elements.windArrow = findViewById(R.id.imageViewWindRoseArrow);
+ elements.windSpeed = findViewById(R.id.textViewWindRoseWindSpeed);
+ elements.windGusts = findViewById(R.id.textViewWindRoseWindGusts);
+ elements.windDirection = findViewById(R.id.textViewWindRoseWindDirection);
+ elements.temperature = findViewById(R.id.textViewWindRoseTemperatura);
+ elements.setActivity(this);
+
+ // create the hanlder which will update the screen in background
+ handler = new Handler();
+
+ SummaryDao summary_dao = new SummaryDao();
+
+ // get the set of current values to preconfigure all elements on this activity
+ summary = summary_dao.getStationSummary(station.getSystemName());
+
+ // update parameters (like turn the wind direction arrow)
+ elements.updateFromSummary(summary);
+
+ handler = new Handler();
+ updater = new StationDetailsValuesUpdater(elements, handler, station.getSystemName());
+
+ if (handler != null && updater != null) {
+ handler.post(updater);
+ }
+
+ }
+
+ @Override
+ protected void onStop() {
+
+ if (handler != null && updater != null) {
+ handler.removeCallbacks(updater);
+ }
+
+ super.onStop();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsSummaryValUpdater.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsValuesUpdater.java
similarity index 74%
rename from app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsSummaryValUpdater.java
rename to app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsValuesUpdater.java
index 3997256..7bcba29 100644
--- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsSummaryValUpdater.java
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/updater/StationDetailsValuesUpdater.java
@@ -3,12 +3,13 @@ package cc.pogoda.mobile.pogodacc.activity.updater;
import android.os.Handler;
import cc.pogoda.mobile.pogodacc.dao.SummaryDao;
+import cc.pogoda.mobile.pogodacc.type.StationActivityElements;
import cc.pogoda.mobile.pogodacc.type.StationSummaryActElements;
import cc.pogoda.mobile.pogodacc.type.web.Summary;
-public class StationDetailsSummaryValUpdater implements Runnable {
+public class StationDetailsValuesUpdater implements Runnable {
- StationSummaryActElements elements = null;
+ StationActivityElements elements = null;
Handler handler = null;
@@ -18,7 +19,7 @@ public class StationDetailsSummaryValUpdater implements Runnable {
String station_name;
- public StationDetailsSummaryValUpdater(StationSummaryActElements elems, Handler h, String s) {
+ public StationDetailsValuesUpdater(StationActivityElements elems, Handler h, String s) {
elements = elems;
handler = h;
station_name = s;
diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationActivityElements.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationActivityElements.java
new file mode 100644
index 0000000..92c7f25
--- /dev/null
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationActivityElements.java
@@ -0,0 +1,16 @@
+package cc.pogoda.mobile.pogodacc.type;
+
+import android.app.Activity;
+
+import cc.pogoda.mobile.pogodacc.type.web.Summary;
+
+/**
+ * This is an interface which is used to implement classes used for updating the activity content
+ * asynchronously (in the background)
+ */
+public interface StationActivityElements {
+
+ public void updateFromSummary(Summary s);
+
+ public void setActivity(Activity act);
+}
diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationSummaryActElements.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationSummaryActElements.java
index 73358fb..d7bea85 100644
--- a/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationSummaryActElements.java
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationSummaryActElements.java
@@ -1,10 +1,11 @@
package cc.pogoda.mobile.pogodacc.type;
+import android.app.Activity;
import android.widget.TextView;
import cc.pogoda.mobile.pogodacc.type.web.Summary;
-public class StationSummaryActElements {
+public class StationSummaryActElements implements StationActivityElements {
public TextView title = null;
public TextView wind_speed_val = null;
@@ -75,4 +76,9 @@ public class StationSummaryActElements {
humidity_val.setText(String.format("%d %", s.humidity));
}
+ @Override
+ public void setActivity(Activity act) {
+
+ }
+
}
diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationWindRoseActElements.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationWindRoseActElements.java
new file mode 100644
index 0000000..0663255
--- /dev/null
+++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/type/StationWindRoseActElements.java
@@ -0,0 +1,69 @@
+package cc.pogoda.mobile.pogodacc.type;
+
+import android.app.Activity;
+import android.content.Context;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import cc.pogoda.mobile.pogodacc.R;
+import cc.pogoda.mobile.pogodacc.type.web.Summary;
+
+public class StationWindRoseActElements implements StationActivityElements {
+
+ public ImageView windArrow;
+
+ public TextView windSpeed;
+
+ public TextView windGusts;
+
+ public TextView windDirection;
+
+ public TextView temperature;
+
+ public TextView pressure;
+
+ Activity activity;
+
+ public StationWindRoseActElements() {
+ windArrow = null;
+ windGusts = null;
+ windSpeed = null;
+ temperature = null;
+ pressure = null;
+ activity = null;
+ }
+
+ @Override
+ public void updateFromSummary(Summary s) {
+
+ if (activity == null ) {
+ return;
+ }
+
+ if (windArrow != null) {
+ windArrow.setRotation(s.direction - 225.0f);
+ }
+
+ if (windSpeed != null) {
+ windSpeed.setText(activity.getResources().getString(R.string.mean_value) + '\n' + s.average_speed + "m/s");
+ }
+
+ if (windGusts != null) {
+ windGusts.setText(activity.getResources().getString(R.string.wind_gust_short) + '\n' + s.gusts + "m/s");
+ }
+
+ if (windDirection != null) {
+ windDirection.setText(activity.getResources().getString(R.string.wind_direction_short) + '\n' + s.direction + activity.getResources().getString(R.string.degrees_sign));
+ }
+
+ if (temperature != null) {
+ temperature.setText(activity.getResources().getString(R.string.temperature_short) + '\n' + String.format("%.1f", s.avg_temperature) + "°C");
+
+ }
+ }
+
+ @Override
+ public void setActivity(Activity act) {
+ activity = act;
+ }
+}
diff --git a/app/src/main/res/drawable/ic_navigation.xml b/app/src/main/res/drawable/ic_navigation.xml
new file mode 100644
index 0000000..a118a01
--- /dev/null
+++ b/app/src/main/res/drawable/ic_navigation.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_station_details_wind_rose.xml b/app/src/main/res/layout/activity_station_details_wind_rose.xml
index af7b89c..7c69b7f 100644
--- a/app/src/main/res/layout/activity_station_details_wind_rose.xml
+++ b/app/src/main/res/layout/activity_station_details_wind_rose.xml
@@ -32,6 +32,74 @@
app:layout_constraintTop_toTopOf="@id/guidelineRoseNUp"
app:srcCompat="@drawable/ic_brosen_windrose" />
+
+
+
+
+
+
+
+
+
+
Archival Data
Export From
Time Scale
- Mean Value
+ Mean
Maximum Value
Show previous
Hours
@@ -41,4 +41,10 @@
Avg:
Max:
Add to favourities
+ Gust
+ Last Hour
+ Direction
+ Tempr
+ Degrees
+ Maximum gust last 1h
\ No newline at end of file
diff --git a/app/src/main/res/values-lv-rLV/strings.xml b/app/src/main/res/values-lv-rLV/strings.xml
index ad8c145..2df51ec 100644
--- a/app/src/main/res/values-lv-rLV/strings.xml
+++ b/app/src/main/res/values-lv-rLV/strings.xml
@@ -41,4 +41,10 @@
-
-
-
+ -
+ -
+ -
+ -
+ -
+ -
\ No newline at end of file
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 3a6b9f0..ace1c68 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -41,5 +41,11 @@
-
-
-
+ -
+ -
+ -
+ -
+ -
+ -
\ No newline at end of file
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index b01f899..8feda40 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -24,7 +24,7 @@
Dane Archiwalne
Exportuj do
Skala czasu
- Wartość średnia
+ Średnia
Wartość maksymalna
Pokaż ostatnie
Godziny
@@ -38,7 +38,13 @@
Zastosuj
Anuluj
Róża Wiatrów
- Śr:
- Max:
+ Śr
+ Max
Dodaj do ulubionych
+ Poryw
+ Ostatnia Godzina
+ Kierunek
+ Tempr
+ Stopni
+ Maks poryw ost godzina
\ No newline at end of file
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 8b70f18..7bc444b 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -24,7 +24,7 @@
Dane Archiwalne
Eksportuj od
Skala czasu
- Wartość średnia
+ Średnia
Wartość masymalna
Pokaż ostatnie
Godziny
@@ -38,7 +38,13 @@
Zastosuj
Anuluj
Róża Wiatrów
- Śr:
- Max:
+ Śr
+ Max
Ddoaj do ulubionych
+ Poryw
+ Ostatnia Godzina
+ Kierunek
+ Tempr
+ Stopni
+ Maks poryw ost godzina
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9eee17b..2747cf9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -23,7 +23,7 @@
Archival Data
Export From
Time Scale
- Mean Value
+ Mean
Maximum Value
Show previous
Hours
@@ -44,4 +44,11 @@
S
E
W
+ Gust
+ Last Hour
+ Direction
+ Tempr
+ Degrees
+ °
+ Maximum gust last 1h
\ No newline at end of file