kopia lustrzana https://github.com/SP8EBC/MeteoSystem
ux improvements, changed colours, buttons etc
rodzic
0b18117b9c
commit
63f4d64a4b
|
@ -4,11 +4,6 @@ import android.app.Application;
|
|||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.StrictMode;
|
||||
import android.os.strictmode.Violation;
|
||||
|
||||
import com.jakewharton.threetenabp.AndroidThreeTen;
|
||||
|
||||
|
@ -24,17 +19,12 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.activity.handler.MainActImageButtonFavouritesClickEvent;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.FavouritesStationDetailsUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.FavouritesStationSummaryUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.view.AllStationsActRecyclerViewHolder;
|
||||
import cc.pogoda.mobile.meteosystem.config.AppConfiguration;
|
||||
import cc.pogoda.mobile.meteosystem.dao.AllStationsDao;
|
||||
import cc.pogoda.mobile.meteosystem.file.ConfigurationFile;
|
||||
import cc.pogoda.mobile.meteosystem.file.FavouritiesFile;
|
||||
import cc.pogoda.mobile.meteosystem.file.FileNames;
|
||||
import cc.pogoda.mobile.meteosystem.type.ParceableFavsCallReason;
|
||||
import cc.pogoda.mobile.meteosystem.type.ParceableStationsList;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStationListEvent;
|
||||
import cc.pogoda.mobile.meteosystem.type.web.Summary;
|
||||
|
|
|
@ -2,11 +2,15 @@ package cc.pogoda.mobile.meteosystem.activity;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.text.HtmlCompat;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.Html;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
@ -294,13 +298,29 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
|
||||
stationName.setText(station.getDisplayedName());
|
||||
if (station.getDisplayedName().length() > 18) {
|
||||
stationName.setText(station.getDisplayedName());
|
||||
stationName.setTextSize(TypedValue.COMPLEX_UNIT_SP, 30.0f);
|
||||
}
|
||||
else {
|
||||
stationName.setText(station.getDisplayedName());
|
||||
stationName.setTextSize(TypedValue.COMPLEX_UNIT_SP, 36.0f);
|
||||
}
|
||||
|
||||
stationLocation.setText(station.getDisplayedLocation());
|
||||
|
||||
station_lat = station.getLat();
|
||||
station_lon = station.getLon();
|
||||
|
||||
stationSponsorUrl.setText(station.getSponsorUrl());
|
||||
// if (station.getSponsorUrl().length() > 32) {
|
||||
// stationSponsorUrl.setClickable(true);
|
||||
// stationSponsorUrl.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
// stationSponsorUrl.setText(Html.fromHtml("<a href=\"" + station.getSponsorUrl() +"\">" + getString(R.string.www_link) + "</a>\n", HtmlCompat.FROM_HTML_MODE_LEGACY));
|
||||
// }
|
||||
// else {
|
||||
stationSponsorUrl.setText(station.getSponsorUrl());
|
||||
// }
|
||||
|
||||
stationMoreInfo.setText(station.getMoreInfo());
|
||||
|
||||
StationBackgroundDownloader downloader = new StationBackgroundDownloader(station);
|
||||
|
@ -312,33 +332,33 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
|
||||
if (station_lat > 0.0f && station_lon > 0.0f) {
|
||||
// europe
|
||||
sb.append(station_lon);
|
||||
sb.append(" N / ");
|
||||
sb.append(station_lat);
|
||||
sb.append(" N / ");
|
||||
sb.append(station_lon);
|
||||
sb.append(" E");
|
||||
|
||||
stationLatLon.setText(sb.toString());
|
||||
} else if (station_lat < 0.0f && station_lon > 0.0f) {
|
||||
// usa
|
||||
sb.append(station_lon);
|
||||
sb.append(station_lat);
|
||||
sb.append(" N / ");
|
||||
sb.append(-station_lat);
|
||||
sb.append(-station_lon);
|
||||
sb.append(" W");
|
||||
|
||||
stationLatLon.setText(sb.toString());
|
||||
} else if (station_lat < 0.0f && station_lon < 0.0f) {
|
||||
// brazil
|
||||
sb.append(-station_lon);
|
||||
sb.append(" S / ");
|
||||
sb.append(-station_lat);
|
||||
sb.append(" S / ");
|
||||
sb.append(-station_lon);
|
||||
sb.append(" W");
|
||||
|
||||
stationLatLon.setText(sb.toString());
|
||||
} else if (station_lat > 0.0f && station_lat > 0.0f) {
|
||||
// australia
|
||||
sb.append(-station_lon);
|
||||
sb.append(-station_lat);
|
||||
sb.append(" S / ");
|
||||
sb.append(station_lat);
|
||||
sb.append(station_lon);
|
||||
sb.append(" E");
|
||||
|
||||
stationLatLon.setText(sb.toString());
|
||||
|
|
|
@ -8,8 +8,10 @@ import android.os.Bundle;
|
|||
import android.os.Handler;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.Main;
|
||||
import cc.pogoda.mobile.meteosystem.R;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesOnActivityFromSummaryUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesOnActivityUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.dao.SummaryDao;
|
||||
import cc.pogoda.mobile.meteosystem.type.StationSummaryActElements;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
|
||||
|
@ -21,13 +23,19 @@ public class StationDetailsSummaryActivity extends AppCompatActivity {
|
|||
|
||||
WeatherStation station = null;
|
||||
|
||||
StationDetailsValuesUpdater updater = null;
|
||||
StationDetailsValuesOnActivityUpdater valuesOnActUpdater = null;
|
||||
|
||||
StationDetailsValuesOnActivityFromSummaryUpdater valuesFromSummaryUpdater = null;
|
||||
|
||||
Handler handler = null;
|
||||
|
||||
Main main = null;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
||||
main = (Main)getApplication();
|
||||
|
||||
elems = new StationSummaryActElements();
|
||||
|
||||
int color = ContextCompat.getColor(this, android.R.color.secondary_text_light);
|
||||
|
@ -69,12 +77,26 @@ public class StationDetailsSummaryActivity extends AppCompatActivity {
|
|||
// create a handler to update station data in background
|
||||
handler = new Handler();
|
||||
|
||||
// create a copy of updater class for this tation
|
||||
updater = new StationDetailsValuesUpdater(elems, handler, station.getSystemName(), station);
|
||||
// check if this station is on favourites list
|
||||
boolean onFavs = main.checkIsOnFavsList(station.getSystemName());
|
||||
|
||||
if (handler != null && updater != null) {
|
||||
handler.post(updater);
|
||||
if (onFavs) {
|
||||
valuesFromSummaryUpdater = new StationDetailsValuesOnActivityFromSummaryUpdater(elems, handler, station, main.getStationSystemNameToSummary());
|
||||
|
||||
if (handler != null && valuesFromSummaryUpdater != null) {
|
||||
handler.post(valuesFromSummaryUpdater);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// create a copy of updater class for this station
|
||||
valuesOnActUpdater = new StationDetailsValuesOnActivityUpdater(elems, handler, station.getSystemName(), station);
|
||||
|
||||
if (handler != null && valuesOnActUpdater != null) {
|
||||
handler.post(valuesOnActUpdater);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -82,8 +104,8 @@ public class StationDetailsSummaryActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStop() {
|
||||
|
||||
if (handler != null && updater != null) {
|
||||
handler.removeCallbacks(updater);
|
||||
if (handler != null && valuesOnActUpdater != null) {
|
||||
handler.removeCallbacks(valuesOnActUpdater);
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
|
|
@ -5,8 +5,10 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.Main;
|
||||
import cc.pogoda.mobile.meteosystem.R;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesOnActivityFromSummaryUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.StationDetailsValuesOnActivityUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.dao.SummaryDao;
|
||||
import cc.pogoda.mobile.meteosystem.type.StationWindRoseActElements;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
|
||||
|
@ -18,12 +20,16 @@ public class StationDetailsWindRoseActivity extends AppCompatActivity {
|
|||
|
||||
Summary summary;
|
||||
|
||||
StationDetailsValuesUpdater updater = null;
|
||||
StationDetailsValuesOnActivityUpdater onActivityUpdater = null;
|
||||
|
||||
StationDetailsValuesOnActivityFromSummaryUpdater fromSummaryUpdater = null;
|
||||
|
||||
Handler handler = null;
|
||||
|
||||
StationWindRoseActElements elements;
|
||||
|
||||
Main main = null;
|
||||
|
||||
public StationDetailsWindRoseActivity() {
|
||||
|
||||
}
|
||||
|
@ -35,6 +41,8 @@ public class StationDetailsWindRoseActivity extends AppCompatActivity {
|
|||
|
||||
station = (WeatherStation) getIntent().getSerializableExtra("station");
|
||||
|
||||
main = (Main)getApplication();
|
||||
|
||||
// find all elements in the xml layout file and set the references in a holding object
|
||||
elements = new StationWindRoseActElements();
|
||||
elements.windArrow = findViewById(R.id.imageViewWindRoseArrow);
|
||||
|
@ -59,12 +67,26 @@ public class StationDetailsWindRoseActivity extends AppCompatActivity {
|
|||
elements.updateFromSummary(summary, station.getAvailableParameters());
|
||||
|
||||
handler = new Handler();
|
||||
updater = new StationDetailsValuesUpdater(elements, handler, station.getSystemName(), station);
|
||||
|
||||
if (handler != null && updater != null) {
|
||||
// start the handler to update the wind rose activity in background
|
||||
handler.post(updater);
|
||||
// check if this station is on favourites list
|
||||
boolean onFavs = main.checkIsOnFavsList(station.getSystemName());
|
||||
|
||||
if (onFavs) {
|
||||
fromSummaryUpdater = new StationDetailsValuesOnActivityFromSummaryUpdater(elements, handler, station, main.getStationSystemNameToSummary());
|
||||
|
||||
if (handler != null && fromSummaryUpdater != null) {
|
||||
handler.post(fromSummaryUpdater);
|
||||
}
|
||||
}
|
||||
else {
|
||||
onActivityUpdater = new StationDetailsValuesOnActivityUpdater(elements, handler, station.getSystemName(), station);
|
||||
|
||||
if (handler != null && onActivityUpdater != null) {
|
||||
// start the handler to update the wind rose activity in background
|
||||
handler.post(onActivityUpdater);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -72,8 +94,8 @@ public class StationDetailsWindRoseActivity extends AppCompatActivity {
|
|||
protected void onStop() {
|
||||
|
||||
// remove and stop background callback
|
||||
if (handler != null && updater != null) {
|
||||
handler.removeCallbacks(updater);
|
||||
if (handler != null && onActivityUpdater != null) {
|
||||
handler.removeCallbacks(onActivityUpdater);
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
|
|
@ -22,7 +22,7 @@ import cc.pogoda.mobile.meteosystem.type.web.Summary;
|
|||
* This class is used to update entries (TextView) on Favourites list using HashMap
|
||||
* which is updated by {@link FavouritesStationSummaryUpdater}
|
||||
*/
|
||||
public class FavouritesStationDetailsUpdater implements Runnable {
|
||||
public class FavouritesStationDetailsOnListUpdater implements Runnable {
|
||||
|
||||
/**
|
||||
* Handler is used by Android to put a Runnable into MessageQueue handler by the Looper. This
|
||||
|
@ -51,7 +51,7 @@ public class FavouritesStationDetailsUpdater implements Runnable {
|
|||
*/
|
||||
private boolean enabled;
|
||||
|
||||
public FavouritesStationDetailsUpdater(Handler _handler, HashMap<String, Summary> _station_system_name_to_summary) {
|
||||
public FavouritesStationDetailsOnListUpdater(Handler _handler, HashMap<String, Summary> _station_system_name_to_summary) {
|
||||
handler = _handler;
|
||||
stationsToUpdate = new HashMap<>();
|
||||
availableParametersDao = new AvailableParametersDao();
|
||||
|
@ -92,7 +92,7 @@ public class FavouritesStationDetailsUpdater implements Runnable {
|
|||
// query web service for station data
|
||||
Summary summary = stationNameSummary.get(stationSystemName);
|
||||
|
||||
Logger.debug("[FavouritesStationDetailsUpdater][run][stationSystemName = " + stationSystemName +"][summary.last_timestamp = " + summary.last_timestamp +"]");
|
||||
Logger.debug("[FavouritesStationDetailsOnListUpdater][run][stationSystemName = " + stationSystemName +"][summary.last_timestamp = " + summary.last_timestamp +"]");
|
||||
|
||||
// query for available parameters
|
||||
AvailableParametersWeb params = availableParametersDao.getAvaliableParamsByStationName(stationSystemName);
|
|
@ -0,0 +1,45 @@
|
|||
package cc.pogoda.mobile.meteosystem.activity.updater;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.type.StationActivityElements;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
|
||||
import cc.pogoda.mobile.meteosystem.type.web.Summary;
|
||||
|
||||
/**
|
||||
* This class uses external HashMap updated by @link{{@link FavouritesStationSummaryUpdater}}
|
||||
*/
|
||||
public class StationDetailsValuesOnActivityFromSummaryUpdater implements Runnable {
|
||||
|
||||
HashMap<String, Summary> mapWithSummary;
|
||||
|
||||
StationActivityElements elementsToUpdate;
|
||||
|
||||
Handler handler;
|
||||
|
||||
WeatherStation stationToUpdate;
|
||||
|
||||
public StationDetailsValuesOnActivityFromSummaryUpdater(StationActivityElements elems, Handler h, WeatherStation station, HashMap<String, Summary> _map_with_summary_data) {
|
||||
stationToUpdate = station;
|
||||
handler = h;
|
||||
elementsToUpdate = elems;
|
||||
mapWithSummary = _map_with_summary_data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
if (mapWithSummary != null && elementsToUpdate != null) {
|
||||
|
||||
Logger.info("[StationDetailsValuesOnActivityFromSummaryUpdater][run][stationToUpdate.getSystemName() = " + stationToUpdate.getSystemName() +"]");
|
||||
|
||||
elementsToUpdate.updateFromSummary(mapWithSummary.get(stationToUpdate.getSystemName()), stationToUpdate.getAvailableParameters());
|
||||
|
||||
handler.postDelayed(this, 90000);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,6 +2,8 @@ package cc.pogoda.mobile.meteosystem.activity.updater;
|
|||
|
||||
import android.os.Handler;
|
||||
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.dao.SummaryDao;
|
||||
import cc.pogoda.mobile.meteosystem.type.StationActivityElements;
|
||||
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
|
||||
|
@ -13,7 +15,7 @@ import cc.pogoda.mobile.meteosystem.type.web.Summary;
|
|||
* Class used to update the content of StationDetailsSummaryActivity and
|
||||
* StationDetailsWindRoseActivity
|
||||
*/
|
||||
public class StationDetailsValuesUpdater implements Runnable {
|
||||
public class StationDetailsValuesOnActivityUpdater implements Runnable {
|
||||
|
||||
StationActivityElements elements = null;
|
||||
|
||||
|
@ -27,7 +29,7 @@ public class StationDetailsValuesUpdater implements Runnable {
|
|||
|
||||
WeatherStation station;
|
||||
|
||||
public StationDetailsValuesUpdater(StationActivityElements elems, Handler h, String station_name, WeatherStation station) {
|
||||
public StationDetailsValuesOnActivityUpdater(StationActivityElements elems, Handler h, String station_name, WeatherStation station) {
|
||||
elements = elems;
|
||||
handler = h;
|
||||
this.station_name = station_name;
|
||||
|
@ -47,6 +49,8 @@ public class StationDetailsValuesUpdater implements Runnable {
|
|||
// get the current data from the Web Service
|
||||
station_summary = dao.getStationSummary(station_name);
|
||||
|
||||
Logger.debug("[StationDetailsValuesOnActivityUpdater][run][station_name = " + station_name +"]");
|
||||
|
||||
// null check is done inside this call
|
||||
elements.updateFromSummary(station_summary, station.getAvailableParameters());
|
||||
|
|
@ -3,6 +3,7 @@ package cc.pogoda.mobile.meteosystem.adapter;
|
|||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.TypedValue;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -18,7 +19,7 @@ import java.util.List;
|
|||
import cc.pogoda.mobile.meteosystem.Main;
|
||||
import cc.pogoda.mobile.meteosystem.R;
|
||||
import cc.pogoda.mobile.meteosystem.activity.handler.AllStationsActRecyclerViewButtonClickEvent;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.FavouritesStationDetailsUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.updater.FavouritesStationDetailsOnListUpdater;
|
||||
import cc.pogoda.mobile.meteosystem.activity.view.AllStationsActRecyclerViewHolder;
|
||||
import cc.pogoda.mobile.meteosystem.dao.AvailableParametersDao;
|
||||
import cc.pogoda.mobile.meteosystem.dao.SummaryDao;
|
||||
|
@ -41,7 +42,7 @@ public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter<AllS
|
|||
* This updater takes data stored in the hashmap and then updates TextViews on View Holders on
|
||||
* Favourites list
|
||||
*/
|
||||
private FavouritesStationDetailsUpdater favsUpdater = null;
|
||||
private FavouritesStationDetailsOnListUpdater favsUpdater = null;
|
||||
|
||||
Handler handler = null;
|
||||
|
||||
|
@ -100,6 +101,13 @@ public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter<AllS
|
|||
textView.setText(station.getDisplayedName());
|
||||
button.setText(R.string.select_station);
|
||||
|
||||
if (station.getDisplayedName().length() > 24) {
|
||||
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16.0f);
|
||||
}
|
||||
else {
|
||||
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20.0f);
|
||||
}
|
||||
|
||||
button.setOnClickListener(new AllStationsActRecyclerViewButtonClickEvent(station, activity, reason));
|
||||
}
|
||||
|
||||
|
@ -125,7 +133,7 @@ public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter<AllS
|
|||
}
|
||||
|
||||
handler = new Handler(Looper.getMainLooper());
|
||||
favsUpdater = new FavouritesStationDetailsUpdater(handler, main.getStationSystemNameToSummary());
|
||||
favsUpdater = new FavouritesStationDetailsOnListUpdater(handler, main.getStationSystemNameToSummary());
|
||||
|
||||
handler.postDelayed(favsUpdater, 100);
|
||||
favsUpdater.setEnabled(true);
|
||||
|
|
|
@ -7,7 +7,9 @@ import android.widget.TextView;
|
|||
import org.threeten.bp.Duration;
|
||||
import org.threeten.bp.LocalDateTime;
|
||||
import org.threeten.bp.ZonedDateTime;
|
||||
import org.threeten.bp.format.DateTimeFormatter;
|
||||
import org.threeten.bp.temporal.ChronoUnit;
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.R;
|
||||
import cc.pogoda.mobile.meteosystem.type.web.QualityFactor;
|
||||
|
@ -92,6 +94,8 @@ public class StationSummaryActElements implements StationActivityElements {
|
|||
|
||||
long minutes_difference = last_station_data.until(current, ChronoUnit.MINUTES);
|
||||
|
||||
Logger.debug("[StationSummaryActElements][updateFromSummary][last_station_data = " + last_station_data.format(DateTimeFormatter. ISO_LOCAL_DATE_TIME) +"]");
|
||||
|
||||
// calculate the duration between
|
||||
Duration duration = Duration.between(last_station_data, current);
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ import android.widget.TextView;
|
|||
import org.threeten.bp.Duration;
|
||||
import org.threeten.bp.LocalDateTime;
|
||||
import org.threeten.bp.ZonedDateTime;
|
||||
import org.threeten.bp.format.DateTimeFormatter;
|
||||
import org.tinylog.Logger;
|
||||
|
||||
import cc.pogoda.mobile.meteosystem.R;
|
||||
import cc.pogoda.mobile.meteosystem.type.web.QualityFactor;
|
||||
|
@ -85,6 +87,8 @@ public class StationWindRoseActElements implements StationActivityElements {
|
|||
// current date and time (in current time zone set in system configuration)
|
||||
LocalDateTime current = LocalDateTime.now();
|
||||
|
||||
Logger.debug("[StationWindRoseActElements][updateFromSummary][last_station_data = " + last_station_data.format(DateTimeFormatter. ISO_LOCAL_DATE_TIME) +"]");
|
||||
|
||||
// calculate the duration between
|
||||
Duration duration = Duration.between(last_station_data, current);
|
||||
|
||||
|
@ -94,6 +98,8 @@ public class StationWindRoseActElements implements StationActivityElements {
|
|||
}
|
||||
}
|
||||
|
||||
Logger.debug("[StationWindRoseActElements][updateFromSummary][no_data = " + no_data +"][old_data = " + old_data+"]");
|
||||
|
||||
// create strings with wind speed, gusts etc
|
||||
String average_speed = String.format("%s", data.getWindspeedStr(true));
|
||||
String gusts_speed = String.format("%s", data.getWindgustsStr(true));
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke
|
||||
android:width="10dp"
|
||||
android:color="@color/dark_blue" />
|
||||
<padding
|
||||
android:left="1dp"
|
||||
android:top="1dp"
|
||||
android:right="1dp"
|
||||
android:bottom="1dp" />
|
||||
<corners
|
||||
android:bottomRightRadius="8dip"
|
||||
android:bottomLeftRadius="8dip"
|
||||
android:topRightRadius="8dip"
|
||||
android:topLeftRadius="8dip" />
|
||||
</shape>
|
|
@ -24,6 +24,7 @@
|
|||
android:id="@+id/station_button_fav"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textSize="10sp"
|
||||
|
|
|
@ -37,12 +37,16 @@
|
|||
android:id="@+id/imageButtonFavourites"
|
||||
android:layout_width="176dp"
|
||||
android:layout_height="180dp"
|
||||
android:backgroundTint="@color/blue"
|
||||
android:background="@drawable/button_border"
|
||||
android:baselineAlignBottom="false"
|
||||
android:cropToPadding="false"
|
||||
android:foregroundTintMode="screen"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -59,6 +63,9 @@
|
|||
android:layout_marginBottom="18dp"
|
||||
android:text="@string/fav_stations"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonFavourites"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonFavourites"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonFavourites"
|
||||
|
@ -83,7 +90,7 @@
|
|||
android:id="@+id/imageButtonAllStations"
|
||||
android:layout_width="175dp"
|
||||
android:layout_height="183dp"
|
||||
android:backgroundTint="@color/blue"
|
||||
android:background="@drawable/button_border"
|
||||
android:backgroundTintMode="src_in"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
|
@ -92,6 +99,7 @@
|
|||
android:scaleType="fitXY"
|
||||
android:scaleX="1"
|
||||
android:scaleY="1"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -108,6 +116,9 @@
|
|||
android:layout_marginBottom="18dp"
|
||||
android:text="@string/all_stations"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonAllStations"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonAllStations"
|
||||
app:layout_constraintHorizontal_bias="0.526"
|
||||
|
@ -133,7 +144,7 @@
|
|||
android:id="@+id/imageButtonExport"
|
||||
android:layout_width="175dp"
|
||||
android:layout_height="183dp"
|
||||
android:backgroundTint="@color/blue"
|
||||
android:background="@drawable/button_border"
|
||||
android:backgroundTintMode="src_in"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
|
@ -142,6 +153,7 @@
|
|||
android:scaleType="fitXY"
|
||||
android:scaleX="1"
|
||||
android:scaleY="1"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -158,6 +170,9 @@
|
|||
android:layout_marginBottom="18dp"
|
||||
android:text="@string/export_data"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonExport"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonExport"
|
||||
app:layout_constraintHorizontal_bias="0.526"
|
||||
|
@ -183,12 +198,13 @@
|
|||
android:id="@+id/imageButtonSettings"
|
||||
android:layout_width="176dp"
|
||||
android:layout_height="180dp"
|
||||
android:backgroundTint="@color/blue"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -205,6 +221,9 @@
|
|||
android:layout_marginBottom="18dp"
|
||||
android:text="@string/settings"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonSettings"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonSettings"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonSettings"
|
||||
|
@ -218,6 +237,7 @@
|
|||
android:layout_marginTop="32dp"
|
||||
android:fontFamily="@font/alegreya_sans_sc_medium"
|
||||
android:text="@string/credits_1"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayoutExport" />
|
||||
|
@ -231,6 +251,7 @@
|
|||
android:fontFamily="@font/alegreya_sans_sc_medium"
|
||||
android:text="@string/credits_2"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textViewCredits3"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -243,6 +264,7 @@
|
|||
android:fontFamily="@font/alegreya_sans_sc_medium"
|
||||
android:text="@string/credits_3"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textViewCredits4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
|
@ -45,11 +45,15 @@
|
|||
|
||||
<TextView
|
||||
android:id="@+id/textViewStationName"
|
||||
android:layout_width="340dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="58dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="197dp"
|
||||
android:layout_marginEnd="205dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:shadowColor="@color/black"
|
||||
android:shadowDx="1"
|
||||
android:shadowDy="1"
|
||||
android:shadowRadius="3"
|
||||
android:text="TextView"
|
||||
android:textColor="#000000"
|
||||
android:textSize="36sp"
|
||||
|
@ -65,15 +69,16 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayoutStationInfo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp">
|
||||
android:layout_height="68dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewSponsorUrl"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:autoLink="web"
|
||||
android:autoLink="all"
|
||||
android:fontFamily="@font/alegreya_sans_sc_medium"
|
||||
android:linksClickable="true"
|
||||
android:text="TextView"
|
||||
android:textSize="18sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -96,7 +101,8 @@
|
|||
android:text="TextView"
|
||||
android:textAlignment="viewEnd"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textViewSponsorUrl" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
@ -111,12 +117,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.931"
|
||||
|
@ -134,6 +141,9 @@
|
|||
android:layout_marginEnd="57dp"
|
||||
android:layout_marginBottom="19dp"
|
||||
android:text="@string/wind_rose"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonWindRose"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonWindRose"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonWindRose"
|
||||
|
@ -145,12 +155,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/imageButtonWindRose"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
@ -169,6 +180,9 @@
|
|||
android:layout_marginBottom="18dp"
|
||||
android:text="@string/station_summary"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonFavourites"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonFavourites"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonFavourites"
|
||||
|
@ -180,12 +194,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/imageButtonPlotsTemperature"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
@ -204,6 +219,9 @@
|
|||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/title_activity_trend"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonTrend"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonTrend"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonTrend"
|
||||
|
@ -215,12 +233,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.931"
|
||||
|
@ -239,6 +258,9 @@
|
|||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/temperature_plot"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonPlotsTemperature"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonPlotsTemperature"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonPlotsTemperature"
|
||||
|
@ -250,12 +272,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.931"
|
||||
|
@ -274,6 +297,9 @@
|
|||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/humidity_plot"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/imageButtonPlotsHumidity"
|
||||
app:layout_constraintEnd_toEndOf="@id/imageButtonPlotsHumidity"
|
||||
app:layout_constraintStart_toStartOf="@id/imageButtonPlotsHumidity"
|
||||
|
@ -287,12 +313,13 @@
|
|||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitCenter"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
@ -311,6 +338,9 @@
|
|||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/wind_speed_plots"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/imageButtonPlotsWindSpeed"
|
||||
app:layout_constraintEnd_toEndOf="@id/imageButtonPlotsWindSpeed"
|
||||
app:layout_constraintStart_toStartOf="@id/imageButtonPlotsWindSpeed"
|
||||
|
@ -322,12 +352,13 @@
|
|||
android:layout_height="180dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
android:background="@drawable/button_border"
|
||||
android:paddingLeft="100px"
|
||||
android:paddingTop="100px"
|
||||
android:paddingRight="100px"
|
||||
android:paddingBottom="100px"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="@color/dark_blue"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/imageButtonPlotsHumidity"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
@ -346,6 +377,9 @@
|
|||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/wind_direction_plots"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/dark_blue"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/imageButtonPlotsWindDirection"
|
||||
app:layout_constraintEnd_toEndOf="@id/imageButtonPlotsWindDirection"
|
||||
app:layout_constraintStart_toStartOf="@id/imageButtonPlotsWindDirection"
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<string name="humidity_plot">Vlhkost vzduchu</string>
|
||||
|
||||
<string name="station_doesnt_measure">Stanice tento parametr neměří</string>
|
||||
<string name="click_on_plot">Klikněte na bod na grafu</string>
|
||||
<string name="click_on_plot">Klikněte na graf</string>
|
||||
<string name="sort_alphabetical">Seřadit podle abecedy</string>
|
||||
|
||||
<string name="sort_in_adding_order">Seřadit podle pořadí přidávání</string>
|
||||
|
@ -186,5 +186,6 @@
|
|||
<string name="knots_long">kn (Uzly)</string>
|
||||
<string name="export_decimation">Decimace eskportovaných údajov</string>
|
||||
<string name="export_decimation_minutes">Minimální krok v minutách</string>
|
||||
<string name="www_link">URL pro více informací</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<string name="humidity_plot">Vlhkost vzduchu</string>
|
||||
|
||||
<string name="station_doesnt_measure">Stanice tento parametr neměří</string>
|
||||
<string name="click_on_plot">Klikněte na bod na grafu</string>
|
||||
<string name="click_on_plot">Klikněte na graf</string>
|
||||
<string name="sort_alphabetical">Seřadit podle abecedy</string>
|
||||
|
||||
<string name="sort_in_adding_order">Seřadit podle pořadí přidávání</string>
|
||||
|
@ -186,5 +186,6 @@
|
|||
<string name="knots_long">kn (Uzly)</string>
|
||||
<string name="export_decimation">Decimace eskportovaných údajov</string>
|
||||
<string name="export_decimation_minutes">Minimální krok v minutách</string>
|
||||
<string name="www_link">URL pro více informací</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<string name="temperature_plot">temperatu</string>
|
||||
<string name="humidity_plot">feichtigkeit</string>
|
||||
<string name="station_doesnt_measure">Die Station misst keine Parameter </string>
|
||||
<string name="click_on_plot">Druck auf den Punkt auf dem Diagramm </string>
|
||||
<string name="click_on_plot">"Druck auf der Diagramm "</string>
|
||||
<string name="sort_alphabetical">Alphabetisch sortieren </string>
|
||||
<string name="sort_in_adding_order">Sortiere nach hinzufügen datum </string>
|
||||
<string name="clear_from_non_existent">lösche nicht existierende Stationen </string>
|
||||
|
@ -115,6 +115,7 @@
|
|||
<string name="knots_long">kn (knoten)</string>
|
||||
<string name="export_decimation">Dezimierung exportierten Dateien </string>
|
||||
<string name="export_decimation_minutes">Minimaler Schritt in Minuten </string>
|
||||
</resources>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
||||
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<string name="temperature_plot">temperatu</string>
|
||||
<string name="humidity_plot">feichtigkeit</string>
|
||||
<string name="station_doesnt_measure">Die Station misst keine Parameter </string>
|
||||
<string name="click_on_plot">Druck auf den Punkt auf dem Diagramm </string>
|
||||
<string name="click_on_plot">"Druck auf dem Diagramm "</string>
|
||||
<string name="sort_alphabetical">Alphabetisch sortieren </string>
|
||||
<string name="sort_in_adding_order">Sortiere nach hinzufügen datum </string>
|
||||
<string name="clear_from_non_existent">lösche nicht existierende Stationen </string>
|
||||
|
@ -115,6 +115,7 @@
|
|||
<string name="knots_long">kn (knoten)</string>
|
||||
<string name="export_decimation">Dezimierung exportierten Dateien </string>
|
||||
<string name="export_decimation_minutes">Minimaler Schritt in Minuten </string>
|
||||
</resources>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
||||
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<string name="temperature_plot">temperatu</string>
|
||||
<string name="humidity_plot">feichtigkeit</string>
|
||||
<string name="station_doesnt_measure">Die Station misst keine Parameter </string>
|
||||
<string name="click_on_plot">Druck auf den Punkt auf dem Diagramm </string>
|
||||
<string name="click_on_plot">"Druck auf der Diagramm "</string>
|
||||
<string name="sort_alphabetical">Alphabetisch sortieren </string>
|
||||
<string name="sort_in_adding_order">Sortiere nach hinzufügen datum </string>
|
||||
<string name="clear_from_non_existent">lösche nicht existierende Stationen </string>
|
||||
|
@ -115,6 +115,7 @@
|
|||
<string name="knots_long">kn (knoten)</string>
|
||||
<string name="export_decimation">Dezimierung exportierten Dateien </string>
|
||||
<string name="export_decimation_minutes">Minimaler Schritt in Minuten </string>
|
||||
</resources>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
||||
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<string name="temperature_plot">Temperature Plot</string>
|
||||
<string name="humidity_plot">Humidity Plot</string>
|
||||
<string name="station_doesnt_measure">The station doesn\'t measure this parameter</string>
|
||||
<string name="click_on_plot">Click on point on the plot</string>
|
||||
<string name="click_on_plot">Click on the plot</string>
|
||||
<string name="sort_alphabetical">Sort in alphabetical order</string>
|
||||
<string name="sort_in_adding_order">Sort in adding order</string>
|
||||
<string name="clear_from_non_existent">Clear removed stations</string>
|
||||
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (knots)</string>
|
||||
<string name="export_decimation">Export data decimation</string>
|
||||
<string name="export_decimation_minutes">Minimum time resolution</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn</string>
|
||||
<string name="export_decimation">Export data decimation</string>
|
||||
<string name="export_decimation_minutes">Minimum time resolution</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
||||
|
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn</string>
|
||||
<string name="export_decimation">Export data decimation</string>
|
||||
<string name="export_decimation_minutes">Minimum time resolution</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<string name="temperature_plot">Temperatura</string>
|
||||
<string name="humidity_plot">Wilgotność</string>
|
||||
<string name="station_doesnt_measure">Stacja nie mierzy tego parametru</string>
|
||||
<string name="click_on_plot">Kliknij na punkt na wykresie</string>
|
||||
<string name="click_on_plot">Kliknij na wykres</string>
|
||||
<string name="sort_alphabetical">Sortuj alfabetycznie</string>
|
||||
<string name="sort_in_adding_order">Sortuj wg kolejności dodania</string>
|
||||
<string name="clear_from_non_existent">Usuń nieistniejące stacje</string>
|
||||
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (węzły)</string>
|
||||
<string name="export_decimation">Decymacja eskportowanych danych</string>
|
||||
<string name="export_decimation_minutes">Minimalny krok w minutach</string>
|
||||
<string name="www_link">Więcej informacji</string>
|
||||
</resources>
|
|
@ -65,7 +65,7 @@
|
|||
<string name="temperature_plot">Temperatura</string>
|
||||
<string name="humidity_plot">Wilgotność</string>
|
||||
<string name="station_doesnt_measure">Stacja nie mierzy tego parametru</string>
|
||||
<string name="click_on_plot">Kliknij na punkt na wykresie</string>
|
||||
<string name="click_on_plot">Kliknij na wykres</string>
|
||||
<string name="sort_alphabetical">Sortuj alfabetycznie</string>
|
||||
<string name="sort_in_adding_order">Sortuj wg kolejności dodania</string>
|
||||
<string name="clear_from_non_existent">Usuń nieistniejące stacje</string>
|
||||
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (węzły)</string>
|
||||
<string name="export_decimation">Decymacja eskportowanych danych</string>
|
||||
<string name="export_decimation_minutes">Minimalny krok w minutach</string>
|
||||
<string name="www_link">Więcej informacji</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (узлы)</string>
|
||||
<string name="export_decimation">Децимация экспортируемых данных</string>
|
||||
<string name="export_decimation_minutes">Минимальный шаг в минутах</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (узлы)</string>
|
||||
<string name="export_decimation">Децимация экспортируемых данных</string>
|
||||
<string name="export_decimation_minutes">Минимальный шаг в минутах</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (узлы)</string>
|
||||
<string name="export_decimation">Децимация экспортируемых данных</string>
|
||||
<string name="export_decimation_minutes">Минимальный шаг в минутах</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (вузли)</string>
|
||||
<string name="export_decimation">Децимація експортованих даних</string>
|
||||
<string name="export_decimation_minutes">Мінімальний крок у хвилинах</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -113,4 +113,5 @@
|
|||
<string name="knots_long">kn (вузли)</string>
|
||||
<string name="export_decimation">Децимація експортованих даних</string>
|
||||
<string name="export_decimation_minutes">Мінімальний крок у хвилинах</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
|
@ -71,7 +71,7 @@
|
|||
<string name="station_doesnt_measure">The station doesn\'t measure this parameter</string>
|
||||
<string name="meters_per_second" translatable="false">m/s</string>
|
||||
<string name="knots" translatable="false">kn</string>
|
||||
<string name="click_on_plot">Click on point on the plot</string>
|
||||
<string name="click_on_plot">Click on the plot</string>
|
||||
<string name="sort_alphabetical">Sort in alphabetical order</string>
|
||||
<string name="sort_in_adding_order">Sort in adding order</string>
|
||||
<string name="clear_from_non_existent">Clear removed stations</string>
|
||||
|
@ -143,4 +143,5 @@
|
|||
<item>Deutsch</item>
|
||||
</string-array>
|
||||
<string name="lang_change_req_restart" translatable="false">Changing language requires app restart after making a choose in this window.</string>
|
||||
<string name="www_link">URL to more information</string>
|
||||
</resources>
|
Ładowanie…
Reference in New Issue