diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e119b00..b8fd3d9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -32,15 +32,15 @@ + /> + /> + /> diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java index 344a87e..741c991 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java @@ -52,15 +52,15 @@ import de.apps4ics.mountainnavigation.handlers.WeatherHandler; public class DownloadActivity extends Activity implements OnSingleWeatherRetrieved, OnWeatherRetrieved { - LinearLayout dayLayout; - SeekBar dayPicker; - TextView dayDisplay; - EditText customLocationInput; - Button startDownload; - int nrOfForecastDays; - String currentSelected; - boolean customLocationFound; - Location customLocation; + private LinearLayout dayLayout; + private SeekBar dayPicker; + private TextView dayDisplay; + private EditText customLocationInput; + private Button startDownload; + private int nrOfForecastDays; + private String currentSelected; + private boolean customLocationFound; + private Location customLocation; private final static int DAILY_FORECAST_MAX = 16; //http://openweathermap.org/api private final static int HOUR_FORECAST_MAX = 5; //http://openweathermap.org/api @@ -105,7 +105,7 @@ e.printStackTrace(); } Resources res = MainActivity.getRes(); - if(addresses.size() == 0) { + if(addresses == null || addresses.size() == 0) { customLocationFound = false; customLocation = null; InformDialog informDialog = new InformDialog(); @@ -147,7 +147,7 @@ @Override public void onClick(View v) { WeatherHandler weatherHandler = MainActivity.getWeatherHandler(); - Location l = null; + Location l; if(customLocationInput.getText().length() == 0) { l = MainActivity.getLocation(); if(l == null) { @@ -238,8 +238,7 @@ String locationName = params[0]; GeocoderNominatim geocoder = new GeocoderNominatim(DownloadActivity.this, ""); try { - List
addresses = geocoder.getFromLocationName(locationName, 5); - return addresses; + return geocoder.getFromLocationName(locationName, 5); } catch (IOException e) { e.printStackTrace(); } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index b60eabf..d098e7c 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; +import android.graphics.PorterDuff; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; @@ -65,6 +66,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import de.apps4ics.mountainnavigation.adapters.ImageListAdapter; import de.apps4ics.mountainnavigation.handlers.DatabaseHandler; @@ -123,7 +125,6 @@ private LinearLayout poiView; private LinearLayout menuView; private ImageView weatherSymbol; - private ImageView weatherWarning; private TextView weatherCity; private TextView weatherDesc; private TextView weatherMinTemp; @@ -157,8 +158,8 @@ sharedPrefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); - df_hm = new SimpleDateFormat(res.getString(R.string.date_format_hm)); - df_full = new SimpleDateFormat(res.getString(R.string.date_format_full)); + df_hm = new SimpleDateFormat(res.getString(R.string.date_format_hm), Locale.getDefault()); + df_full = new SimpleDateFormat(res.getString(R.string.date_format_full), Locale.getDefault()); RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.container); @@ -182,7 +183,7 @@ currentPosition = new Marker(mapView); currentPosition.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM); currentPosition.setTitle(getString(R.string.osm_marker_title)); - currentPosition.setIcon(res.getDrawable(R.drawable.ic_currency_96)); + currentPosition.setIcon(res.getDrawable(R.drawable.ic_currency_96, null)); relativeLayout.addView(mapView); @@ -211,7 +212,6 @@ menuView = (LinearLayout) findViewById(R.id.menuList); poiView = (LinearLayout) findViewById(R.id.poiList); weatherSymbol = (ImageView) findViewById(R.id.weather_symbol); - weatherWarning = (ImageView) findViewById(R.id.warning_symbol); weatherCity = (TextView) findViewById(R.id.weather_city); weatherDesc = (TextView) findViewById(R.id.weather_desc); weatherMinTemp = (TextView) findViewById(R.id.weather_min_temp); @@ -263,7 +263,7 @@ R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawerToggle.setDrawerIndicatorEnabled(true); - drawerLayout.setDrawerListener(drawerToggle); + drawerLayout.addDrawerListener(drawerToggle); double _lat = 48.52; double _lon = 9.055; @@ -307,7 +307,7 @@ mapView.getOverlays().addAll(markers); mapView.invalidate(); } else { - iv.setColorFilter(res.getColor(R.color.icon_unselected_gray)); + iv.setColorFilter(res.getColor(R.color.icon_unselected_gray), PorterDuff.Mode.DST_OUT); iv.setTag("disabled"); tv.setTextColor(res.getColor(R.color.text_color)); Toaster("You disabled " + PoiHandler.getEntries()[position]); @@ -650,12 +650,12 @@ @Override public MyWeather postRetrieve(MyWeather weather) { weatherSymbol.setImageDrawable(weather.getWeatherCodeImage()); - weatherCity.setText(weather.getCity() + ", " + weather.getCountry()); + weatherCity.setText(String.format(Locale.getDefault(), res.getString(R.string.weather_city_display), weather.getCity(), weather.getCountry())); weatherDesc.setText(weather.getWeatherDesc()); - weatherMinTemp.setText(String.format(res.getString(R.string.preferences_n_degree_floating), weather.getMinTemp())); - weatherMaxTemp.setText(String.format(res.getString(R.string.preferences_n_degree_floating), weather.getMaxTemp())); - if(weather.isSevereWeather()) weatherWarning.setImageDrawable(res.getDrawable(R.drawable.ic_warning)); - else weatherWarning.setImageDrawable(null); + weatherMinTemp.setText(String.format(Locale.getDefault(), res.getString(R.string.preferences_n_degree_floating), weather.getMinTemp())); + weatherMaxTemp.setText(String.format(Locale.getDefault(), res.getString(R.string.preferences_n_degree_floating), weather.getMaxTemp())); + if(weather.isSevereWeather()) weatherCity.setCompoundDrawablesWithIntrinsicBounds(null, null, res.getDrawable(R.drawable.ic_warning, null), null); + else weatherCity.setCompoundDrawables(null, null, null, null); weatherHandler.displayHints(weather); weatherHandler.displaySevereWeather(weather); return null; diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MyPhoneStateListener.java b/app/src/main/java/de/apps4ics/mountainnavigation/MyPhoneStateListener.java index 53e8073..3235904 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MyPhoneStateListener.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MyPhoneStateListener.java @@ -24,7 +24,7 @@ import android.telephony.PhoneStateListener; import android.telephony.SignalStrength; -public class MyPhoneStateListener extends PhoneStateListener { +class MyPhoneStateListener extends PhoneStateListener { @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MyWeather.java b/app/src/main/java/de/apps4ics/mountainnavigation/MyWeather.java index 1b75c9e..9ab0957 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MyWeather.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MyWeather.java @@ -23,7 +23,6 @@ import android.graphics.drawable.Drawable; import android.location.Location; -import android.util.Log; import com.survivingwithandroid.weather.lib.WeatherCode; import com.survivingwithandroid.weather.lib.model.DayForecast; @@ -132,7 +131,7 @@ return isAfterSunset(System.currentTimeMillis()); } - public boolean isAfterSunset( long time){ + private boolean isAfterSunset( long time){ return time > (getSunset() * 1000) && time < (getSunrise() * 1000); } @@ -159,7 +158,7 @@ return isDark(System.currentTimeMillis(), length); } - public boolean isDark(long time, long length){ + private boolean isDark(long time, long length){ return isAfterSunset(time) || isAfterSunset(time + length); } @@ -178,7 +177,7 @@ * Gets a proper icon for the current weather code, adapted from http://openweathermap.org/weather-conditions * @return int resource id of the drawable */ - public int getWeatherCodeStringId() { + private int getWeatherCodeStringId() { switch(getWeatherCode()) { case 200: return R.drawable.ic_chance_of_storm_96; @@ -323,7 +322,7 @@ } public Drawable getWeatherCodeImage() { - return MainActivity.getRes().getDrawable(getWeatherCodeStringId()); + return MainActivity.getRes().getDrawable(getWeatherCodeStringId(), null); } public int getClouds() { diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrieved.java b/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrieved.java index e2fe95b..684cf19 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrieved.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrieved.java @@ -22,5 +22,5 @@ package de.apps4ics.mountainnavigation; public interface OnSingleWeatherRetrieved { - public MyWeather postRetrieve(MyWeather weather); + MyWeather postRetrieve(MyWeather weather); } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrieved.java b/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrieved.java index 6c9e971..bdb8ede 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrieved.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrieved.java @@ -24,5 +24,5 @@ import java.util.List; public interface OnWeatherRetrieved { - public List postRetrieve(List weathers); + List postRetrieve(List weathers); } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java b/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java index 3b9d166..90064fd 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java @@ -65,6 +65,7 @@ this.maxValue = ta.getInt(R.styleable.MinSeekBar_android_max, DEFAULT_MAX_VALUE); this.minValue = ta.getInt(R.styleable.MinSeekBar_min, DEFAULT_MIN_VALUE); this.isDays = ta.getBoolean(R.styleable.MinSeekBar_isdays, false); + ta.recycle(); } private String getInfoText(int value) { diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/CheckboxImageAdapter.java b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/CheckboxImageAdapter.java index 4720359..e15c234 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/CheckboxImageAdapter.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/CheckboxImageAdapter.java @@ -22,6 +22,7 @@ package de.apps4ics.mountainnavigation.adapters; import android.app.Activity; +import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; @@ -36,12 +37,12 @@ import de.apps4ics.mountainnavigation.R; public class CheckboxImageAdapter extends BaseAdapter { - Activity context; - boolean[] itemChecked; - int nrOfItems; - String[] entries; - String[] entryDesc; - Integer[] imgs; + private Activity context; + private boolean[] itemChecked; + private int nrOfItems; + private String[] entries; + private String[] entryDesc; + private Integer[] imgs; public CheckboxImageAdapter(Activity context, String[] entries, String[] entryDesc, Integer[] entryImgs){ super(); @@ -108,7 +109,7 @@ String item_desc; if(entryDesc != null) item_desc = entryDesc[position]; else item_desc = ""; - Drawable img = context.getResources().getDrawable(imgs[position]); + Drawable img = context.getResources().getDrawable(imgs[position], null); holder.iv.setImageDrawable(img); holder.tv_title.setText(item_title); holder.tv_desc.setText(item_desc); @@ -142,7 +143,7 @@ iv.setColorFilter(null); iv.setTag(""); } else { - iv.setColorFilter(MainActivity.getRes().getColor(R.color.icon_unselected_gray)); + iv.setColorFilter(MainActivity.getRes().getColor(R.color.icon_unselected_gray), PorterDuff.Mode.DST_OUT); iv.setTag("disabled"); } } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/ImageListAdapter.java b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/ImageListAdapter.java index 29d9959..aed81c8 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/ImageListAdapter.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/ImageListAdapter.java @@ -22,6 +22,7 @@ package de.apps4ics.mountainnavigation.adapters; import android.app.Activity; +import android.graphics.PorterDuff; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -56,7 +57,7 @@ txtTitle.setText(texts[position]); imageView.setImageResource(imgs[position]); - if(!selected) imageView.setColorFilter(context.getResources().getColor(R.color.icon_unselected_gray)); + if(!selected) imageView.setColorFilter(context.getResources().getColor(R.color.icon_unselected_gray), PorterDuff.Mode.DST_OUT); return rowView; } } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/DatabaseHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/DatabaseHandler.java index 52721c6..1a71d6b 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/DatabaseHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/DatabaseHandler.java @@ -598,8 +598,8 @@ public int getPoiCount(){ SQLiteDatabase db = this.getReadableDatabase(); int count = 0; - for(int i=0; i getPoisAround(double lat, double lon, int limit) { List poisAround = new ArrayList<>(); SQLiteDatabase db = this.getReadableDatabase(); - for(int i=0; i waypoints = new ArrayList<>(Arrays.asList(params)); - Road road = PoiHandler.getRoadManager().getRoad(waypoints); - return road; + return PoiHandler.getRoadManager().getRoad(waypoints); } } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java index a50f257..46cf7b3 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java @@ -22,7 +22,6 @@ package de.apps4ics.mountainnavigation.handlers; import android.os.AsyncTask; -import android.util.Log; import org.osmdroid.bonuspack.location.NominatimPOIProvider; import org.osmdroid.bonuspack.location.POI; @@ -32,19 +31,16 @@ import java.util.List; import java.util.concurrent.ExecutionException; -import de.apps4ics.mountainnavigation.MainActivity; -import de.apps4ics.mountainnavigation.pois.Poi; - -public class OsmHandler { - public static final String OSM_TYPE_PATH = "path"; - public static final String OSM_TYPE_SPRING = "spring"; - public static final String OSM_TYPE_STREAM = "stream"; - public static final String OSM_TYPE_PEAK = "peak"; - public static final String OSM_TYPE_WILD_HUT = "wilderness_hut"; - public static final String OSM_TYPE_ALP_HUT = "alpine_hut"; - public static final String OSM_TYPE_WATER = "water"; - public static final String OSM_TYPE_AERIALWAY = "aerialway"; - public static final String[] OSM_TYPES = new String[]{ OSM_TYPE_PATH, OSM_TYPE_SPRING, OSM_TYPE_STREAM, OSM_TYPE_PEAK, OSM_TYPE_WILD_HUT, OSM_TYPE_ALP_HUT, OSM_TYPE_WATER, OSM_TYPE_AERIALWAY }; +class OsmHandler { + private static final String OSM_TYPE_PATH = "path"; + private static final String OSM_TYPE_SPRING = "spring"; + private static final String OSM_TYPE_STREAM = "stream"; + private static final String OSM_TYPE_PEAK = "peak"; + private static final String OSM_TYPE_WILD_HUT = "wilderness_hut"; + private static final String OSM_TYPE_ALP_HUT = "alpine_hut"; + private static final String OSM_TYPE_WATER = "water"; + private static final String OSM_TYPE_AERIALWAY = "aerialway"; + private static final String[] OSM_TYPES = new String[]{ OSM_TYPE_PATH, OSM_TYPE_SPRING, OSM_TYPE_STREAM, OSM_TYPE_PEAK, OSM_TYPE_WILD_HUT, OSM_TYPE_ALP_HUT, OSM_TYPE_WATER, OSM_TYPE_AERIALWAY }; public List getPoisAround(double lat, double lon, int limit) { List poisAround = new ArrayList<>(); @@ -71,8 +67,7 @@ int limit = (Integer) params[3]; NominatimPOIProvider poiProvider = new NominatimPOIProvider(""); if(limit == -1) limit = 50; - List foundPois = poiProvider.getPOICloseTo(new GeoPoint(lat, lon), type, limit, 0.1); - return foundPois; + return poiProvider.getPOICloseTo(new GeoPoint(lat, lon), type, limit, 0.1); } catch (Exception e) { return null; } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java index cd24fd3..4cdc67f 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java @@ -70,6 +70,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -107,7 +108,7 @@ private FragmentManager fragmentManager; private Vibrator v; - public static final long VIB_LENGTH = 50; + private static final long VIB_LENGTH = 50; public final static int SELECT_POI_PHOTO = 1; private static String[] fountainSizes; @@ -292,7 +293,13 @@ public List getPoiIcons(int type, String title) { UpdatePoiIconsAsyncTask task = new UpdatePoiIconsAsyncTask(type, title, res, mapView); List tempPoiList = dbHandler.getPoiByType(type); - poiMarkers[type] = task.doInBackground(tempPoiList); + try { + poiMarkers[type] = task.execute(tempPoiList).get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } return poiMarkers[type]; } @@ -341,7 +348,7 @@ List overlayItemList = new ArrayList<>(); for(Location l : MainActivity.getFoundLocations()){ OverlayItem oI = new OverlayItem(String.valueOf(l.getTime()), null, null, new GeoPoint(l.getLatitude(), l.getLongitude(), l.getAltitude())); - oI.setMarker(res.getDrawable(R.mipmap.ic_poi_red)); + oI.setMarker(res.getDrawable(R.mipmap.ic_poi_red, null)); overlayItemList.add(oI); } @@ -351,8 +358,8 @@ GeoPoint gp = new GeoPoint(dbgp.getLat(), dbgp.getLon(), dbgp.getAlt()); OverlayItem oI = new OverlayItem(String.valueOf(dbgp.getTime()), String.valueOf(p.getId()), String.valueOf(p.getType()), gp); Drawable[] iconLayer = new Drawable[2]; - iconLayer[0] = res.getDrawable(R.mipmap.ic_poi); - BitmapDrawable bd = (BitmapDrawable) res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(p.getType())]); + iconLayer[0] = res.getDrawable(R.mipmap.ic_poi, null); + BitmapDrawable bd = (BitmapDrawable) res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(p.getType())], null); if(bd == null) continue; Bitmap b = bd.getBitmap(); Bitmap bResized = Bitmap.createScaledBitmap(b, b.getWidth()/2, b.getHeight()/2, false); @@ -394,7 +401,7 @@ public boolean longPressHelper(GeoPoint geoPoint) { v.vibrate(VIB_LENGTH); OverlayItem oI = new OverlayItem("", null, null, geoPoint); - oI.setMarker(context.getResources().getDrawable(R.mipmap.ic_poi_red)); + oI.setMarker(context.getResources().getDrawable(R.mipmap.ic_poi_red, null)); overlay.addItem(oI); popupMapView.invalidate(); return true; @@ -418,7 +425,7 @@ List overlayItemList = new ArrayList<>(); for(Location l : MainActivity.getFoundLocations()){ OverlayItem oI = new OverlayItem(String.valueOf(l.getTime()), null, null, new GeoPoint(l.getLatitude(), l.getLongitude(), l.getAltitude())); - oI.setMarker(res.getDrawable(R.mipmap.ic_poi_red)); + oI.setMarker(res.getDrawable(R.mipmap.ic_poi_red, null)); overlayItemList.add(oI); } @@ -428,8 +435,8 @@ GeoPoint gp = new GeoPoint(dbgp.getLat(), dbgp.getLon(), dbgp.getAlt()); OverlayItem oI = new OverlayItem(String.valueOf(dbgp.getTime()), String.valueOf(p.getId()), String.valueOf(p.getType()), gp); Drawable[] iconLayer = new Drawable[2]; - iconLayer[0] = res.getDrawable(R.mipmap.ic_poi); - BitmapDrawable bd = (BitmapDrawable) res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(p.getType())]); + iconLayer[0] = res.getDrawable(R.mipmap.ic_poi, null); + BitmapDrawable bd = (BitmapDrawable) res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(p.getType())], null); if(bd == null) continue; Bitmap b = bd.getBitmap(); Bitmap bResized = Bitmap.createScaledBitmap(b, b.getWidth()/2, b.getHeight()/2, false); @@ -449,7 +456,7 @@ public void onClick(DialogInterface dialog, int which) { ArrayList pathMarkers = MainActivity.getPathMarkers(); ArrayList waypoints = new ArrayList<>(); - DbGeoPoint current = null; + DbGeoPoint current; DbGeoPoint last = null; for(int i=0; i, Void, List> { - int type; - String title; - Resources res; - MapView mapView; + private int type; + private String title; + private Resources res; + private MapView mapView; public UpdatePoiIconsAsyncTask(int type, String title, Resources res, MapView mapView){ this.type = type; @@ -787,7 +792,7 @@ positionMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM); positionMarker.setTitle(titleText); positionMarker.setSnippet(snippetText); - positionMarker.setImage(res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(type)])); + positionMarker.setImage(res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(type)], null)); positionMarker.setIcon(PoiHandler.createPoiMarker(type)); result.add(positionMarker); PoiHandler.addPoiMarker(MainActivity.getPos(type), positionMarker); @@ -800,7 +805,7 @@ positionMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM); positionMarker.setTitle(titleText); positionMarker.setSnippet(snippetText); - positionMarker.setImage(res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(type)])); + positionMarker.setImage(res.getDrawable(PoiHandler.getEntryImgs()[MainActivity.getPos(type)], null)); positionMarker.setIcon(PoiHandler.createPoiMarker(type)); result.add(positionMarker); PoiHandler.addPoiMarker(MainActivity.getPos(type), positionMarker); diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java index 0e5aaa9..23c9d5e 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java @@ -244,7 +244,6 @@ timestamp += THREE_HOURS_IN_MS; } callback.postRetrieve(weathers); - return; } public void getForecast(int days, OnWeatherRetrieved callback) { @@ -330,7 +329,6 @@ timestamp += DAY_IN_MS; } callback.postRetrieve(weathers); - return; } public void getHistoricalWeather(long start, long end, OnWeatherRetrieved callback) { diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/overlays/ImageDialogItemizedIconOverlay.java b/app/src/main/java/de/apps4ics/mountainnavigation/overlays/ImageDialogItemizedIconOverlay.java index 8c89120..d7db32e 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/overlays/ImageDialogItemizedIconOverlay.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/overlays/ImageDialogItemizedIconOverlay.java @@ -63,8 +63,8 @@ this.mapView = mapView; selected = 0; Resources res = context.getResources(); - posIcon = res.getDrawable(R.mipmap.ic_poi); - negIcon = res.getDrawable(R.mipmap.ic_poi_red); + posIcon = res.getDrawable(R.mipmap.ic_poi, null); + negIcon = res.getDrawable(R.mipmap.ic_poi_red, null); for(int i=0; i waypoints = new ArrayList<>(); - DbGeoPoint current = null; + DbGeoPoint current; DbGeoPoint last = null; for(int i=0; i + android:max="23" /> + app:elevation="8dp" + app:pressedTranslationZ="6dp" + tools:ignore="RelativeOverlap" /> - - - - + android:id="@+id/weather_city" + android:gravity="center_vertical" + android:textSize="16sp" + android:textColor="@color/text_color" + android:fontFamily="sans-serif-medium" + android:text="@string/no_weather_data_available"/> + tools:context=".MainActivity"> diff --git a/app/src/main/res/layout/hut_dialog.xml b/app/src/main/res/layout/hut_dialog.xml index 0c13521..e402edb 100644 --- a/app/src/main/res/layout/hut_dialog.xml +++ b/app/src/main/res/layout/hut_dialog.xml @@ -23,6 +23,16 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> + + + android:layout_marginEnd="16dp" + android:inputType="text"/> Löschen Nicht löschen Art des Pausenorts - Name der Hütte + Hütten-Eigenschaften Gib den Namen der Hütte ein Hat die Hütte einen Winterraum? Name des Gipfels @@ -101,7 +101,7 @@ Download starten Welche Wetterart möchtest du herunterladen? Spezifischer Ort - Ort... + Ort… %1$s in %2$s gefunden %1$s°C %1$.01f°C diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7e72b8d..376ea89 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -23,5 +23,5 @@ #DE000000 #AA000000 #FF000000 - #C8B9B9B9 + #AFB9B9B9 \ 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 09390b8..96182bf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -37,7 +37,7 @@ Remove Don\'t remove Kind of the break point - Name of the hut + Hut characteristics Enter the hut\'s name Does the hut has a winterroom? Name of the peak @@ -52,7 +52,7 @@ The entered location could not be found. Try some bigger city near the location. Custom location not found Please enter a proper city name or empty the search field to use current location. - Sucessfully added your POI! + Successfully added your POI! Hints No additional info available You should drink around 8.5oz every 30 minutes @@ -76,6 +76,7 @@ Got it! Your position Latitude: %1$.03f<br/>Longitude: %2$.03f<br/>Altitude: %3$d meters<br/>Added: %4$s + %1$s, %2$s No weather data available en @@ -103,7 +104,7 @@ Start download What kind of weather do you want to download? Custom location - Location... + Location… %1$s found in %2$s %1$s°C %1$.01f°C