Giter Site home page Giter Site logo

rsandroidapp's Introduction

Railway stations photos version published on F-Droid Crowdin

Railway-Stations Android App

Android-App for the Project Railway-Stations.org ("Deutschlands-Bahnhoefe")

Get it on F-Droid Get it on Google Play

Get nightly builds from https://fdroid.storchp.de/fdroid/repo

The App loads Data from api.railway-stations.org, which contains railway-stations of some countries. The RSAPI is a java-application on https://github.com/RailwayStations/RSAPI.

The project - website you will find on https://railway-stations.org and http://www.deutschlands-bahnhoefe.de.

The code is public under MIT-Licence: http://choosealicense.com/licenses/mit/

Help to translate the project via Crowdin: https://crowdin.com/project/railwaystationsandroidapp

rsandroidapp's People

Contributors

colorimeter avatar deatheguard avatar dependabot-preview[bot] avatar dependabot[bot] avatar jankowiakmaria avatar kaiwinter avatar kubatyszko avatar lluc avatar pelzvieh avatar pstorch avatar rakvium avatar troyodk avatar tursics avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rsandroidapp's Issues

Back Stack nicht korrekt nach Chat

Öffnet man den Chat über die Notification beendet sich die App, wenn man auf zurück geht.
Hier sollte sich die Hauptseite öffnen.

Chat Timestamp beim Senden setzen

Zur Zeit wird der Chat Timestamp in der Auth activity in onCreate() gesetzt. Der sollte aber gesetzt werden, wenn eine Nachricht gesendet wird. Im Moment haben mehrere Nachrichten eines Users den selben Timestamp.

Foto über Bahnhofsortung gibt kein Landscape vor

Wenn man über die Bahnhofsortung-Notification auf Foto klickt und dann ein Foto aufnimmt, kann man dies im Portraitmodus tun. Es wird kein Landscape forciert, wie wenn man es direkt über die App macht.

Vielleicht würde es helfen erstmal die DetailsActivity zu öffnen und nicht gleich die Kamera. Das ändert aber den Workflow.

Fix project setup

At the moment Android Studio isn't able to properly import the project from the gradle files.

@androidoma I'm on it and send a Pull Request soon ;)

Zoom Buttons für die Karte

Auf der Karte wäre es schön, die Buttons zum Zoomen zu haben.

Dies sollte mit folgender Zeile möglich sein:

map.getUiSettings().setZoomControlsEnabled(true);

Einbindung Fahrstühle

Die Fahrstuhldaten sind in ElasticSearch und können von dort abgegriffen werden. Datensatz der Deutschen Bahn.
Benötigt wird:

  1. Kennzeichen im Ländersatz, ob Fahrstuhldaten vorhanden sind
  2. Import der deutschen Fahrstuhldaten
  3. Unter Einstellungen sollen die Maße von Fahrrad und/oder Rollstuhl eingetragen werden können
  4. Ausgabe der Fahrstuhldaten zu dem aktuellen Bahnhof (DetailsActivity) als extra Menüpunkt in Tabelle
  5. Herunterladen der Fahrstuhldaten mit den Länderdaten, damit offline verfügbar
  6. Online Fahrstuhlstatus aus FaSta abfragen
  7. Berechnung, ob das Fahrrad / der Rollstuhl in den Aufzug passt anhand Kabinentiefe und Kabinentür und der Daten aus den Einstellungen - siehe Punkt 1.

Netzlosigkeit darf nicht zum Löschen der DB führen

Habe ich kein Netz und klicke ich auf "Bahnhofsdaten aktualisieren" führt dies zu einem Löschen der Bahnhofsliste.
Das führt dazu, dass die App nicht mehr verwendbar wird, solange ich kein Netz habe.

Dabei könnte man während der Netzlosigkeit durchaus Fotos aufgrund einer veralteten Datenbank schießen und auch später verschicken.

Ich für meinen Teil schätze das als extrem wichtig ein, denn ohne Bahnhofsliste ist die App nicht verwendbar.

Fotografieren ohne Nickname möglich

image

Installation der App
Starten der App
Alle Anleitungsbilder durchklickern
Bahnhof über die Liste aufrufen
Versuch Foto zu schiessen
Meldung, dass erst Daten gepflegt werden müssen mit ok bestätigen
==> Einstellungen
nur CC0 anklicken (Rest frei lassen) und speichern
zurück und Foto schießen
==> Es ist möglich ein Foto zu schießen ohne Nickname

issue_fotografierenohnenickname.zip

Handle disabled location services

Some users have disabled their location services (GPS off). The MapsActivity needs to handle this situation. At the moment it moves the map to the Zero Coordinates somewhere in the ozean.

The MapsActivity should query the location settings like described here: https://developer.android.com/training/location/change-location-settings.html.
A fallback could calculate the center of all the map markers. We cannot hardcode a single position (as before) because we support several countries.

Translation into Spanish

The App has the possiblity to select different countries for railway stations. To make it better to use for local users we need a translation into Spanish. The translation is necessary for this file

PhotoUpload antwortet mit HTTP 409, falls der Bahnhof schon ein Foto hat

Die API antwortet beim photoUpload mit HTTP status code 409 (Conflict) falls der Bahnhof schon ein Foto hat oder es sich bereits ein Foto für diesen Bahnhof in der Inbox zum Review befindet.
Die App sollte dem User einen entsprechenden Hinweis geben, dass bereits ein Foto existiert.
Der Upload erfolgt trotzdem, es könnte ja sein, dass nur ein besseres Foto hochgeladen wurde.

Race Condition in MapsActivity

Problematische Geräte
LG G3 (g3) - Android 4.4

Ausnahmen
java.lang.RuntimeException: Unable to pause activity {de.bahnhoefe.deutschlands.bahnhofsfotos/de.bahnhoefe.deutschlands.bahnhofsfotos.MapsActivity}: java.lang.IllegalStateException: GoogleApiClient is not connected yet.

Klingt so, als könnte man dasTracking pausieren, bevor es richtig initialisiert ist!

FATAL EXCEPTION: main Process: de.bahnhoefe.deutschlands.bahnhofsfotos, PID: 10266 java.lang.RuntimeException: Unable to pause activity {de.bahnhoefe.deutschlands.bahnhofsfotos/de.bahnhoefe.deutschlands.bahnhofsfotos.MapsActivity}: java.lang.IllegalStateException: GoogleApiClient is not connected yet. at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3079) at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3034) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3729) at android.app.ActivityThread.access$900(ActivityThread.java:142) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5118) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: GoogleApiClient is not connected yet. at com.google.android.gms.internal.zzpw.zzd(Unknown Source) at com.google.android.gms.internal.zzqa.zzd(Unknown Source) at com.google.android.gms.internal.zzpy.zzd(Unknown Source) at com.google.android.gms.location.internal.zzd.removeLocationUpdates(Unknown Source) at de.bahnhoefe.deutschlands.bahnhofsfotos.MapsActivity.stopLocationUpdates(MapsActivity.java:381) at de.bahnhoefe.deutschlands.bahnhofsfotos.MapsActivity.onPause(MapsActivity.java:291) at android.app.Activity.performPause(Activity.java:5379) at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1233) at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3065) ... 12 more

Translation into English

The App has the possiblity to select different countries for railway stations. To make it better to use for local users we need a translation into English. The translation is necessary for this file

Translation into French

The App has the possiblity to select different countries for railway stations. To make it better to use for local users we need a translation into French. The translation is necessary for this file

Translation into Polish

The App has the possiblity to select different countries for railway stations. To make it better to use for local users we need a translation into Polish. The translation is necessary for this file

To share a photo receiving App needs filestorage permission

When sharing a photo (either to send a mail or elsewhere) the recieving App needs permission to access the (external) filestorage. If the user hasn't granted that, the receiving app can't read the photo (results in an empty mail).

Android has a solution for that: Content/FileProvider. I'll implement it and send a PullRequest.

Translation into Finnish

The App has the possiblity to select different countries for railway stations. To make it better to use for local users we need a translation in Finnish. The translation is necessary for this file

Upload von Fotos aus dem System

Neben Fotos aus der App direkt über die Kamera aufzunehmen, wäre es auch praktisch bestehende Fotos vom System auszuwählen und als Upload anzubieten.

NPE during station list update

From crash report in Google Play:
java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:300) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841) Caused by: java.lang.NullPointerException at de.bahnhoefe.deutschlands.bahnhofsfotos.MainActivity$JSONTask.doInBackground(MainActivity.java:434) at de.bahnhoefe.deutschlands.bahnhofsfotos.MainActivity$JSONTask.doInBackground(MainActivity.java:395) at android.os.AsyncTask$2.call(AsyncTask.java:288) at java.util.concurrent.FutureTask.run(FutureTask.java:237) ... 4 more

Introslider

  1. Wofür ist die App überhaupt da
  2. Was ist "In der Nähe"
  3. Was sind "alle fehlenden Bahnhöfe"
  4. Hochladen nicht möglich, da Qualitätskontrolle notwendig - Versand per Mail
  5. Teilen-Button erklären
  6. Hinweis "Meine Daten ausfüllen" (unbedingt als Letztes, da es in Erinnerung bleiben soll)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.