bparmentier / openbikesharing Goto Github PK
View Code? Open in Web Editor NEWShared bikes availability in your city
Home Page: https://openbikesharing.org
License: Other
Shared bikes availability in your city
Home Page: https://openbikesharing.org
License: Other
It could be handy to have a link in the about menu (or a donate item in the settings menu) to make easy bitcoin donations. Something that would automatically open the installed wallet, ideally.
Right now, one has to go to your website, copy the bitcoin address and then paste it in the wallet of choice.
Making it easier would diminish the friction to make donations ;)
If the screen is rotated while there is no network connection, the app attempts to download new station data (whereas the refresh button is disabled when there is no connection). When the network connection is reestablished, the download does not start, causing a hang.
sl4j seems to be available via mavenCentral as 'org.slf4j:slf4j-simple:1.7.7' and 'org.slf4j:slf4j-api:1.7.7' -- why not use these?
Hello! I want to contribute on your project with making logo design. What do you think about it? It can be logotype . If you interested we can talk about design choices. I am waiting your feedback! 😀
Best Regards,
Arslan Şahin
Graphics Designer
With versions 1.7.3 and 1.7.4
From F-Droid
On Android 4.1.2
For example:
It's all in the title.
It would be useful to be able to just open the app and see if your local station(s) have free bikes (or spaces).
Usecase: get up in the morning, want to cycle to your location of choice, need to know which local station has free bikes.
Hope this suggestion helps :)
When I launch the app, sometimes on the startup data refresh the favorites disappear. This has happened twice to me already, I'm using cyanogenmod 13 (Android 6.0.1).
Does anyone has the same issue?
Since [a recent Gradle update]1, the version name in the About screen on debug builds always shows the same date: 1.9.2-debug-19791130000030.
According to our research, there are misuses about the following AsyncTask class:
( tkj.android.homecontrol.mythmote. GestureBuilderActivity.BikeNetworksListActivity)
//……
new JSONDownloadTask().execute(apiUrl);
//……
private class JSONDownloadTask extends AsyncTask<String, Void, String>
The problems are:
I think we can make following changes to fix the misuse problems:
private final BikeNetworksListActivity _context
as example, it can be changed to private final WeakReference<BikeNetworksListActivity> _context
.cancel()
in the onDestroy() method of Activities or Fragments.while(condition1){
if(isCancelled()){
break;
}
//blablabla…
while(condition2){
if(isCancelled()){
break;
}
//blablabla…
}
}
These are my suggestions above, thank you.
Describe the bug
If the device has been rotated in the welcome interface, the all stations list cannot be displayed
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Should show the station list
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
When the app can't locate the current location due to the lack of permission, a wrong prompt will be given.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Location permission should be requested.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
A rotation animation will do the trick.
When viewing a favorite (the "map" view), it would be great to also see the stations near that favorite (or maybe all the stations).
The rationale behind this is, when I'm going to a favorite and the station is full, I would like to have a quick way of determining fallback stations.
(oh, and by the way, thanks for this app, I use it almost daily)
Here in Paris we have now 2 types of velib. One is electric and the other one is a regular one.
On the OpenBikeSharing app we just have the number of bikes available at the station, we don't know the type of bike available.
Sometimes it happens I see there are available bikes, but then I see that the last update is 24 hours old. This confuses me.
The app should at least warn me or autoupdate the bike data.
It will be easier for non-developers to contribute translations if using an external platform.
Weblate seems interesting. It is free software and does offer hosting solution for FOSS projects (sent them a request a week ago, but still no answer though).
On the Fairphone FP1 I get only a list of P signs and a number next to it in the station list. There are no station names.
my logcat caught an error 'Location not found' in MapActivity. It seems an error will be thrown when open a map page of a bike station.
Hi,
The velib provider in Paris changed on January, 1st. It seems OpenBikeSharing is only fetching stations from the previous provider (JCDevaux)) but not the new one. There are some remaining stations from the old provider but all stations should move to the new one in a couple of months.
An official opendata endpoint is available from https://opendata.paris.fr/explore/dataset/velib-disponibilite-en-temps-reel/
It would be awesome to have them in OBS. Let me know if needed, I can help translate the doc if needed. But I can't do much Android coding :/
Thanks!
Is it possible? i noticed today that after rotating the screen the map starts to re-draw in the default position and zoom level. Can they be kept after the rotation?
OpenBikeSharing is currently targeting API 22. We should consider moving to API 25.
This implies switching to the new runtime permissions model.
Currently the refresh interval is set to 30 minutes. This should be customizable and should also depend on the type of connection (Wi-Fi/mobile network).
All Call-A-Bike networks, for example Berlin or Munich, are not working with version 1.7.2. When selected, trying to refresh the stations lists results in a toast message saying "Error retrieving data".
The inner class JSONDownloadTask defined in
Besides, the instance of JSONDownloadTask is not cancelled, which can lead to result loss. I think the instance of JSONDownloadTask should be cancelled before the Activity is destroyed.
A widget with the number of slots/available bikes for pre-selected stations would be great, as it would allow one to quickly get the information.
Since https://github.com/eskerda/PyBikes looks like is stale, no pull request responses for more than month and biking season is "almost over" I can't wait any longer for merging my pull requests (added 11 Polish bike networks), maybe that's good idea to allow customize API url in app settings. I'm ready to fork and setup own API server (with new networks added) but don't want to fork and maintain this app :).
The new velib is coming and OBS is not compatible with it.
The new station is available on this website
I think it should be a good idea to let the user choose which tab to open on start. Like, I don't have any GPS, so the nearby tab is useless, I would like to see the favorites first.
Functionality wise I think the app is fine, but I think it could benefit greatly from using Material Design.
Matching the design of other Android apps will make it easier to use, especially for new users. It's also simply prettier and I think aesthetics is an important factor for users when they decide to try / keep using an app.
I'm happy to help with this if there is interest. I have front-end experience though not for apps. Would be a nice project to learn though.
A few weeks ago, the Mapnik background tiles started showing up blank. I preferred Mapnik over the other two map layer choices because they also have problems. The OpenCycleMap view is stamped with API Key Required, and the OSMPublicTransport map shows only the public transportation lines without any other features.
See below for current examples of all three map layers in downtown Vancouver, British Columbia, Canada.
Mapnik | OpenCycleMap | OSMPublicTransport |
---|---|---|
This would eliminate one button from the upper bar and I think that swipe to refresh is pretty self-explaining nowadays.
In Vienna we have two new free floating systems (ofo, obike). Please add those because it's a great enhancement of available bikes.
First time user here, sorry if it's already been asked (I couldn't find any info on that).
In the city where I live (Trento, Italy) there is a bike sharing network that works across few towns (Trento, Lavis, San Michele All'adige, Mezzolombardo, Mezzocorona) that are listed as separate networks (e.motion for Trento and Bicincittà for the others).
I think they should be listed as a single network because I can pick/park a bike in any station of these towns.
Regardless, it could be a good thing to be able to select multiple networks, even if they don't talk to each other (i.e. if I'm commuting by bus/train between two towns that have different bike sharing networks but I use both of them locally).
Keep up the good work!
Haven't checked OpenBikeSharing for some weeks now and it worked like a charm before.
But now I get "Error retrieving data" when I try to update the list of all stations or go to settings "Choose a network".
However, the data from Mapnik is received as expected in the app.
I am using version 1.9.2.
Hi there,
I'm hochi from the next-companion project which is also available via F-Droid. We'd like to depend on your app for the map and station finding process. Is this thing still active or are we better off if we're simply forking it?
For us, the standard tiles were not working (tested on two devices). I know there's #51 for this.
I forked the repository and tried to compile the app. After a few failed attempts because of the missing android-support, I was finally able to compile it, but when I ran it in the emulator it crashed.
Seems like it's trying to resume an app on first run, which is obviously not possible.
Here are the adb logs
06-05 06:27:29.366 2011-2011/be.brunoparmentier.openbikesharing.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: be.brunoparmentier.openbikesharing.app, PID: 2011
java.lang.RuntimeException: Unable to resume activity {be.brunoparmentier.openbikesharing.app/be.brunoparmentier.openbikesharing.app.activities.StationsListActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2774)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2803)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
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:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at be.brunoparmentier.openbikesharing.app.activities.StationsListActivity.onResume(StationsListActivity.java:179)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
at android.app.Activity.performResume(Activity.java:5310)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2764)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2803)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
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:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
To visually filter out more easily the stations on the map when looking for a bike or a parking space, it would be very nice to have the bike logos that represent the stations have a colour code.
For example (just an idea, clearly):
red: the station has no free bikes, no free spaces (ie: the station is out of order, basically)
green: the station has free bikes, free spaces
grey: the station has free bikes, no spaces (can happen even when the station is not actually full of bikes)
brown: the station has no free bikes, but has free spaces
I realise these colours are probably not the best, especially the grey and brown ones.
Another option is to use the bike logo in two-halves, ie: front wheel of the bike represents bike availability, back wheel represents free spaces.
Green front wheel, red back wheel: bikes available, no free spaces.
etc.
Last suggestion (I'm on a roll!), the colours could also be a gradient according to the number of free bikes on total number of bikes, and/or free spaces on total number of spaces.
Probably not very relevant info, but still a possibility.
Hope this helps!
This could be useful to allow to have more info on the station (not that there really is any extra info to display right now, at least basing myself on the Paris Vélib' map) or to add to favourites, if one were to follow my suggestion in #3.
This bug probably was introduced in commit 6852291.
The maps are extremely hard to read, which makes it sometimes really hard to properly orient oneself and navigate to the next station - Therefore, if possible, I think one would need to...
Here.
I originally was just thinking about 24HOUR time format, though I wouldn't know if it couldn't also make sense for dates, just in case
https://developer.android.com/reference/android/text/format/DateUtils.html#pubmethods
A nice feature would be to group favorite station by folders/tags : one folder with favorite station near home, one near work, …
Instead of choosing a default tab (as done in commit cabb5db), we could let the user re-order them (and, why not, remove/add tabs).
The way I see it now is by adding a list in the settings with "drag-and-droppable" items.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.