Coder Social home page Coder Social logo

grote / transportr Goto Github PK

View Code? Open in Web Editor NEW
1.0K 36.0 183.0 44.96 MB

Free Public Transport Assistant without Ads or Tracking

Home Page: https://transportr.app

License: GNU General Public License v3.0

Java 34.77% Ruby 0.57% Kotlin 63.62% Python 0.99% Shell 0.05%
public-transportation android-app map

transportr's Introduction

Transportr

The public transport companion that respects your privacy and your freedom. Transportr is a non-profit app developed by people around the world to make using public transport as easy as possible wherever you are.

Transportr Logo Build and test

Please visit the website for more information!

If you find any issues with this app, please report them at the issue tracker. Contributions are both encouraged and appreciated. If you like to contribute please check the website for more information.

The upstream repository is at: https://github.com/grote/Transportr

Follow @TransportrApp

Get Transportr

Available on F-Droid Available on Google Play

Pre-releases and beta versions for advanced users are available via a special F-Droid repository.

Screenshots

Building From Source

If you want to start working on Transportr and if you haven't done already, you should familiarize yourself with Android development and set up a development environment.

The next step is to clone the source code repository.

$ git clone https://github.com/grote/Transportr.git

If you don't want to use an IDE like Android Studio, you can build Transportr on the command line as follows.

$ cd Transportr
$ ./gradlew assembleRelease

License

GNU GPLv3 Image

This program is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Acknowledgements

JawgMaps is a provider of online custom maps, geocoding and routing based on OpenStreetMap data. We would like to thank them for providing their vector map tile service to Transportr free of charge.

transportr's People

Contributors

ag-gh avatar altonss avatar brandsimon avatar bytehamster avatar chimo avatar dotlambda avatar fgndev avatar full-duplex avatar gitwah avatar grote avatar hoejmann avatar htgoebel avatar ialokim avatar johnjohndoe avatar jspricke avatar lu-x avatar m1dgard avatar mesinger avatar mimi89999 avatar msjoberg avatar n76 avatar patkan avatar pserwylo avatar pt2121 avatar schachmat avatar sedrubal avatar tenminutemail avatar thelastproject avatar thgoebel avatar vinzv 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transportr's Issues

Export platforms to calendar

I was wondering if it would be possible for the "export to calendar" feature to also export the platforms. I do not have a 3G connection on my phone, and can therefore only plan my route in advance using WiFi at home. Knowing on which platform I should board would be very useful information to have, and save me from having to run through a station and missing the train because I had to look at a map which platform I'd have to take.

Besides that, I love the app and I thoroughly appreciate you making it, it makes it a lot easier to avoid the proprietary public transport app without a loss of convenience. I'll simply take screenshots to work around the issue for the time being, so, at least for me, this is not high-priority, but would be something rather nice to have.

Sort options for favorite connections | sort by recency

The list with the past connection searches (tab with star) is sorted by the number of searches.

I used Liberario on a trip these days and had to do a lot of searches. After a while the sorting for number of searches made the list very confusing. It would have helped a lot if there was an option to sort the searches by recency.

Legend for icons

The new icons for transportation choice are nice, but I haven't found a legend for them here or in the app. Not all of them are self explanatory.

BVG is broken

Hi!
When doing a search with BVG, I get an UnexpectedRedirectException.

List U/S lines in order of travel, not numerically

The icons for the lines of my routes, e.g. [s7][u8] always seem to be listed in reverse order. If I have to take the u8 first, and then the s7, then it would be easier to understand if they were shown in that order. I'm referring to the square coloured icons on the journey summaries overview.

When GPS is not on it will not work just to turn it on.

When you want to start a query with your GPS coordinats and forgot ro turn GPS on, ther will be a massge to turn it on. But after done that, liberario is not gonna get them. You start the search and there is a massgae like it is looking up the position, but is not going to terminate. Also the icon in android for GPS is not shown up.

Workaraoud: Hit the GPS twice after enabling GPS on your device.

crash when searching

12-10 13:57:25.530 I/dalvikvm-heap(524): Grow heap (frag case) to 7.448MB for 214528-byte allocation
12-10 13:57:25.580 I/ActivityManager(389): START u0 {act=com.android.systemui.recent.action.TOGGLE_RECENTS flg=0x10800000 cmp=com.android.systemui/.recent.RecentsActivity (has extras)} from pid 524
12-10 13:57:26.980 I/ActivityManager(389): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10104000 pkg=de.grobox.liberario cmp=de.grobox.liberario/.MainActivity} from pid 524
12-10 13:57:27.130 I/ActivityManager(389): Start proc de.grobox.liberario for activity de.grobox.liberario/.MainActivity: pid=14896 uid=10133 gids={50133, 3003, 1028}
12-10 13:57:27.170 W/Trace   (14896): error opening trace file: No such file or directory (2)
12-10 13:57:27.520 I/ActivityManager(389): Displayed de.grobox.liberario/.MainActivity: +399ms
12-10 13:57:27.850 I/ActivityManager(389): No longer want com.mirasmithy.epochlauncher (pid 14831): hidden #3
12-10 13:57:27.860 W/InputDispatcher(389): channel '4161baf0 com.mirasmithy.epochlauncher/com.mirasmithy.epochlauncher.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
12-10 13:57:27.860 E/InputDispatcher(389): channel '4161baf0 com.mirasmithy.epochlauncher/com.mirasmithy.epochlauncher.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
12-10 13:57:27.870 W/InputDispatcher(389): Attempted to unregister already unregistered input channel '4161baf0 com.mirasmithy.epochlauncher/com.mirasmithy.epochlauncher.MainActivity (server)'
12-10 13:57:27.870 I/WindowState(389): WIN DEATH: Window{4161baf0 u0 com.mirasmithy.epochlauncher/com.mirasmithy.epochlauncher.MainActivity}
12-10 13:57:30.100 W/dalvikvm(14896): threadid=12: thread exiting with uncaught exception (group=0x41341930)
12-10 13:57:30.100 W/System.err(14896): java.util.concurrent.ExecutionException: java.lang.RuntimeException: cannot parse: '{ "parameters": [ { "name":"requestID", "value":"0" }, { "name":"sessionID", "value":"0" } ], "stopFinder": { "message": [ { "name":"code", "value":"-8011" }, { "name":"error", "value":"" } ], "input": { "input":"o " }, "points": [ { "usage":"sf", "type":"any", "name":"Annaghmore (Portadown), Teaguy O Hall", "stateless":"10001238", "anyType":"stop", "sort":"2", "quality":"920", "best":"0", "object":"Teaguy O Hall", "posttown":"Portadown", "modes":"5", "ref": { "id":"10001238", "omc":"31400139", "placeID":"22", "place":"Annaghmore (Portadown)", "coords":"-6569311.66466,54451295.35121" } }, { "usage":"sf", "type":"any", "name":"Stranocum, Stranocum P O War Memorial", "stateless":"10011563", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Stranocum P O War Memorial", "posttown":"Ballymoney", "modes":"5", "ref": { "id":"10011563", "omc":"31400023", "placeID":"833", "place":"Stranocum", "coords":"-6421087.08523,55106822.79967" } }, { "usage":"sf", "type":"any", "name":"Sligo, Binghamstown (Opp O Raghallaigh)", "stateless":"52002598", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Binghamstown (Opp O Raghallaigh)", "posttown":"Sligo", "modes":"6", "ref": { "id":"52002598", "omc":"57305310", "placeID":"10851011", "place":"Sligo", "coords":"-10035992.58362,54204762.24395" } }, { "usage":"sf", "type":"any", "name":"Belleeks, Lislea P,O,", "stateless":"10002936", "anyType":"stop", "sort":"2", "quality":"924", "best":"0", "object":"Lislea P,O,", "posttown":"Newry", "modes":"5", "ref": { "id":"10002936", "omc":"31400130", "placeID":"153", "place":"Belleeks", "coords":"-6460861.95170,54153748.84265" } }, { "usage":"sf", "type":"any", "name":"Carnlough, Garron Point P O", "stateless":"10003504", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Garron Point P O", "posttown":"Carnlough", "modes":"5", "ref": { "id":"10003504", "omc":"31400036", "placeID":"1", "place":"Carnlough", "coords":"-5964521.53408,55044396.31672" } }, { "usage":"sf", "type":"any", "name":"Shantalla, Bishop O Donnell Rd (Opp Droim Chaoin)", "stateless":"52002215", "anyType":"stop", "sort":"2", "quality":"908", "best":"0", "object":"Bishop O Donnell Rd (Opp Droim Chaoin)", "posttown":"Galway", "modes":"6", "ref": { "id":"52002215", "omc":"57301260", "placeID":"10846004", "place":"Shantalla", "coords":"-9086810.65033,53270690.39085" } }, { "usage":"sf", "type":"any", "name":"Rosslare, Rosslare Strand P.O.", "stateless":"51002804", "anyType":"stop", "sort":"2", "quality":"915", "best":"0", "object":"Rosslare Strand P.O.", "posttown":"Wexford", "modes":"6", "ref": { "id":"51002804", "omc":"57111140", "placeID":"10834021", "place":"Rosslare", "coords":"-6386570.59035,52273141.15966" } }, { "usage":"sf", "type":"any", "name":"Carrigrohane, Carrigrohane P.O", "stateless":"51002988", "anyType":"stop", "sort":"2", "quality":"918", "best":"0", "object":"Carrigrohane P.O", "posttown":"Carrigaline", "modes":"6", "ref": { "id":"51002988", "omc":"57202180", "placeID":"10838198", "place":"Carrigrohane", "coords":"-8563471.29115,51895504.03611" } }, { "usage":"sf", "type":"any", "name":"Coalisland, Corr A-O-H Hall", "stateless":"10004304", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Corr A-O-H Hall", "posttown":"Coalisland", "modes":"5", "ref": { "id":"10004304", "omc":"31400048", "placeID":"1", "place":"Coalisland", "coords":"-6673878.64104,54522911.46829" } }, { "usage":"sf", "type":"any", "name":"Coalisland, Corr A-O-H- Hall", "stateless":"10004305", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Corr A-O-H- Hall", "posttown":"Coalisland", "modes":"5", "ref": { "id":"10004305", "omc":"31400048", "placeID":"1", "place":"Coalisland", "coords":"-6673842.22499,54523081.80179" } }, { "usage":"sf", "type":"any", "name":"Rahoon, Bishop O Donnell Rd (Droim Chaoin)", "stateless":"52002242", "anyType":"stop", "sort":"2", "quality":"909", "best":"0", "object":"Bisho
12-10 13:57:30.110 W/System.err(14896):     at java.util.concurrent.FutureTask.report(FutureTask.java:94)
12-10 13:57:30.110 W/System.err(14896):     at java.util.concurrent.FutureTask.get(FutureTask.java:160)
12-10 13:57:30.110 W/System.err(14896):     at android.os.AsyncTask.get(AsyncTask.java:482)
12-10 13:57:30.110 W/System.err(14896):     at de.grobox.liberario.LocationAutoCompleteAdapter$1.performFiltering(LocationAutoCompleteAdapter.java:78)
12-10 13:57:30.110 W/System.err(14896):     at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
12-10 13:57:30.110 W/System.err(14896):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-10 13:57:30.110 W/System.err(14896):     at android.os.Looper.loop(Looper.java:137)
12-10 13:57:30.110 W/System.err(14896):     at android.os.HandlerThread.run(HandlerThread.java:60)
12-10 13:57:30.110 E/AndroidRuntime(14896): FATAL EXCEPTION: AsyncTask #1
12-10 13:57:30.110 E/AndroidRuntime(14896): java.lang.RuntimeException: An error occured while executing doInBackground()
12-10 13:57:30.110 E/AndroidRuntime(14896):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.util.concurrent.FutureTask.run(FutureTask.java:239)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-10 13:57:30.110 E/AndroidRuntime(14896):     at java.lang.Thread.run(Thread.java:856)
12-10 13:57:30.110 E/AndroidRuntime(14896): Caused by: java.lang.RuntimeException: cannot parse: '{ "parameters": [ { "name":"requestID", "value":"0" }, { "name":"sessionID", "value":"0" } ], "stopFinder": { "message": [ { "name":"code", "value":"-8011" }, { "name":"error", "value":"" } ], "input": { "input":"o " }, "points": [ { "usage":"sf", "type":"any", "name":"Annaghmore (Portadown), Teaguy O Hall", "stateless":"10001238", "anyType":"stop", "sort":"2", "quality":"920", "best":"0", "object":"Teaguy O Hall", "posttown":"Portadown", "modes":"5", "ref": { "id":"10001238", "omc":"31400139", "placeID":"22", "place":"Annaghmore (Portadown)", "coords":"-6569311.66466,54451295.35121" } }, { "usage":"sf", "type":"any", "name":"Stranocum, Stranocum P O War Memorial", "stateless":"10011563", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Stranocum P O War Memorial", "posttown":"Ballymoney", "modes":"5", "ref": { "id":"10011563", "omc":"31400023", "placeID":"833", "place":"Stranocum", "coords":"-6421087.08523,55106822.79967" } }, { "usage":"sf", "type":"any", "name":"Sligo, Binghamstown (Opp O Raghallaigh)", "stateless":"52002598", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Binghamstown (Opp O Raghallaigh)", "posttown":"Sligo", "modes":"6", "ref": { "id":"52002598", "omc":"57305310", "placeID":"10851011", "place":"Sligo", "coords":"-10035992.58362,54204762.24395" } }, { "usage":"sf", "type":"any", "name":"Belleeks, Lislea P,O,", "stateless":"10002936", "anyType":"stop", "sort":"2", "quality":"924", "best":"0", "object":"Lislea P,O,", "posttown":"Newry", "modes":"5", "ref": { "id":"10002936", "omc":"31400130", "placeID":"153", "place":"Belleeks", "coords":"-6460861.95170,54153748.84265" } }, { "usage":"sf", "type":"any", "name":"Carnlough, Garron Point P O", "stateless":"10003504", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Garron Point P O", "posttown":"Carnlough", "modes":"5", "ref": { "id":"10003504", "omc":"31400036", "placeID":"1", "place":"Carnlough", "coords":"-5964521.53408,55044396.31672" } }, { "usage":"sf", "type":"any", "name":"Shantalla, Bishop O Donnell Rd (Opp Droim Chaoin)", "stateless":"52002215", "anyType":"stop", "sort":"2", "quality":"908", "best":"0", "object":"Bishop O Donnell Rd (Opp Droim Chaoin)", "posttown":"Galway", "modes":"6", "ref": { "id":"52002215", "omc":"57301260", "placeID":"10846004", "place":"Shantalla", "coords":"-9086810.65033,53270690.39085" } }, { "usage":"sf", "type":"any", "name":"Rosslare, Rosslare Strand P.O.", "stateless":"51002804", "anyType":"stop", "sort":"2", "quality":"915", "best":"0", "object":"Rosslare Strand P.O.", "posttown":"Wexford", "modes":"6", "ref": { "id":"51002804", "omc":"57111140", "placeID":"10834021", "place":"Rosslare", "coords":"-6386570.59035,52273141.15966" } }, { "usage":"sf", "type":"any", "name":"Carrigrohane, Carrigrohane P.O", "stateless":"51002988", "anyType":"stop", "sort":"2", "quality":"918", "best":"0", "object":"Carrigrohane P.O", "posttown":"Carrigaline", "modes":"6", "ref": { "id":"51002988", "omc":"57202180", "placeID":"10838198", "place":"Carrigrohane", "coords":"-8563471.29115,51895504.03611" } }, { "usage":"sf", "type":"any", "name":"Coalisland, Corr A-O-H Hall", "stateless":"10004304", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Corr A-O-H Hall", "posttown":"Coalisland", "modes":"5", "ref": { "id":"10004304", "omc":"314000
12-10 13:57:30.120 W/System.err(14896): Caused by: java.lang.RuntimeException: cannot parse: '{ "parameters": [ { "name":"requestID", "value":"0" }, { "name":"sessionID", "value":"0" } ], "stopFinder": { "message": [ { "name":"code", "value":"-8011" }, { "name":"error", "value":"" } ], "input": { "input":"o " }, "points": [ { "usage":"sf", "type":"any", "name":"Annaghmore (Portadown), Teaguy O Hall", "stateless":"10001238", "anyType":"stop", "sort":"2", "quality":"920", "best":"0", "object":"Teaguy O Hall", "posttown":"Portadown", "modes":"5", "ref": { "id":"10001238", "omc":"31400139", "placeID":"22", "place":"Annaghmore (Portadown)", "coords":"-6569311.66466,54451295.35121" } }, { "usage":"sf", "type":"any", "name":"Stranocum, Stranocum P O War Memorial", "stateless":"10011563", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Stranocum P O War Memorial", "posttown":"Ballymoney", "modes":"5", "ref": { "id":"10011563", "omc":"31400023", "placeID":"833", "place":"Stranocum", "coords":"-6421087.08523,55106822.79967" } }, { "usage":"sf", "type":"any", "name":"Sligo, Binghamstown (Opp O Raghallaigh)", "stateless":"52002598", "anyType":"stop", "sort":"2", "quality":"911", "best":"0", "object":"Binghamstown (Opp O Raghallaigh)", "posttown":"Sligo", "modes":"6", "ref": { "id":"52002598", "omc":"57305310", "placeID":"10851011", "place":"Sligo", "coords":"-10035992.58362,54204762.24395" } }, { "usage":"sf", "type":"any", "name":"Belleeks, Lislea P,O,", "stateless":"10002936", "anyType":"stop", "sort":"2", "quality":"924", "best":"0", "object":"Lislea P,O,", "posttown":"Newry", "modes":"5", "ref": { "id":"10002936", "omc":"31400130", "placeID":"153", "place":"Belleeks", "coords":"-6460861.95170,54153748.84265" } }, { "usage":"sf", "type":"any", "name":"Carnlough, Garron Point P O", "stateless":"10003504", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Garron Point P O", "posttown":"Carnlough", "modes":"5", "ref": { "id":"10003504", "omc":"31400036", "placeID":"1", "place":"Carnlough", "coords":"-5964521.53408,55044396.31672" } }, { "usage":"sf", "type":"any", "name":"Shantalla, Bishop O Donnell Rd (Opp Droim Chaoin)", "stateless":"52002215", "anyType":"stop", "sort":"2", "quality":"908", "best":"0", "object":"Bishop O Donnell Rd (Opp Droim Chaoin)", "posttown":"Galway", "modes":"6", "ref": { "id":"52002215", "omc":"57301260", "placeID":"10846004", "place":"Shantalla", "coords":"-9086810.65033,53270690.39085" } }, { "usage":"sf", "type":"any", "name":"Rosslare, Rosslare Strand P.O.", "stateless":"51002804", "anyType":"stop", "sort":"2", "quality":"915", "best":"0", "object":"Rosslare Strand P.O.", "posttown":"Wexford", "modes":"6", "ref": { "id":"51002804", "omc":"57111140", "placeID":"10834021", "place":"Rosslare", "coords":"-6386570.59035,52273141.15966" } }, { "usage":"sf", "type":"any", "name":"Carrigrohane, Carrigrohane P.O", "stateless":"51002988", "anyType":"stop", "sort":"2", "quality":"918", "best":"0", "object":"Carrigrohane P.O", "posttown":"Carrigaline", "modes":"6", "ref": { "id":"51002988", "omc":"57202180", "placeID":"10838198", "place":"Carrigrohane", "coords":"-8563471.29115,51895504.03611" } }, { "usage":"sf", "type":"any", "name":"Coalisland, Corr A-O-H Hall", "stateless":"10004304", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Corr A-O-H Hall", "posttown":"Coalisland", "modes":"5", "ref": { "id":"10004304", "omc":"31400048", "placeID":"1", "place":"Coalisland", "coords":"-6673878.64104,54522911.46829" } }, { "usage":"sf", "type":"any", "name":"Coalisland, Corr A-O-H- Hall", "stateless":"10004305", "anyType":"stop", "sort":"2", "quality":"916", "best":"0", "object":"Corr A-O-H- Hall", "posttown":"Coalisland", "modes":"5", "ref": { "id":"10004305", "omc":"31400048", "placeID":"1", "place":"Coalisland", "coords":"-6673842.22499,54523081.80179" } }, { "usage":"sf", "type":"any", "name":"Rahoon, Bishop O Donnell Rd (Droim Chaoin)", "stateless":"52002242", "anyType":"stop", "sort":"2", "quality":"909", "best":"0", "object":"Bishop O Donnell Rd (Droim Chaoin)"
12-10 13:57:30.120 W/System.err(14896):     at de.schildbach.pte.AbstractEfaProvider.jsonStopfinderRequest(AbstractEfaProvider.java:297)
12-10 13:57:30.120 W/System.err(14896):     at de.schildbach.pte.AbstractEfaProvider.autocompleteStations(AbstractEfaProvider.java:726)
12-10 13:57:30.120 W/System.err(14896):     at de.grobox.liberario.AsyncLocationAutoCompleteTask.doInBackground(AsyncLocationAutoCompleteTask.java:47)
12-10 13:57:30.120 W/System.err(14896):     at de.grobox.liberario.AsyncLocationAutoCompleteTask.doInBackground(AsyncLocationAutoCompleteTask.java:29)
12-10 13:57:30.130 W/System.err(14896):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-10 13:57:30.130 W/System.err(14896):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-10 13:57:30.130 W/System.err(14896):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
12-10 13:57:30.130 W/System.err(14896):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-10 13:57:30.130 W/System.err(14896):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-10 13:57:30.130 W/System.err(14896):     at java.lang.Thread.run(Thread.java:856)
12-10 13:57:30.130 W/System.err(14896): Caused by: org.json.JSONException: unknown type: buildingname
12-10 13:57:30.130 W/System.err(14896):     at de.schildbach.pte.AbstractEfaProvider.parseJsonStop(AbstractEfaProvider.java:335)
12-10 13:57:30.130 W/System.err(14896):     at de.schildbach.pte.AbstractEfaProvider.jsonStopfinderRequest(AbstractEfaProvider.java:289)
12-10 13:57:30.130 W/System.err(14896):     ... 9 more
12-10 13:57:30.140 W/ActivityManager(389):   Force finishing activity de.grobox.liberario/.MainActivity
12-10 13:57:30.230 I/ActivityManager(389): No longer want com.fsck.k9 (pid 14639): empty #3
12-10 13:57:30.280 W/dalvikvm(14896): threadid=1: thread exiting with uncaught exception (group=0x41341930)
12-10 13:57:30.280 I/Process (14896): Sending signal. PID: 14896 SIG: 9
12-10 13:57:30.290 I/WindowState(389): WIN DEATH: Window{41b7f090 u0 de.grobox.liberario/de.grobox.liberario.MainActivity EXITING}
12-10 13:57:30.290 I/ActivityManager(389): Process de.grobox.liberario (pid 14896) has died.
12-10 13:57:30.320 W/InputMethodManagerService(389): Got RemoteException sending setActive(false) notification to pid 14896 uid 10133
12-10 13:57:31.620 I/ActivityManager(389): START u0 {act=com.android.systemui.recent.action.TOGGLE_RECENTS flg=0x10800000 cmp=com.android.systemui/.recent.RecentsActivity} from pid 524

The logs have data for N Ireland yet I only asked for data from Dublin. Using 0.4 on Cm10.1.

Unintuitive matches

when entering addresses char by char, the first matches are unintuitive.
Example:
Köln Ne-u-m

Crash / NPE when viewing a trip with missing line style

Steps to reproduce

  1. Open Liberario, go to your favorite trips tab, and select / view one of your trips
  2. Go back and select another favorite trip
  3. Crash / NPE

Logcat

I/ActivityManager(  537): START u0 {cmp=de.grobox.liberario/.TripsActivity (has extras)} from pid 2900
D/dalvikvm(  537): GC_FOR_ALLOC freed 3895K, 32% free 23390K/34208K, paused 101ms, total 102ms
W/InputMethodManagerService(  537): Focus gain on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@41d3f4c0 (uid=10095 pid=2900)
D/PullToRefresh( 2900): Setting Padding. L: 0, T: 0, R: 0, B: 0
D/PullToRefresh( 2900): addView: TableLayout
D/AndroidRuntime( 2900): Shutting down VM
W/dalvikvm( 2900): threadid=1: thread exiting with uncaught exception (group=0x41510700)
E/AndroidRuntime( 2900): FATAL EXCEPTION: main
E/AndroidRuntime( 2900): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.grobox.liberario/de.grobox.liberario.TripsActivity}: java.lang.NullPointerException
E/AndroidRuntime( 2900):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2350)
E/AndroidRuntime( 2900):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2400)
E/AndroidRuntime( 2900):    at android.app.ActivityThread.access$600(ActivityThread.java:153)
E/AndroidRuntime( 2900):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
E/AndroidRuntime( 2900):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2900):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 2900):    at android.app.ActivityThread.main(ActivityThread.java:5295)
E/AndroidRuntime( 2900):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2900):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 2900):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
E/AndroidRuntime( 2900):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
E/AndroidRuntime( 2900):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 2900): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.addLineBox(TripsActivity.java:276)
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.addLineBox(TripsActivity.java:303)
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.addLineBox(TripsActivity.java:295)
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.addTrips(TripsActivity.java:225)
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.addTrips(TripsActivity.java:322)
E/AndroidRuntime( 2900):    at de.grobox.liberario.TripsActivity.onCreate(TripsActivity.java:86)
E/AndroidRuntime( 2900):    at android.app.Activity.performCreate(Activity.java:5248)
E/AndroidRuntime( 2900):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime( 2900):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
E/AndroidRuntime( 2900):    ... 11 more
W/ActivityManager(  537):   Force finishing activity de.grobox.liberario/.TripsActivity
W/ActivityManager(  537):   Force finishing activity de.grobox.liberario/.MainActivity
I/auditd  ( 3024): Starting up
E/auditd  ( 3024): Failed on audit_set_pid with error: Protocol not supported
I/auditd  ( 3024): Exiting
W/DropBoxManagerService(  537): Dropping: data_app_crash (1771 > 0 bytes)

BTW: Thanks for Liberario, its awesome :D

Specify station dialog should let the user edit both stations

If you use the DB data for Germany and want from "Leipzig" nach "Berlin", and you only type the City names (not station names) then Liberario ask for the specific stations.

BUT it first ask for the first station and the second one is greyed out so the user can't change it. So the workflow is:

  • Select start station
  • press search
  • select destination station
  • press search

It would be nicer if you could edit both at once.

Image:

screenshot_2014-08-14-20-30-24

save/export schedule for offline time

Hello folks,

it would be nice if you could save or export the travel route to a file so that you are able to read it even if you are offline (yes, sometimes this still happens). You could also send that file to somebody else e.g. to somebody you want to meet during your trip.

Kind Regards
Lorenz

Strip out html tags

Additional info on line or time changes are given out by public transport services in HTML. Can you strip it out?
screenshot_2014-08-19-20-00-01

Feature request: show platform for train stations

I am using Liberario to route in Germany's DB network, and it is a very promising alternative to Schildbach's "Öffi", which for some inobvious reason was never released under an open source licence.

However, using Liberario for trains is not very helpful right now because it doesn't tell on which platform the train will depart.

Please add that!

java.lang.NullPointerException in de.grobox.liberario.TripsActivity.addTrips

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.grobox.liberario/de.grobox.liberario.TripsActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
at android.app.ActivityThread.access$600(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5289)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at de.grobox.liberario.TripsActivity.addTrips(TripsActivity.java:199)
at de.grobox.liberario.TripsActivity.addTrips(TripsActivity.java:290)
at de.grobox.liberario.TripsActivity.onCreate(TripsActivity.java:85)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2293)
... 11 more

Why can you hide the platform information?

What is the reason that there is a button that hides/shows the platform number? I don't see a reason why one would need that. It is a bit confusing when you use it the first time.

FC when autocompleting in airplne mode

When airplne mode is activated, trying to enter a station name and triggering the autocomplete feature force-closes Liberario.

I think this is so obvious I needn't shoot my foot to get logs from somewhere buried deep inside Android's innards.

Crash when changing device orientation during search for directions

E/AndroidRuntime(30011): java.lang.IllegalArgumentException: View not attached to window manager
E/AndroidRuntime(30011): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:653)
E/AndroidRuntime(30011): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:349)
E/AndroidRuntime(30011): at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:160)
E/AndroidRuntime(30011): at android.app.Dialog.dismissDialog(Dialog.java:319)
E/AndroidRuntime(30011): at android.app.Dialog.dismiss(Dialog.java:302)
E/AndroidRuntime(30011): at de.grobox.liberario.AsyncQueryTripsTask.onPostExecute(AsyncQueryTripsTask.java:99)
E/AndroidRuntime(30011): at de.grobox.liberario.AsyncQueryTripsTask.onPostExecute(AsyncQueryTripsTask.java:1)
E/AndroidRuntime(30011): at android.os.AsyncTask.finish(AsyncTask.java:631)
E/AndroidRuntime(30011): at android.os.AsyncTask.access$600(AsyncTask.java:177)
E/AndroidRuntime(30011): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
E/AndroidRuntime(30011): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(30011): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(30011): at android.app.ActivityThread.main(ActivityThread.java:4931)
E/AndroidRuntime(30011): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(30011): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(30011): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(30011): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
E/AndroidRuntime(30011): at dalvik.system.NativeStart.main(Native Method)

Stuck on route search

After filling in start and end point and pressing search the app stucks. It shows the searching message but does not reply anymore.
LG Optimus Black on custom ROM IZS v1.1 (ICS)
Don't hesitate to contact me (in German maybe)

Cache stations/stops names

If your internet connection is slow (especially if throttled) it takes some time to load the stations/stops that are displayed in the drop-down menu under the search boxes.

If you search connections from one station/stop to different locations then the tab with recent searches is of little help, but if Librarion would cache stops and station names from recently used searches, then that would speedup your workflow if you do many searches in a short time.

Example from my last trip:

I searched for a connection from startington to destinanz. The API gave me a connection over a "one-horse town" with a waiting time of one hour.

But with some search foo i found that i could drive to the start station of my connection bus which increased the travel duration by 30min but also decrease the waiting time by 30mins and meant that i waited in a nice small city instead of noman's-land.

So i did a lot of different combinations which weren't in the recent searches list. Cached station names would have helped a lot.

Greetings and thanks a lot for your great app.
lightonflux

PTE submodule can't be checked out

Hey Torsten,

Sorry to be the bearer of bad news, but it seems like Andreas rebased his git repo:

fatal: reference is not a tree: c3de04ccd7a16b411adaa9416b01664d575401b8
Unable to checkout 'c3de04ccd7a16b411adaa9416b01664d575401b8' in submodule path 'sublibs/public-transport-enabler'

Regards.

Address auto completion misdetection

Try entering the following street in Berlin as a departure or arrival addresss:

Weisestr.

Auto complete does not list the correct identically named unique street (no valid partial matches exist in Berlin). Instead many other inaccurate matches are listed. the correct street is around position 15 on the list. when setting this street as a home location, the correct street is not found at all.

Position ex-/import with the geo: intent

Is it possible to add an export function of the stations as a geo: intent?
Look under Maps

I don't know if the providers provide postion-information, but if so, I would be great to export the postions to "Google Maps" or "Osmand" for further navigation.

But what I think will be easy to implement is the import funktion via the geo: intent, because the parsing of geo-locations and find nearby stations via gps is right now functioning.

Special characters

I tried Polish. The autocompletion offers display special characters correctly, but the results don't. (Example: ?ródmie?cie / Śródmieście, SÅużewiec / Służewiec)

Delay is missing at destionation/end station

The delay seams to be not shown at the destination station, at least if the destination is the last station of the train.

For now this issue is a reminder only. I have to verify it as I only had a single case yet. I will add a screenshot. If anybody can verify this issue, please add information. Thanks.

Date in connection details

It would be very helpfull to have the date mentioned somewhere in the details, because I often search some days in advance.
Maybe the "P" Button can be advanced to a "Detailed View" Button, with such thing visible.

-- A bit offtopic: What does the "P" stand for

Liberario forgets later and earlier connetctions after session expired

If you search for a connection you get 3 connection, then you want to get earlier or later connection so you pull up or down. Then you will have 3 earlier/later connections.

If you now open a detail page of a connection and then go back after the session expired, there will only be the three connections by the initial request, but not the earlier or later connections Liberario loaded.

Liberario should remember all connections in the list, even after the session expired. Imagine you miss the connection you opened in the detail page and have no internet connection, then go back to list view to see the next (later) connection but it disappeared although you loaded it earlier and it should be cached.

Reload detail page of connection to get recent data for delays?

If you long press on a connection and select the detail page, Liberario shows your connections page and doesn't reload, which is very handy in airplane mode.

But i can't find a way to reload the connection so i get recent delay data. Is there a way to do that, or isn't that implemented?

Allow external apps to query Transportr via Service

Move connection/station retrieval to an exported service (with permission required), so that applications may contact Liberario for connections and nearby stations.

This could be used eg. to display nearby stations in a map application or to show a notification if one should go to the next bus station to be on time for the next calendar event (sounds like an epic feature, but should not be part of Liberario directly - i don't think you want a big ball of mud)

Moreover I think moving network stuff to a service (ideally aidl based) could make the application code cleaner and more straight-forward.

Allow addresses for Find Departures and Home Location

It would be nice if locations without ID (not real stations like addresses, points of interest, etc.) could be used as home location and to find upcoming departures. This would be handy if more than one station is close to your home and you want to see connections and departures for all of them.

Unfortunately, the API only allows to query for departures for locations that have an ID. So as a first step, one could only allow these locations for the home location and disable the home button for the find departures screen when the home location has no ID.

The second step would be to allow locations without ID for both, home location and departures. In this case, there would need to be a first query for nearby stations and then a query for departures for each station. The problem with this is that not all transportation networks support a query for nearby stations. So the departures field should only accept locations with IDs in this case and disable the home button if the home location has no ID.

Show city of found places

When searching for eg Neumarkt with VRR data, you get two results looking similar but meaning very different places.

Add visual indicator of the current time in connection/trip view

When searching connections at hh:mm, Liberario lists some results within a time frame between some time before hh:mm, and the latest connection at hh:mm. This would be ok when searching for arrival time, but it makes no sense when searching by deprture time. In that casae, Liberario should list connections after the departure time.

Use a more meaningful logo

The current logo stands for "Liberario", but for the users, a logo meaning "public transport" would be much easier to understand. So please, change the logo.

You can find some usable patterns searching opencliparts for "train". Maybe this on (when thickening some lines), as it looks a bit like the (H) used in Germany and by Öffi.

Crash / NPE when changing Network Provider on Beta 0.4

I just found a NPE in the latest Liberario Beta 0.4 (dev branch)

Steps to reproduce

  1. Open Liberario and select a Network Provider(if launching for the first time)
  2. Swipe through some tabs like Favorites.
  3. Select and switch to another Network Provider.
  4. Crash

Logcat

E/AndroidRuntime( 4802): FATAL EXCEPTION: main
E/AndroidRuntime( 4802): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent {  }} to activity {de.grobox.liberario/de.grobox.liberario.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime( 4802):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3501)
E/AndroidRuntime( 4802):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3544)
E/AndroidRuntime( 4802):    at android.app.ActivityThread.access$1100(ActivityThread.java:153)
E/AndroidRuntime( 4802):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
E/AndroidRuntime( 4802):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4802):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 4802):    at android.app.ActivityThread.main(ActivityThread.java:5295)
E/AndroidRuntime( 4802):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4802):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 4802):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
E/AndroidRuntime( 4802):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
E/AndroidRuntime( 4802):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 4802): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 4802):    at de.grobox.liberario.StationsFragment.setStation(StationsFragment.java:254)
E/AndroidRuntime( 4802):    at de.grobox.liberario.StationsFragment.onNetworkProviderChanged(StationsFragment.java:100)
E/AndroidRuntime( 4802):    at de.grobox.liberario.MainActivity.onNetworkProviderChanged(MainActivity.java:148)
E/AndroidRuntime( 4802):    at de.grobox.liberario.MainActivity.onActivityResult(MainActivity.java:140)
E/AndroidRuntime( 4802):    at android.app.Activity.dispatchActivityResult(Activity.java:5445)
E/AndroidRuntime( 4802):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3497)
E/AndroidRuntime( 4802):    ... 11 more
W/ActivityManager( 1636):   Force finishing activity de.grobox.liberario/.MainActivity

Transport Network RMV

Thanks for the effort to make an open source alternative to Öffi!

I live near Frankfurt/Main where the transport network is called RMV (Rhein-Main-Verkehrsverbund) and did not find an entry for it in the list.
I chose NVV because it says "Hessen, Kassel" in the description, but it is usually only for the nothern part of Hessen.
It seems to work for RMV as well, but thats not very intuitive.
So I would suggest to add the RMV part to the network name or description.

Feature request: expand / collapse all route details

Please provide the ability to expand and collapse all route details with a single click. This would be a useful usability improvement, and very helpful for quickly returning to your route overview (with only parent nodes displayed) when switching trains etc. on foot.

Connection list sorting issue

See image.

pic

Connection query 2014-09-19 departure 23:00 "Bremen Hbf" -> "Worpswede, Insel" via the DB api.

Earlier connection for context.

Feature request: Open location of journey waypoint in external app

Currently waypoints, such as a bus stop at the end of a walk, have no accessible location data associated with them, e.g. longlat, address, integrated map, etc.

A major improvement would be if long pressing on a journey waypoint brought up a menu with the option to open the location of that waypoint in a 3rd party app. e.g. long press on the Herrfurthstr. bus stop offered "open location with app...", which would pass the location to a mapping app such as osmand for viewing the location area.

No experience with android app internals, I assume its possible by special uri or message object. Presumably easier (and more featureful) than integrating usable maps into liberario itself.

Feature request: allow copy waypoint name to clipboard

As there is currently no accessible waypoint location data, one way to improve the user experience would be to provide "copy to clipboard" functionality for waypoint names. many waypoints are street , but currently to find their location they have to be manually retyped to be looked up in an external app such as a web browser or mapping app.

Map zoom level and navigation app call

Hi!
The map zoom level could be a bit higher.
When liberario calls an navigation app (footwalk to first station), it should call it
with the coordinates of the station, not the current location. The navi app finds
me, so it makes no sense to call with my location.

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.