├── app
├── .gitignore
├── src
│ └── main
│ │ ├── res
│ │ ├── drawable-hdpi
│ │ │ ├── ic_bike.png
│ │ │ ├── ic_parking.png
│ │ │ ├── ic_bonus_off.png
│ │ │ ├── ic_bonus_on.png
│ │ │ ├── map_bubble.9.png
│ │ │ ├── ic_banking_off.png
│ │ │ ├── ic_banking_on.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ ├── ic_station_marker0.png
│ │ │ ├── ic_station_marker100.png
│ │ │ ├── ic_station_marker25.png
│ │ │ ├── ic_station_marker50.png
│ │ │ ├── ic_station_marker75.png
│ │ │ ├── openbikesharing_logo.png
│ │ │ ├── ic_menu_favorite_outline.png
│ │ │ └── ic_station_marker_unavailable.png
│ │ ├── drawable-mdpi
│ │ │ ├── ic_bike.png
│ │ │ ├── ic_parking.png
│ │ │ ├── ic_bonus_off.png
│ │ │ ├── ic_bonus_on.png
│ │ │ ├── map_bubble.9.png
│ │ │ ├── ic_banking_off.png
│ │ │ ├── ic_banking_on.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── marker_cluster.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ ├── ic_station_marker0.png
│ │ │ ├── ic_station_marker100.png
│ │ │ ├── ic_station_marker25.png
│ │ │ ├── ic_station_marker50.png
│ │ │ ├── ic_station_marker75.png
│ │ │ ├── openbikesharing_logo.png
│ │ │ ├── ic_menu_favorite_outline.png
│ │ │ └── ic_station_marker_unavailable.png
│ │ ├── drawable-xhdpi
│ │ │ ├── ic_bike.png
│ │ │ ├── ic_bonus_on.png
│ │ │ ├── ic_parking.png
│ │ │ ├── ic_banking_off.png
│ │ │ ├── ic_banking_on.png
│ │ │ ├── ic_bonus_off.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── map_bubble.9.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ ├── ic_station_marker0.png
│ │ │ ├── ic_station_marker25.png
│ │ │ ├── ic_station_marker50.png
│ │ │ ├── ic_station_marker75.png
│ │ │ ├── ic_station_marker100.png
│ │ │ ├── openbikesharing_logo.png
│ │ │ ├── ic_menu_favorite_outline.png
│ │ │ └── ic_station_marker_unavailable.png
│ │ ├── drawable-xxhdpi
│ │ │ ├── ic_bike.png
│ │ │ ├── ic_parking.png
│ │ │ ├── ic_banking_on.png
│ │ │ ├── ic_bonus_off.png
│ │ │ ├── ic_bonus_on.png
│ │ │ ├── map_bubble.9.png
│ │ │ ├── ic_banking_off.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ ├── ic_station_marker0.png
│ │ │ ├── ic_station_marker100.png
│ │ │ ├── ic_station_marker25.png
│ │ │ ├── ic_station_marker50.png
│ │ │ ├── ic_station_marker75.png
│ │ │ ├── openbikesharing_logo.png
│ │ │ ├── ic_menu_favorite_outline.png
│ │ │ └── ic_station_marker_unavailable.png
│ │ ├── drawable-hdpi-v21
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ └── ic_menu_favorite_outline.png
│ │ ├── drawable-mdpi-v21
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ └── ic_menu_favorite_outline.png
│ │ ├── drawable-xhdpi-v21
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ └── ic_menu_favorite_outline.png
│ │ ├── drawable-xxhdpi-v21
│ │ │ ├── ic_menu_search.png
│ │ │ ├── ic_menu_favorite.png
│ │ │ ├── ic_menu_mapmode.png
│ │ │ ├── ic_menu_refresh.png
│ │ │ ├── ic_menu_directions.png
│ │ │ ├── ic_menu_mylocation.png
│ │ │ └── ic_menu_favorite_outline.png
│ │ ├── values-ar
│ │ │ └── strings.xml
│ │ ├── values-ne
│ │ │ └── strings.xml
│ │ ├── values
│ │ │ ├── styles.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ └── arrays.xml
│ │ ├── values-v21
│ │ │ └── styles.xml
│ │ ├── values-cs
│ │ │ └── strings.xml
│ │ ├── layout
│ │ │ ├── actionbar_indeterminate_progress.xml
│ │ │ ├── activity_bike_networks_list.xml
│ │ │ ├── activity_map.xml
│ │ │ ├── fragment_stations_list.xml
│ │ │ ├── activity_stations_list.xml
│ │ │ ├── app_widget.xml
│ │ │ ├── bonuspack_bubble.xml
│ │ │ ├── station_list_item.xml
│ │ │ └── app_widget_item.xml
│ │ ├── values-w820dp
│ │ │ └── dimens.xml
│ │ ├── xml
│ │ │ └── stations_list_app_widget_info.xml
│ │ ├── menu
│ │ │ ├── map.xml
│ │ │ ├── bike_networks_list.xml
│ │ │ ├── station.xml
│ │ │ └── stations_list.xml
│ │ ├── values-el
│ │ │ └── strings.xml
│ │ ├── values-zh-rCN
│ │ │ └── strings.xml
│ │ ├── values-zh-rTW
│ │ │ └── strings.xml
│ │ ├── values-ja
│ │ │ └── strings.xml
│ │ ├── values-nb-rNO
│ │ │ └── strings.xml
│ │ ├── values-da
│ │ │ └── strings.xml
│ │ ├── values-gl
│ │ │ └── strings.xml
│ │ ├── values-sv
│ │ │ └── strings.xml
│ │ ├── values-ca
│ │ │ └── strings.xml
│ │ ├── values-fi
│ │ │ └── strings.xml
│ │ ├── values-he
│ │ │ └── strings.xml
│ │ ├── values-pt-rBR
│ │ │ └── strings.xml
│ │ ├── values-nl
│ │ │ └── strings.xml
│ │ ├── values-hu
│ │ │ └── strings.xml
│ │ ├── values-hr
│ │ │ └── strings.xml
│ │ ├── values-ru
│ │ │ └── strings.xml
│ │ ├── values-pt
│ │ │ └── strings.xml
│ │ └── values-it
│ │ │ └── strings.xml
│ │ ├── java
│ │ └── be
│ │ │ └── brunoparmentier
│ │ │ └── openbikesharing
│ │ │ └── app
│ │ │ ├── models
│ │ │ ├── StationStatus.java
│ │ │ ├── BikeNetwork.java
│ │ │ ├── BikeNetworkLocation.java
│ │ │ ├── BikeNetworkInfo.java
│ │ │ └── Station.java
│ │ │ ├── preferences
│ │ │ ├── InfoDialogPreference.java
│ │ │ └── UpdateListPreference.java
│ │ │ ├── activities
│ │ │ └── SettingsActivity.java
│ │ │ ├── adapters
│ │ │ ├── BikeNetworksListAdapter.java
│ │ │ ├── SearchStationAdapter.java
│ │ │ └── StationsListAdapter.java
│ │ │ ├── parsers
│ │ │ └── BikeNetworksListParser.java
│ │ │ ├── db
│ │ │ └── DatabaseHelper.java
│ │ │ ├── fragments
│ │ │ └── StationsListFragment.java
│ │ │ └── widgets
│ │ │ └── StationsListAppWidgetService.java
│ │ └── AndroidManifest.xml
├── proguard-rules.pro
└── build.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .idea
├── inspectionProfiles
│ ├── profiles_settings.xml
│ └── Project_Default.xml
├── gradle.xml
└── copyright
│ └── GPLv3.xml
├── .travis.yml
├── LICENSE
├── settings.gradle
├── gradle.properties
├── gradlew.bat
├── .gitignore
└── README.md
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_bike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_bike.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_bike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_bike.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_parking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_parking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_parking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_parking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_bike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_bike.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_bike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_bike.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_bonus_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_bonus_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_bonus_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_bonus_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/map_bubble.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/map_bubble.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_bonus_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_bonus_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_bonus_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_bonus_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/map_bubble.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/map_bubble.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_bonus_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_bonus_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_parking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_parking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_parking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_parking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_banking_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_banking_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_banking_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_banking_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_banking_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_banking_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_banking_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_banking_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/marker_cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/marker_cluster.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_banking_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_banking_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_banking_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_banking_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_bonus_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_bonus_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/map_bubble.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/map_bubble.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_banking_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_banking_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_bonus_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_bonus_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_bonus_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_bonus_on.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/map_bubble.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/map_bubble.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_banking_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_banking_off.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker100.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker25.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker75.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/openbikesharing_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/openbikesharing_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker100.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker25.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker75.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/openbikesharing_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/openbikesharing_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker25.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker75.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker100.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/openbikesharing_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/openbikesharing_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_favorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_favorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_mapmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_mapmode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_refresh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker100.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker25.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker75.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/openbikesharing_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/openbikesharing_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_directions.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_mylocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_mylocation.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi-v21/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi-v21/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_station_marker_unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-hdpi/ic_station_marker_unavailable.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi-v21/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi-v21/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_station_marker_unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-mdpi/ic_station_marker_unavailable.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi-v21/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi-v21/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_station_marker_unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xhdpi/ic_station_marker_unavailable.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi-v21/ic_menu_favorite_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi-v21/ic_menu_favorite_outline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_station_marker_unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bparmentier/OpenBikeSharing/HEAD/app/src/main/res/drawable-xxhdpi/ic_station_marker_unavailable.png
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed May 03 19:24:26 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 |
3 | language: android
4 | jdk:
5 | - oraclejdk8
6 | android:
7 | components:
8 | # Use the latest revision of Android SDK Tools
9 | - platform-tools
10 | - tools
11 | - extra-android-support
12 | - extra-android-m2repository
13 |
14 | # The BuildTools version used by the project
15 | - build-tools-25.0.3
16 |
17 | # The SDK version used to compile the project
18 | - android-22
19 |
20 | # Specify at least one system image,
21 | # if you need to run emulator(s) during your tests
22 | #- sys-img-armeabi-v7a-android-19
23 | #- sys-img-x86-android-17
24 |
25 | script:
26 | - ./gradlew build
27 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | OpenBikeSharing. Shared bikes availability in your city.
2 | Copyright (C) 2014 Bruno Parmentier
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | include ':app'
19 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | الموقع غير موجود
4 | مرحبًا
5 | اعدادات
6 | خريطه
7 | اختيار شبكة
8 | محطة
9 | محطات
10 | البحث
11 | موقعي
12 | اتجاهات
13 | خريطه
14 | أنعش
15 | اعدادات
16 | عُطل في الاتصال
17 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ne/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | सेटिङहरू
4 | नक्सा
5 | सञ्जल छान्नुहोस्
6 | स्टेसन
7 | स्टेसनहरू
8 | खोज
9 | मेरो स्थान
10 | मनपर्ने
11 | दिशानिर्देश
12 | नक्सा
13 | ताजा पार्नुहोस्
14 | सेटिङहरू
15 | डाटा प्राप्ति गर्दा त्रुटि
16 | जडान त्रुटि
17 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/models/StationStatus.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.models;
19 |
20 | /**
21 | * Station status
22 | */
23 | public enum StationStatus {
24 | OPEN, CLOSED
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 | #ff7883
21 | #2e5078
22 | #b1dcf4
23 |
--------------------------------------------------------------------------------
/.idea/copyright/GPLv3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Nastavení
4 | Chyba při načítání dat
5 | Chyba připojení
6 | Zrušit
7 | OK
8 | Než začnete, vyberte si v seznamu síť jízdních kol.
9 | \nUjistěte se také, že jste připojeni k internetu.
10 | Nastavení
11 | Mapa
12 | Vybrat síť
13 | Stanice
14 | Stanice
15 | Hledat
16 | Moje lokace
17 | Oblíbené
18 | Směry
19 | Mapa
20 | Obnovit
21 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/actionbar_indeterminate_progress.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
22 |
23 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
22 | 64dp
23 | 6dp
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/stations_list_app_widget_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/map.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 | 16dp
21 | 16dp
22 | 3dp
23 |
24 |
28 | 8dp
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_bike_networks_list.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
23 |
24 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/bike_networks_list.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
30 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/models/BikeNetwork.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.models;
19 |
20 | import java.util.ArrayList;
21 |
22 | /**
23 | * Represents a bike network and its stations.
24 | */
25 | public class BikeNetwork extends BikeNetworkInfo {
26 | private ArrayList stations;
27 |
28 | public BikeNetwork(String id, String name, String company, BikeNetworkLocation location, ArrayList stations) {
29 | super(id, name, company, location);
30 | this.stations = stations;
31 | }
32 |
33 | public ArrayList getStations() {
34 | return stations;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_map.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
23 |
24 |
25 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/station.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
37 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/preferences/InfoDialogPreference.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.preferences;
19 |
20 | import android.app.AlertDialog;
21 | import android.content.Context;
22 | import android.preference.DialogPreference;
23 | import android.util.AttributeSet;
24 |
25 | /**
26 | * Custom DialogPreference class without negative button.
27 | */
28 | public class InfoDialogPreference extends DialogPreference {
29 |
30 | public InfoDialogPreference(Context context, AttributeSet attrs) {
31 | super(context, attrs);
32 | }
33 |
34 | @Override
35 | protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
36 | super.onPrepareDialogBuilder(builder);
37 | builder.setNegativeButton(null, null);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | #
4 | # OpenBikeSharing is free software: you can redistribute it and/or modify
5 | # it under the terms of the GNU General Public License as published by
6 | # the Free Software Foundation, either version 3 of the License, or
7 | # (at your option) any later version.
8 | #
9 | # OpenBikeSharing is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | # GNU General Public License for more details.
13 | #
14 | # You should have received a copy of the GNU General Public License
15 | # along with OpenBikeSharing. If not, see .
16 | #
17 |
18 | # Project-wide Gradle settings.
19 |
20 | # IDE (e.g. Android Studio) users:
21 | # Settings specified in this file will override any Gradle settings
22 | # configured through the IDE.
23 |
24 | # For more details on how to configure your build environment visit
25 | # http://www.gradle.org/docs/current/userguide/build_environment.html
26 |
27 | # Specifies the JVM arguments used for the daemon process.
28 | # The setting is particularly useful for tweaking memory settings.
29 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
30 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
31 |
32 | # When configured, Gradle will run in incubating parallel mode.
33 | # This option should only be used with decoupled projects. More details, visit
34 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
35 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/preferences/UpdateListPreference.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.preferences;
19 |
20 | import android.content.Context;
21 | import android.preference.ListPreference;
22 | import android.util.AttributeSet;
23 |
24 | /**
25 | * On some versions of Android (4.2?), the default ListPreference view doesn't update when summary
26 | * changes.
27 | * cf. https://code.google.com/p/android/issues/detail?id=27867
28 | */
29 | public class UpdateListPreference extends ListPreference {
30 |
31 | public UpdateListPreference(Context context, AttributeSet attrs) {
32 | super(context, attrs);
33 | }
34 |
35 | public UpdateListPreference(Context context) {
36 | super(context);
37 | }
38 |
39 | @Override
40 | public void setValue(String value) {
41 | super.setValue(value);
42 | notifyChanged();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_stations_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
19 |
20 |
23 |
24 |
32 |
33 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 | - @string/pref_map_layer_mapnik
21 | - @string/pref_map_layer_cyclemap
22 | - @string/pref_map_layer_osmpublictransport
23 |
24 |
25 |
26 | - mapnik
27 | - cyclemap
28 | - osmpublictransport
29 |
30 |
31 |
32 | - @string/nearby_stations
33 | - @string/favorite_stations
34 | - @string/all_stations
35 |
36 |
37 |
38 | - 0
39 | - 1
40 | - 2
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/models/BikeNetworkLocation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.models;
19 |
20 | import java.io.Serializable;
21 |
22 | /**
23 | * Represents the location of a bike network.
24 | */
25 | public class BikeNetworkLocation implements Serializable {
26 | private double latitude;
27 | private double longitude;
28 | private String city;
29 | private String country;
30 |
31 | public BikeNetworkLocation(double latitude, double longitude, String city, String country) {
32 | this.latitude = latitude;
33 | this.longitude = longitude;
34 | this.country = country;
35 | this.city = city;
36 | }
37 |
38 | public double getLatitude() {
39 | return latitude;
40 | }
41 |
42 | public double getLongitude() {
43 | return longitude;
44 | }
45 |
46 | public String getCity() {
47 | return city;
48 | }
49 |
50 | public String getCountry() {
51 | return country;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/activities/SettingsActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.activities;
19 |
20 | import android.os.Bundle;
21 | import android.preference.PreferenceActivity;
22 | import android.support.v4.app.NavUtils;
23 | import android.view.MenuItem;
24 |
25 | import be.brunoparmentier.openbikesharing.app.fragments.SettingsFragment;
26 |
27 | /**
28 | * Settings activity
29 | */
30 | public class SettingsActivity extends PreferenceActivity {
31 |
32 | @Override
33 | protected void onCreate(Bundle savedInstanceState) {
34 | super.onCreate(savedInstanceState);
35 | getActionBar().setDisplayHomeAsUpEnabled(true);
36 | getFragmentManager().beginTransaction().replace(android.R.id.content,
37 | new SettingsFragment()).commit();
38 | }
39 |
40 | @Override
41 | public boolean onOptionsItemSelected(MenuItem item) {
42 | switch (item.getItemId()) {
43 | case android.R.id.home:
44 | NavUtils.navigateUpFromSameTask(this);
45 | return true;
46 | }
47 |
48 | return super.onOptionsItemSelected(item);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | apply plugin: 'com.android.application'
19 |
20 | android {
21 | compileSdkVersion 22
22 | buildToolsVersion '25.0.3'
23 |
24 | defaultConfig {
25 | applicationId "be.brunoparmentier.openbikesharing.app"
26 | minSdkVersion 14
27 | targetSdkVersion 22
28 | versionCode 23
29 | versionName "1.10.0"
30 | buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L"
31 | }
32 |
33 | buildTypes {
34 | release {
35 | minifyEnabled false
36 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
37 | applicationVariants.all { variant ->
38 | variant.outputs.each { output ->
39 | output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace("app-release", "openbikesharing-" + defaultConfig.versionName + "-release"))
40 | }
41 | }
42 | }
43 | }
44 |
45 | lintOptions {
46 | abortOnError false
47 | }
48 | }
49 |
50 | dependencies {
51 | compile 'org.osmdroid:osmdroid-android:5.6.4'
52 | compile 'com.github.MKergall:osmbonuspack:6.3'
53 | compile 'com.android.support:support-v4:23.0.1'
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/stations_list.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
50 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/models/BikeNetworkInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.models;
19 |
20 | import java.io.Serializable;
21 |
22 | /**
23 | * Information on a bike network.
24 | */
25 | public class BikeNetworkInfo implements Serializable, Comparable {
26 | private String id;
27 | private String name;
28 | private String company;
29 | private BikeNetworkLocation location;
30 |
31 | public BikeNetworkInfo(String id, String name, String company, BikeNetworkLocation location) {
32 | this.id = id;
33 | this.name = name;
34 | this.company = company;
35 | this.location = location;
36 | }
37 |
38 | public String getId() {
39 | return id;
40 | }
41 |
42 | public String getName() {
43 | return name;
44 | }
45 |
46 | public String getCompany() {
47 | return company;
48 | }
49 |
50 | public BikeNetworkLocation getLocation() {
51 | return location;
52 | }
53 |
54 | @Override
55 | public int compareTo(BikeNetworkInfo another) {
56 | return location.getCity().compareToIgnoreCase(another.getLocation().getCity()) > 0 ? 1 :
57 | (location.getCity().compareToIgnoreCase(another.getLocation().getCity()) < 0 ? -1 : 0);
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_stations_list.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
23 |
29 |
34 |
35 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/adapters/BikeNetworksListAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.adapters;
19 |
20 | import android.content.Context;
21 | import android.view.LayoutInflater;
22 | import android.view.View;
23 | import android.view.ViewGroup;
24 | import android.widget.ArrayAdapter;
25 | import android.widget.TextView;
26 |
27 | import java.util.ArrayList;
28 |
29 | import be.brunoparmentier.openbikesharing.app.models.BikeNetworkInfo;
30 |
31 | /**
32 | * Define a list of bike networks.
33 | */
34 | public class BikeNetworksListAdapter extends ArrayAdapter {
35 |
36 | public BikeNetworksListAdapter(Context context, int resource, int textViewResourceId, ArrayList networks) {
37 | super(context, resource, textViewResourceId, networks);
38 | }
39 |
40 | @Override
41 | public View getView(int position, View convertView, ViewGroup parent) {
42 | View v = convertView;
43 |
44 | if (v == null) {
45 | LayoutInflater vi;
46 | vi = LayoutInflater.from(getContext());
47 | v = vi.inflate(android.R.layout.simple_list_item_2, parent, false);
48 | }
49 |
50 | BikeNetworkInfo network = getItem(position);
51 |
52 | if (network != null) {
53 | TextView text1 = (TextView) v.findViewById(android.R.id.text1);
54 | TextView text2 = (TextView) v.findViewById(android.R.id.text2);
55 |
56 | text1.setText(network.getLocation().getCity()
57 | + " (" + network.getLocation().getCountry() + ")");
58 | text2.setText(network.getName());
59 | }
60 |
61 | return v;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/app/src/main/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Χάρτης
4 | Ανανέωση
5 | Ρυθμίσεις
6 | Σφάλμα ανάκτησης δεδομένων
7 | Σφάλμα σύνδεσης
8 | Δεκτές κάρτες
9 | Σταθμός μπόνους
10 | Δεν έχετε εγκαταστήσει καμία εφαρμογή πλοήγησης
11 | Ο σταθμός αφαιρέθηκε από τα αγαπημένα
12 | Ο σταθμός προστέθηκε στα αγαπημένα
13 | Δεν υπάρχουν κοντινοί σταθμοί
14 | Δεν υπάρχουν αγαπημένοι σταθμοί
15 | Δεν υπάρχουν σταθμοί
16 | Πλησίον
17 | Αγαπημένα
18 | Όλοι οι σταθμοί
19 | Κενές θέσεις:
20 | Δωρεάν ποδήλατα:
21 | Δεν υπάρχουν αγαπημένοι σταθμοί
22 | Αγαπημένοι σταθμοί
23 | Παρακαλούμε περιμένετε ενώ γίνεται λήψη του δικτύου ποδηλάτων
24 | επιλεγμένο
25 | Η τοποθεσία δεν βρέθηκε
26 | Καλώς ορίσατε
27 | Ακύρωση
28 | Εντάξει
29 | Πριν ξεκινήσετε, επιλέξτε ένα δίκτυο ποδηλάτων από τη λίστα.
30 | \nΒεβαιωθείτε επίσης ότι είστε συνδεδεμένοι στο διαδίκτυο.
31 | Ρυθμίσεις
32 | Χάρτης
33 | Επιλέξτε ένα δίκτυο
34 | Σταθμός
35 | Σταθμοί
36 | Αναζήτηση
37 | Η τοποθεσία μου
38 | Αγαπημένο
39 | Οδηγίες
40 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Created by https://www.gitignore.io/api/androidstudio
3 |
4 | ### AndroidStudio ###
5 | # Covers files to be ignored for android development using Android Studio.
6 |
7 | # Built application files
8 | *.apk
9 | *.ap_
10 |
11 | # Files for the ART/Dalvik VM
12 | *.dex
13 |
14 | # Java class files
15 | *.class
16 |
17 | # Generated files
18 | bin/
19 | gen/
20 | out/
21 |
22 | # Gradle files
23 | .gradle
24 | .gradle/
25 | build/
26 |
27 | # Signing files
28 | .signing/
29 |
30 | # Local configuration file (sdk path, etc)
31 | local.properties
32 |
33 | # Proguard folder generated by Eclipse
34 | proguard/
35 |
36 | # Log Files
37 | *.log
38 |
39 | # Android Studio
40 | /*/build/
41 | /*/local.properties
42 | /*/out
43 | /*/*/build
44 | /*/*/production
45 | captures/
46 | .navigation/
47 | *.ipr
48 | *~
49 | *.swp
50 |
51 | # Android Patch
52 | gen-external-apklibs
53 |
54 | # External native build folder generated in Android Studio 2.2 and later
55 | .externalNativeBuild
56 |
57 | # NDK
58 | obj/
59 |
60 | # IntelliJ IDEA
61 | *.iml
62 | *.iws
63 | /out/
64 |
65 | # User-specific configurations
66 | .idea/libraries/
67 | .idea/workspace.xml
68 | .idea/tasks.xml
69 | .idea/.name
70 | .idea/compiler.xml
71 | .idea/copyright/profiles_settings.xml
72 | .idea/encodings.xml
73 | .idea/misc.xml
74 | .idea/modules.xml
75 | .idea/scopes/scope_settings.xml
76 | .idea/dictionaries
77 | .idea/vcs.xml
78 | .idea/jsLibraryMappings.xml
79 | .idea/datasources.xml
80 | .idea/dataSources.ids
81 | .idea/sqlDataSources.xml
82 | .idea/dynamic.xml
83 | .idea/uiDesigner.xml
84 |
85 | # Keystore files
86 | *.jks
87 |
88 | # OS-specific files
89 | .DS_Store
90 | .DS_Store?
91 | ._*
92 | .Spotlight-V100
93 | .Trashes
94 | ehthumbs.db
95 | Thumbs.db
96 |
97 | # Legacy Eclipse project files
98 | .classpath
99 | .project
100 |
101 | # Mobile Tools for Java (J2ME)
102 | .mtj.tmp/
103 |
104 | # Package Files #
105 | *.jar
106 | *.war
107 | *.ear
108 |
109 | # virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
110 | hs_err_pid*
111 |
112 | ## Plugin-specific files:
113 |
114 | # mpeltonen/sbt-idea plugin
115 | .idea_modules/
116 |
117 | # JIRA plugin
118 | atlassian-ide-plugin.xml
119 |
120 | # Mongo Explorer plugin
121 | .idea/mongoSettings.xml
122 |
123 | # Crashlytics plugin (for Android Studio and IntelliJ)
124 | com_crashlytics_export_strings.xml
125 | crashlytics.properties
126 | crashlytics-build.properties
127 | fabric.properties
128 |
129 | ### AndroidStudio Patch ###
130 | # Google Services plugin
131 | google-services.json
132 |
133 | !/gradle/wrapper/gradle-wrapper.jar
134 |
135 | # End of https://www.gitignore.io/api/androidstudio
136 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **This project isn't maintained anymore! Please have a look at [BikeSharingHub](https://github.com/francoisfds/BikeSharingHub) (forked by [@francoisfds](https://github.com/francoisfds)).**
2 |
3 | # OpenBikeSharing
4 |
5 | [](https://travis-ci.org/bparmentier/OpenBikeSharing)
6 |
7 | OpenBikeSharing is an Android application that displays the availability of shared bikes in your
8 | city.
9 |
10 | It uses the [CityBikes API](http://api.citybik.es/v2/) that provides data for more than 400 cities in around 40 countries and displays this data in a list or on an [OpenStreetMap](https://www.openstreetmap.org) layer
11 | thanks to the [osmdroid](https://github.com/osmdroid/osmdroid) library (multiple layers are available).
12 |
13 | ## Download
14 |
15 | OpenBikeSharing is available on
16 | [F-Droid](https://f-droid.org/repository/browse/?fdid=be.brunoparmentier.openbikesharing.app) and
17 | [Google Play](https://play.google.com/store/apps/details?id=be.brunoparmentier.openbikesharing.app).
18 | Signed APK's can also be found on GitHub in the
19 | [Releases](https://github.com/bparmentier/OpenBikeSharing/releases) section.
20 |
21 | ## Contribute
22 |
23 | ### Issues
24 |
25 | Bug reports and feature requests can be reported in [Issues](https://github.com/bparmentier/OpenBikeSharing/issues).
26 |
27 | To contribute to the [openbikesharing.org](http://openbikesharing.org) website, just switch to the
28 | [gh-pages](https://github.com/bparmentier/OpenBikeSharing/tree/gh-pages) branch.
29 |
30 | ### Translations
31 |
32 | Translations are managed on [Weblate](https://hosted.weblate.org/). Please follow [these instructions](https://hosted.weblate.org/engage/openbikesharing/) if you want to help.
33 |
34 | ### Donations
35 |
36 | Donations are always welcome and will help further development of OpenBikeSharing:
37 |
38 | * Bitcoin: `168utA5DWMVXLFVfQDahG5abEWUSk9Wcfm`
39 |
40 | ## Build
41 |
42 | If you use Android Studio, you can import the project directly from GitHub.
43 |
44 | Otherwise you can build it from the command line with
45 | [Gradle](https://developer.android.com/sdk/installing/studio-build.html).
46 | Clone the repo and type:
47 |
48 | ./gradlew build
49 |
50 | (You may need to `chmod +x` the `gradlew` script)
51 |
52 | The Gradle script will take care of downloading the necessary libraries and will generate the APK's
53 | in `app/build/outputs/apk`.
54 |
55 | ## Permissions
56 |
57 | The following permissions are needed by OpenBikeSharing (those are the same that are required by
58 | osmdroid):
59 |
60 | * ACCESS_COARSE_LOCATION
61 | * ACCESS_FINE_LOCATION
62 | * ACCESS_WIFI_STATE
63 | * ACCESS_NETWORK_STATE
64 | * INTERNET
65 | * WRITE_EXTERNAL_STORAGE
66 |
67 | Internet access is needed to download the map tiles and the stations. Location access is only used
68 | to locate you on the map. Access to the SD card is required by osmdroid to cache the tiles.
69 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/parsers/BikeNetworksListParser.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.parsers;
19 |
20 | import org.json.JSONArray;
21 | import org.json.JSONException;
22 | import org.json.JSONObject;
23 |
24 | import java.text.ParseException;
25 | import java.util.ArrayList;
26 |
27 | import be.brunoparmentier.openbikesharing.app.models.BikeNetworkInfo;
28 | import be.brunoparmentier.openbikesharing.app.models.BikeNetworkLocation;
29 |
30 | /**
31 | * Parse the list of bike networks.
32 | */
33 | public class BikeNetworksListParser {
34 | private ArrayList bikeNetworks;
35 |
36 | public BikeNetworksListParser(String toParse) throws ParseException {
37 | bikeNetworks = new ArrayList<>();
38 |
39 | try {
40 | JSONObject jsonObject = new JSONObject(toParse);
41 | JSONArray rawNetworks = jsonObject.getJSONArray("networks");
42 | for (int i = 0; i < rawNetworks.length(); i++) {
43 | JSONObject rawNetwork = rawNetworks.getJSONObject(i);
44 |
45 | String id = rawNetwork.getString("id");
46 | String name = rawNetwork.getString("name");
47 | String company = rawNetwork.getString("company");
48 | BikeNetworkLocation location;
49 |
50 | /* network location */
51 | {
52 | JSONObject rawLocation = rawNetwork.getJSONObject("location");
53 |
54 | double latitude = rawLocation.getDouble("latitude");
55 | double longitude = rawLocation.getDouble("longitude");
56 | String city = rawLocation.getString("city");
57 | String country = rawLocation.getString("country");
58 |
59 | location = new BikeNetworkLocation(latitude, longitude, city, country);
60 |
61 | }
62 | bikeNetworks.add(new BikeNetworkInfo(id, name, company, location));
63 | }
64 | } catch (JSONException e) {
65 | throw new ParseException("Error parsing JSON", 0);
66 | }
67 | }
68 |
69 | public ArrayList getNetworks() {
70 | return bikeNetworks;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/adapters/SearchStationAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.adapters;
19 |
20 | import android.content.Context;
21 | import android.content.Intent;
22 | import android.database.Cursor;
23 | import android.graphics.Color;
24 | import android.view.LayoutInflater;
25 | import android.view.View;
26 | import android.view.ViewGroup;
27 | import android.widget.CursorAdapter;
28 | import android.widget.TextView;
29 |
30 | import java.util.ArrayList;
31 |
32 | import be.brunoparmentier.openbikesharing.app.models.Station;
33 | import be.brunoparmentier.openbikesharing.app.activities.StationActivity;
34 |
35 | /**
36 | * Cursor adapter to display search results in a dropdown list
37 | */
38 | public class SearchStationAdapter extends CursorAdapter {
39 |
40 | private ArrayList stations;
41 |
42 | public SearchStationAdapter(Context context, Cursor cursor, ArrayList stations) {
43 | super(context, cursor, false);
44 | this.stations = stations;
45 | }
46 |
47 | @Override
48 | public void bindView(View view, final Context context, final Cursor cursor) {
49 | final int position = cursor.getPosition();
50 | TextView textView = (TextView) view.findViewById(android.R.id.text1);
51 | textView.setText(stations.get(position).getName());
52 | textView.setTextColor(context.getResources().getColor(android.R.color.secondary_text_light));
53 | view.setBackgroundColor(Color.rgb(243, 243, 243)); // background_holo_light
54 | view.setOnClickListener(new View.OnClickListener() {
55 | @Override
56 | public void onClick(View view) {
57 | Intent intent = new Intent(context, StationActivity.class);
58 | intent.putExtra("station", stations.get(position));
59 | context.startActivity(intent);
60 | }
61 | });
62 | }
63 |
64 | @Override
65 | public View newView(Context context, Cursor cursor, ViewGroup parent) {
66 | LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
67 |
68 | return inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent, false);
69 | }
70 |
71 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_widget.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
25 |
26 |
32 |
33 |
40 |
41 |
50 |
51 |
52 |
53 |
65 |
66 |
74 |
75 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/db/DatabaseHelper.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.db;
19 |
20 | import android.content.Context;
21 | import android.database.sqlite.SQLiteDatabase;
22 | import android.database.sqlite.SQLiteOpenHelper;
23 |
24 | public class DatabaseHelper extends SQLiteOpenHelper {
25 | private static DatabaseHelper instance;
26 |
27 | private static final String DB_NAME = "openbikesharing.sqlite";
28 | private static final int DB_VERSION = 1;
29 |
30 | public static final String STATIONS_TABLE_NAME = "stations";
31 | public static final String STATIONS_COLUMN_ID = "id";
32 | public static final String STATIONS_COLUMN_NAME = "name";
33 | public static final String STATIONS_COLUMN_LAST_UPDATE = "last_update";
34 | public static final String STATIONS_COLUMN_LATITUDE = "latitude";
35 | public static final String STATIONS_COLUMN_LONGITUDE = "longitude";
36 | public static final String STATIONS_COLUMN_FREE_BIKES = "free_bikes";
37 | public static final String STATIONS_COLUMN_EMPTY_SLOTS = "empty_slots";
38 | public static final String STATIONS_COLUMN_ADDRESS = "address";
39 | public static final String STATIONS_COLUMN_BANKING = "banking";
40 | public static final String STATIONS_COLUMN_BONUS = "bonus";
41 | public static final String STATIONS_COLUMN_STATUS = "status";
42 |
43 | public static final String FAV_STATIONS_TABLE_NAME = "fav_stations";
44 | public static final String FAV_STATIONS_COLUMN_ID = "id";
45 |
46 | public static DatabaseHelper getInstance(Context context) {
47 | if (instance == null) {
48 | instance = new DatabaseHelper(context.getApplicationContext());
49 | }
50 | return instance;
51 | }
52 |
53 | private DatabaseHelper(Context context) {
54 | super(context, DB_NAME, null, DB_VERSION);
55 | }
56 |
57 | @Override
58 | public void onCreate(SQLiteDatabase db) {
59 |
60 | db.execSQL("CREATE TABLE " + STATIONS_TABLE_NAME
61 | + "(id TEXT PRIMARY KEY, name TEXT NOT NULL, last_update TEXT NOT NULL, "
62 | + "latitude NUMERIC NOT NULL, longitude NUMERIC NOT NULL, "
63 | + "free_bikes INTEGER NOT NULL, empty_slots INTEGER NOT NULL, "
64 | + "address TEXT, banking INTEGER, bonus INTEGER, status TEXT)"
65 | );
66 | db.execSQL("CREATE TABLE " + FAV_STATIONS_TABLE_NAME
67 | + "(id TEXT PRIMARY KEY)"
68 | );
69 | }
70 |
71 | @Override
72 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
73 |
74 | }
75 |
76 | }
77 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/models/Station.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.models;
19 |
20 | import java.io.Serializable;
21 |
22 | /**
23 | * Represents a bike station.
24 | */
25 | public class Station implements Serializable, Comparable {
26 | private String id;
27 | private String name;
28 | private String lastUpdate;
29 | private double latitude;
30 | private double longitude;
31 | private int freeBikes;
32 | private int emptySlots;
33 |
34 | private String address;
35 | private Boolean banking;
36 | private Boolean bonus;
37 | private StationStatus status;
38 |
39 | public Station(String id, String name, String lastUpdate, double latitude, double longitude, int freeBikes, int emptySlots) {
40 | this.id = id;
41 | this.name = name;
42 | this.lastUpdate = lastUpdate;
43 | this.latitude = latitude;
44 | this.longitude = longitude;
45 | this.freeBikes = freeBikes;
46 | this.emptySlots = emptySlots;
47 |
48 | this.address = null;
49 | this.banking = null;
50 | this.bonus = null;
51 | this.status = null;
52 | }
53 |
54 | public String getId() {
55 | return id;
56 | }
57 |
58 | public String getName() {
59 | return name;
60 | }
61 |
62 | public String getLastUpdate() {
63 | return lastUpdate;
64 | }
65 |
66 | public double getLongitude() {
67 | return longitude;
68 | }
69 |
70 | public double getLatitude() {
71 | return latitude;
72 | }
73 |
74 | public int getFreeBikes() {
75 | return freeBikes;
76 | }
77 |
78 | public int getEmptySlots() {
79 | return emptySlots;
80 | }
81 |
82 | public String getAddress() {
83 | return address;
84 | }
85 |
86 | public void setAddress(String address) {
87 | this.address = address;
88 | }
89 |
90 | public Boolean isBanking() {
91 | return banking;
92 | }
93 |
94 | public Boolean isBonus() {
95 | return bonus;
96 | }
97 |
98 | public StationStatus getStatus() {
99 | return status;
100 | }
101 |
102 | public void setStatus(StationStatus status) {
103 | this.status = status;
104 | }
105 |
106 | public void setBanking(boolean banking) {
107 | this.banking = banking;
108 | }
109 |
110 | public void setBonus(boolean bonus) {
111 | this.bonus = bonus;
112 | }
113 |
114 | @Override
115 | public int compareTo(Station another) {
116 | return name.compareToIgnoreCase(another.getName()) > 0 ? 1 :
117 | (name.compareToIgnoreCase(another.getName()) < 0 ? -1 : 0);
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/bonuspack_bubble.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
23 |
24 |
29 |
30 |
38 |
39 |
48 |
49 |
54 |
55 |
62 |
63 |
71 |
72 |
78 |
79 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/station_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
19 |
20 |
27 |
28 |
39 |
40 |
48 |
49 |
57 |
58 |
64 |
65 |
73 |
74 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 连接错误
3 | 取得数据时出现问题
4 |
5 | 设置
6 | 刷新
7 | 地图
8 | 导航
9 | 收藏
10 | 我的位置
11 | 搜索
12 |
13 | 单车站
14 | 单车站
15 | 选择一个网络
16 | 地图
17 | 设置
18 |
19 | 请先在清单中选择一个单车网络。
20 | \n另外,请确保你有可用的网络连接。
21 | 确定
22 | 取消
23 | 欢迎
24 |
25 | 找不到位置
26 | 已选取
27 | 请等待单车网络下载完毕
28 |
29 | 收藏中的单车站
30 | 没有收藏单车站
31 |
32 | 空置单车:
33 | 空位:
34 | 全部单车站
35 | 收藏
36 | 附近
37 | 没有单车站
38 | 没有收藏中的单车站
39 | 附近没有单车站
40 | 已收藏单车站
41 | 已从收藏移除
42 | 你没有安装任何导航应用
43 | 额外单车站
44 | 接受的银行卡
45 | 最近更新:%1$s
46 | 从未更新
47 | 刚更新
48 |
49 | - %d分钟前
50 |
51 |
52 | - %d小时前
53 |
54 |
55 | - %d天前
56 |
57 |
58 | 通用
59 | 选择一个网络
60 | 许可协议
61 | 关于
62 | 网站
63 | 源代码
64 | 开发者网站
65 | 捐赠比特币
66 | CityBikes API
67 | osmdroid工具库
68 | OSMBonusPack工具库
69 | OpenStreetMap
70 | 版本
71 | 地图图层
72 | 移除单车站编码
73 | 从单车站名移除编码(仅适用于部分网络)
74 | 高级
75 | API URL
76 | 默认分页
77 |
78 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 連接錯誤
3 | 取得數據時出現問題
4 |
5 | 設定
6 | 重新整理
7 | 地圖
8 | 導航
9 | 收藏
10 | 我的位置
11 | 搜尋
12 |
13 | 單車站
14 | 單車站
15 | 選擇一個網絡
16 | 地圖
17 | 設定
18 |
19 | 請先從列表選擇一個單車網絡。
20 | \n另外,請確保您有可用的網絡連線。
21 | 確定
22 | 取消
23 | 歡迎
24 |
25 | 找不到位置
26 | 已選取
27 | 請等待單車網絡下載完畢
28 |
29 | 收藏中的單車站
30 | 沒有收藏單車站
31 |
32 | 空置單車:
33 | 空位:
34 | 全部單車站
35 | 收藏
36 | 附近
37 | 沒有單車站
38 | 沒有收藏中的單車站
39 | 附近沒有單車站
40 | 已收藏單車站
41 | 已從收藏移除單車站
42 | 您沒有安裝任何導航應用程式
43 | 額外單車站
44 | 接受的銀行卡
45 | 最近更新:%1$s
46 | 從未更新
47 | 剛更新
48 |
49 | - %d分鐘前
50 |
51 |
52 | - %d小時前
53 |
54 |
55 | - %d天前
56 |
57 |
58 | 一般
59 | 選擇一個網絡
60 | 授權條款
61 | 關於
62 | 網站
63 | 原始碼
64 | 開發者網站
65 | 捐贈比特幣
66 | CityBikes API
67 | osmdroid工具庫
68 | OSMBonusPack工具庫
69 | OpenStreetMap
70 | 版本
71 | 地圖圖層
72 | 移除單車站編碼
73 | 從單車站名移除編碼(只適用於部分網絡)
74 | 進階
75 | API URL
76 | 預設分頁
77 |
78 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_widget_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
24 |
25 |
37 |
38 |
46 |
47 |
55 |
56 |
63 |
64 |
72 |
73 |
82 |
83 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/adapters/StationsListAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.adapters;
19 |
20 | import android.content.Context;
21 | import android.graphics.Paint;
22 | import android.view.LayoutInflater;
23 | import android.view.View;
24 | import android.view.ViewGroup;
25 | import android.widget.AbsListView;
26 | import android.widget.ArrayAdapter;
27 | import android.widget.ImageView;
28 | import android.widget.TextView;
29 |
30 | import java.util.ArrayList;
31 |
32 | import be.brunoparmentier.openbikesharing.app.R;
33 | import be.brunoparmentier.openbikesharing.app.models.Station;
34 | import be.brunoparmentier.openbikesharing.app.models.StationStatus;
35 |
36 | /**
37 | * Define a list of stations with their title, number of bikes and empty slots.
38 | */
39 | public class StationsListAdapter extends ArrayAdapter {
40 |
41 | public StationsListAdapter(Context context, int resource, ArrayList stations) {
42 | super(context, resource, stations);
43 | }
44 |
45 | @Override
46 | public View getView(int position, View convertView, ViewGroup parent) {
47 | View v = convertView;
48 |
49 | if (v == null) {
50 | LayoutInflater vi;
51 | vi = LayoutInflater.from(getContext());
52 | v = vi.inflate(R.layout.station_list_item, parent, false);
53 | }
54 |
55 | final Station station = getItem(position);
56 |
57 | if (station != null) {
58 | TextView stationNameTitle = (TextView) v.findViewById(R.id.stationNameTitle);
59 | TextView freeBikesValue = (TextView) v.findViewById(R.id.freeBikesValue);
60 | TextView emptySlotsValue = (TextView) v.findViewById(R.id.emptySlotsValue);
61 | StationStatus stationStatus = station.getStatus();
62 |
63 | if (stationNameTitle != null) {
64 | stationNameTitle.setText(station.getName());
65 |
66 | if (stationStatus == StationStatus.CLOSED) {
67 | stationNameTitle.setPaintFlags(stationNameTitle.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
68 | } else {
69 | stationNameTitle.setPaintFlags(stationNameTitle.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
70 | }
71 | }
72 |
73 | if (freeBikesValue != null) {
74 | int bikes = station.getFreeBikes();
75 | freeBikesValue.setText(String.valueOf(bikes));
76 | }
77 |
78 | if (emptySlotsValue != null) {
79 | int emptySlots = station.getEmptySlots();
80 | ImageView emptySlotsLogo = (ImageView) v.findViewById(R.id.emptySlotsLogo);
81 | if (emptySlots == -1) {
82 | emptySlotsLogo.setVisibility(View.GONE);
83 | emptySlotsValue.setVisibility(View.GONE);
84 | } else {
85 | emptySlotsLogo.setVisibility(View.VISIBLE);
86 | emptySlotsValue.setVisibility(View.VISIBLE);
87 | emptySlotsValue.setText(String.valueOf(emptySlots));
88 | }
89 | }
90 | }
91 |
92 | return v;
93 | }
94 | }
--------------------------------------------------------------------------------
/app/src/main/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 接続エラー
4 | データの取得中にエラー
5 |
6 | 設定
7 | 更新
8 | 地図
9 | 方向
10 | お気に入り
11 | 私の場所
12 | 検索
13 |
14 | ステーション
15 | ステーション
16 | ネットワークを選択
17 | 地図
18 | 設定
19 |
20 | " 開始する前に、一覧から自転車ネットワークを選択してください。\nまた、インターネットに接続していることを確認してください。 "
21 | OK
22 | キャンセル
23 | ようこそ
24 |
25 | 場所が見つかりません
26 | 選択しました
27 | 自転車ネットワークがダウンロードされるまでお待ちください
28 |
29 | お気に入りのステーション
30 | お気に入りのステーションはありません
31 |
32 | 無料レンタル自転車:
33 | 空の場所:
34 | すべてのステーション
35 | お気に入り
36 | 近く
37 | ステーションはありません
38 | お気に入りのステーションはありません
39 | 近くのステーションはありません
40 | ステーションをお気に入りに追加しました
41 | ステーションをお気に入りから削除しました
42 | ナビゲーション アプリケーションがインストールされていません
43 | ボーナス ステーション
44 | カード利用可
45 | 最終更新: %1$s
46 | なし
47 | ちょうど今
48 |
49 | - %d 分前
50 |
51 |
52 |
53 | - %d 時間前
54 |
55 |
56 |
57 | - %d 日前
58 |
59 |
60 |
61 | 全般
62 | ネットワークを選択
63 | ライセンス
64 | アプリについて
65 | ウェブサイト
66 | ソースコード
67 | 開発者のウェブサイト
68 | Bitcoin を寄付する
69 | CityBikes API
70 | osmdroid ライブラリ
71 | OSMBonusPack ライブラリ
72 | OpenStreetMap
73 | バージョン
74 | 地図レイヤー
75 | ステーション ID を取る
76 | " ステーション名から ID を削除します (一部のネットワークでのみ役立ちます) "
77 | 詳細
78 | API URL
79 | デフォルトのタブ
80 |
81 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
33 |
34 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
48 |
51 |
52 |
53 |
57 |
60 |
61 |
62 |
66 |
69 |
70 |
71 |
75 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
88 |
89 |
90 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/app/src/main/res/values-nb-rNO/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Forbindelsesfeil
4 | Feil under mottak av data
5 | Innstillinger
6 | Oppdater
7 | Kart
8 | Veivisninger
9 | Favoritt
10 | Min plassering
11 | Søk
12 | Stasjoner
13 | Stasjon
14 | Velg et nettverk
15 | Kart
16 | Innstillinger
17 | Før du begynner, velg et sykkelnettverk fra listen.
18 | \nSørg også for å være tilknyttet Internett.
19 | OK
20 | Avbryt
21 | Velkommen
22 | Sted ikke funnet
23 | valgt
24 | Vent mens sykkelnettverket blir lastet ned
25 | Foretrukne stasjoner
26 | Ingen foretrukne stasjoner
27 | Ledige sykler:
28 | Ledige plasser:
29 | Alle stasjoner
30 | Favoritter
31 | I nærheten
32 | Ingen stasjoner
33 | Ingen foretrukne stasjoner
34 | Ingen nærliggende stasjoner
35 | Stasjon foretrukket
36 | Stasjon fjernet fra foretrukne
37 | Du har ikke noe navigasjonsprogram installert
38 | Bonusstasjon
39 | Kort godtas
40 | Siste oppdatering: %1$s
41 | aldri
42 | Akkurat nå
43 |
44 | - %d minutt siden
45 | - %d minutter siden
46 |
47 |
48 | - %d time siden
49 | - %d timer siden
50 |
51 |
52 | - i går
53 | - %d dager siden
54 |
55 | Hovedinnstillinger
56 | Velg et nettverk
57 | Lisens
58 | Om
59 | Nettside
60 | Kildekode
61 | Utviklerens hjemmeside
62 | Doner Bitcoin
63 | CityBikes-API
64 | osmdroid-bibliotek
65 | OSMBonusPack-bibliotek
66 | OpenStreetMap
67 | Versjon
68 | Kartlag
69 | Skjul stasjons-ID
70 | Fjern ID fra stasjonsnavn (bare nyttig på noen nettverk)
71 | Avansert
72 | Nettadresse til API
73 | Forvalgt fane
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-da/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Forbindelsesfejl
3 | Fejl under hentning af data
4 |
5 | Indstillinger
6 | Opdater
7 | Kort
8 | Kørselsvejledning
9 | Favorit
10 | Min placering
11 | Søg
12 |
13 | Stationer
14 | Station
15 | Vælg et netværk
16 | Kort
17 | Indstillinger
18 |
19 | " Før du begynder, skal du vælge et cykelnetværk på listen.
20 | \nSørg også for at du er tilsluttet internettet. "
21 | OK
22 | Annuller
23 | Velkommen
24 |
25 | Sted ikke fundet
26 | valgt
27 | Vent, mens cykelnetværk bliver hentet
28 |
29 | Foretrukne stationer
30 | Ingen foretrukne stationer
31 |
32 | Ledige cykler:
33 | Tomme pladser:
34 | Alle stationer
35 | Favoritter
36 | Nærliggende
37 | Ingen stationer
38 | Ingen foretrukne stationer
39 | Ingen nærliggende stationer
40 | Station tilføjet til foretrukne
41 | Station fjernet fra favoritter
42 | Der er ikke installeret et navigationsprogram
43 | Bonusstation
44 | Kort accepteret
45 | Seneste opdatering: %1$s
46 | aldrig
47 | Lige nu
48 |
49 | - %d minut siden
50 | - %d minutter siden
51 |
52 |
53 | - %d time siden
54 | - %d timer siden
55 |
56 |
57 | - %d dag siden
58 | - %d dage siden
59 |
60 |
61 | Generelt
62 | Vælg et netværk
63 | Licens
64 | Om
65 | Hjemmeside
66 | Kildekode
67 | Udviklerens hjemmeside
68 | Doner Bitcoin
69 | CityBikes API
70 | osmdroid bibliotek
71 | OSMBonusPack bibliotek
72 | OpenStreetMap
73 | Version
74 | Kortlag
75 | Skjul Stations-ID
76 | " Fjern ID fra stationens navn (kun nyttig for nogle netværk) "
77 | Avanceret
78 | API URL
79 | Standardfaneblad
80 |
81 |
--------------------------------------------------------------------------------
/app/src/main/res/values-gl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Lapela por omisión
4 | URL da API
5 | Avanzado
6 | Eliminar o ID do nome da estación (útil só nalgunhas redes)
7 | Quitar ID da estación
8 | Capa do mapa
9 | Versión
10 | OpenStreetMap
11 | biblioteca OSMBonusPack
12 | biblioteca osmdroid
13 | API CityBikes
14 | Doar Bitcoin
15 | Web das desenvolvedoras
16 | Código fonte
17 | Sitio web
18 | Acerca de
19 | Licenza
20 | Escolle unha rede
21 | Xeral
22 |
23 | - fai %d día
24 | - fai %d días
25 |
26 |
27 | - fai %d hora
28 | - fai %d horas
29 |
30 |
31 | - fai %d minuto
32 | - fai %d minutos
33 |
34 | Agora mesmo
35 | nunca
36 | Actualizao: %1$s
37 | Cartóns aceptados
38 | Estación bonus
39 | Non tes ningunha app de navegación instalada
40 | Estación eliminada das favoritas
41 | Estación engadida ás favoritas
42 | Sen estacións próximas
43 | Sen estacións favoritas
44 | Sen estacións
45 | Preto
46 | Favoritas
47 | Tódalas estacións
48 | Espazos baleiros:
49 | Bicis libres:
50 | Sen estacións favoritas
51 | Estacións favoritas
52 | Por favor agarda mentras se descarga a rede de bicicletas
53 | seleccionado
54 | Non se atopa o lugar
55 | Ben vida
56 | Cancelar
57 | Ok
58 | Antes de comezar, escolle unha rede de bicicletas na lista.
59 | \nAsegúrate tamén de que tes conexión a internet.
60 | Axustes
61 | Mapa
62 | Escolle unha rede
63 | Estación
64 | Estacións
65 | Buscar
66 | Onde estou
67 | Favorito
68 | Direccións
69 | Mapa
70 | Actualizar
71 | Axustes
72 | Fallo ó obter os datos
73 | Fallo de conexión
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Anslutningsfel
3 | Fel inträffade vid mottagning av data
4 |
5 | Inställningar
6 | Uppdatera
7 | Karta
8 | Riktningar
9 | Favorit
10 | Min plats
11 | Sök
12 |
13 | Stationer
14 | Station
15 | Välj ett nätverk
16 | Karta
17 | Inställningar
18 |
19 | " Innan du loggar in, vänligen välj ett cykelnätverk i listan.\nFörsäkra dig också om att du är ansluten till internet. "
20 | OK
21 | Avbryt
22 | Välkommen
23 |
24 | Platsen kunde inte hittas
25 | valt
26 | Vänligen vänta medans cykelnätverket laddas ner
27 |
28 | Favoritstationer
29 | Inga favoritstationer
30 |
31 | Gratis cyklar:
32 | Alla stationer
33 | Favoriter
34 | Närliggande
35 | Inga stationer
36 | Inga favoritstationer
37 | Inga närliggande stationer
38 | Stationen lades till i Favoriter
39 | Stationen togs bort från Favoriter
40 | Du har ingen applikation för navigation installerad
41 | Bonusstation
42 | Accepterade kort
43 | Senaste uppdatering: %1$s
44 | aldrig
45 | Just nu
46 |
47 | - %d minut sedan
48 | - %d minuter sedan
49 |
50 |
51 | - %d timme sedan
52 | - %d timmar sedan
53 |
54 |
55 | - %d dag sedan
56 | - %d dagar sedan
57 |
58 |
59 | Generell
60 | Välj ett nätverk
61 | Licens
62 | Om
63 | Hemsida
64 | Källkod
65 | Utvecklarens hemsida
66 | Donera Bitcoin
67 | CityBikes API
68 | osmdroid-bibliotek
69 | OSMBonusPack-bibliotek
70 | OpenStreetMap
71 | Version
72 | Kartlager
73 | " Ta bort ID från stationsnamnet (endast användbart för vissa nätverk) "
74 | Avancerat
75 | URL för API
76 | Standardflik
77 | Tomma luckor:
78 | Skala bort stations-ID
79 |
80 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Error de connexió
3 | Configuració
4 | Refresca
5 | Mapa
6 | Indicacions
7 | Preferida
8 | La meva ubicació
9 | Cerca
10 |
11 | Estacions
12 | Estació
13 | Trieu una xarxa
14 | Mapa
15 | Configuració
16 |
17 | Abans de començar, trieu una xarxa de bicicletes de la llista.
18 | \nAssegureu-vos d\'estar connectats a Internet.
19 | D\'acord
20 | Cancel·la
21 | Benvinguts
22 |
23 | Ubicació no trobada
24 | seleccionat
25 | Espereu mentre es baixa la xarxa de bicicletes
26 |
27 | Estacions preferides
28 | No hi ha estacions preferides
29 |
30 | Bicis lliures:
31 | Buits:
32 | Totes les estacions
33 | Preferides
34 | A prop
35 | Cap estació
36 | No hi ha estacions preferides
37 | No hi ha estacions a prop
38 | Estació afegida a preferides
39 | Estació suprimida de preferides
40 | No teniu cap aplicació de navegació instal·lada
41 | Darrera actualització: %1$s
42 | mai
43 | Ara
44 |
45 | - fa %d minut
46 | - fa %d minuts
47 |
48 |
49 | - fa %d hora
50 | - fa %d hores
51 |
52 |
53 | - fa %d dia
54 | - fa %d dies
55 |
56 |
57 | Trieu una xarxa
58 | Llicència
59 | Codi font
60 | Doneu Bitcoin
61 | Versió
62 | Capa de mapa
63 | avançat
64 | Error en obtenir dades
65 |
66 | Estació de bonificació
67 | Accepten targetes
68 | General
69 | Sobre
70 | Pàgina web
71 | Lloc web del programador
72 | API de CityBikes
73 | Biblioteca OSMdroid
74 | Biblioteca OSMBonusPack
75 | OpenStreetMap
76 | Treure ID de l\'estació
77 | Eliminar l\'ID del nom de l\'estació (útil només en algunes xarxes)
78 | URL de l\'API
79 | Pestanya per defecte
80 |
81 |
--------------------------------------------------------------------------------
/app/src/main/res/values-fi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Ohjelmointirajapinnan osoite
4 | Oletusvälilehti
5 | Edistynyt
6 | Poista tunnus aseman nimestä (hyödyllinen vain joissain verkoissa)
7 | Poista aseman tunnus
8 | Karttataso
9 | Versio
10 | OpenStreetMap
11 | OSMBonusPack-kirjasto
12 | osmdroid-kirjasto
13 | CityBikes-ohjelmointirajapinta
14 | Lahjoita Bitcoineja
15 | Kehittäjän verkkosivusto
16 | Lähdekoodi
17 | Verkkosivusto
18 | Tietoja
19 | Lisenssi
20 | Valitse verkko
21 | Yleiset
22 |
23 | - %d päivä sitten
24 | - %d päivää sitten
25 |
26 |
27 | - %d tunti sitten
28 | - %d tuntia sitten
29 |
30 |
31 | - %d minuutti sitten
32 | - %d minuuttia sitten
33 |
34 | Juuri äsken
35 | ei koskaan
36 | Viimeisin päivitys: %1$s
37 | Kortit hyväksytään
38 | Bonusasema
39 | Sinulla ei ole mitään navigointisovellusta asennettuna
40 | Asema poistettu suosikeista
41 | Asema lisätty suosikkeihin
42 | Ei asemia lähistöllä
43 | Ei suosikkiasemia
44 | Ei asemia
45 | Lähistöllä
46 | Suosikit
47 | Kaikki asemat
48 | Tyhjät paikat:
49 | Vapaat polkupyörät:
50 | Ei suosikkiasemia
51 | Suosikkiasemat
52 | Odota, kun pyöräilyverkkoa ladataan
53 | valittu
54 | Sijaintia ei löytynyt
55 | Tervetuloa
56 | Peruuta
57 | OK
58 | Ennen kuin aloitat, valitse pyöräilyverkko luettelosta.
59 | \nVarmista myös, että sinulla on Internet-yhteys.
60 | Asetukset
61 | Kartta
62 | Valitse verkko
63 | Asema
64 | Asemat
65 | Etsi
66 | Sijaintini
67 | Lisää suosikiksi
68 | Reittiohjeet
69 | Kartta
70 | Päivitä
71 | Asetukset
72 | Virhe noudettaessa tietoja
73 | Yhteysvirhe
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-he/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | שגיאת חיבור
4 | קבלת הנתונים נכשלה
5 | הגדרות
6 | רענון
7 | מפה
8 | הנחיות
9 | מועדף
10 | המיקום שלי
11 | חיפוש
12 | תחנות
13 | תחנה
14 | בחירת רשת
15 | מפה
16 | הגדרות
17 | לפני שנתחיל, נא לבחור מפת אופניים מהרשימה.
18 | \nיש גם לוודא שיש לך חיבור לאינטרנט.
19 | אישור
20 | ביטול
21 | ברוך בואך
22 | המיקום לא נמצא
23 | נבחרו
24 | נא להמתין בזמן הורדת רשת האופניים
25 | תחנות מועדפות
26 | אין תחנות מועדפות
27 | אופניים בחינם:
28 | חניות ריקות:
29 | כל התחנות
30 | מועדפים
31 | בקרבת מקום
32 | אין תחנות
33 | אין תחנות מועדפות
34 | אין תחנות בקרבת מקום
35 | התחנה נוספה למועדפים
36 | התחנה הוסרה מהמועדפים
37 | אין לך אף יישומון ניווט מותקן
38 | תחנת בונוס
39 | כרטיסים מכובדים
40 | עדכון אחרון: %1$s
41 | מעולם לא
42 | כרגע
43 |
44 | - לפני דקה
45 | - לפני %d דקות
46 | - לפני %d דקות
47 | - לפני %d דקות
48 |
49 |
50 | - לפני שעה
51 | - לפני שעתיים
52 | - לפני %d שעות
53 | - לפני %d שעות
54 |
55 |
56 | - אתמול
57 | - שלשום
58 | - לפני %d ימים
59 | - לפני %d ימים
60 |
61 | כללי
62 | בחירת רשת
63 | רשיון
64 | על אודות
65 | אתר
66 | קוד מקור
67 | אתר המפתחים
68 | תרומה בביטקוין
69 | ה־API של CityBikes
70 | ספריית osmdroid
71 | ספריית OSMBonusPack
72 | OpenStreetMap
73 | גרסה
74 | שכבת מפה
75 | קיצור מזהה התחנה
76 | הסרת המזהה משם התחנה (מועיל בחלק מהרשתות)
77 | מתקדם
78 | כתובת API
79 | לשונית בררת מחדל
80 |
--------------------------------------------------------------------------------
/app/src/main/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Erro de conexão
4 | Erro ao recuperar dados
5 | Configurações
6 | Refrescar
7 | Mapa
8 | Direções
9 | Favorito
10 | Minha localização
11 | Buscar
12 | Estações
13 | Estação
14 | Selecione uma rede
15 | Mapa
16 | Ajustes
17 | Antes de começar, por favor escolha uma rede de bicicletas na lista.
18 | \nCertifique-se também que está cornetado à Internet.
19 | OK
20 | Cancelar
21 | Bem-Vindo
22 | Localização não encontrada
23 | selecionado
24 | Por favor aguarde enquanto a rede de bicicletas está sendo baixada
25 | Estações favoritas
26 | Sem estações favoritas
27 | Bicicletas livres:
28 | As caça-níqueis vazias:
29 | Todas as estações
30 | Favoritas
31 | Perto
32 | Sem estações
33 | Sem estações favoritas
34 | Não há estações por perto
35 | Estação adicionada às favoritas
36 | Estação retirada das favoritas
37 | Você não tem nenhum aplicativo de navegação instalado
38 | Estação bônus
39 | Cartões aceites
40 | Última atualização: %1$s
41 | nunca
42 | Agora mesmo
43 |
44 | - Há %d minuto
45 | - Há %d minutos
46 |
47 |
48 | - Há %d hora
49 | - Há %d horas
50 |
51 |
52 | - Há %d dia
53 | - Há %d dias
54 |
55 | Geral
56 | Escolha uma rede
57 | Licença
58 | Acerca
59 | Website
60 | Código-fonte
61 | Site do desenvolvedor
62 | Doe Bitcoin
63 | API do CityBikes
64 | Biblioteca osmdroid
65 | Biblioteca OSMBonusPack
66 | OpenStreetMap
67 | Versão
68 | Mapa
69 | Ocultar identificador da estação
70 | Retire o identificador do nome da estação (útil apenas para algumas redes)
71 | Avançado
72 | URL do API
73 | Separador padrão
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-nl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Verbindingsfout
4 | Kan gegevens niet ophalen
5 | Instellingen
6 | Herladen
7 | Kaart
8 | Navigatie
9 | Toev. aan favorieten
10 | Mijn locatie
11 | Zoeken
12 | Stallingen
13 | Stalling
14 | Kies een netwerk
15 | Kaart
16 | Instellingen
17 | Kies een fietsnetwerk uit de lijst.
18 | \nZorg ervoor dat je verbonden bent met het internet.
19 | Oké
20 | Annuleren
21 | Welkom
22 | Locatie niet gevonden
23 | geselecteerd
24 | Het fietsnetwerk wordt opgehaald; even geduld
25 | Favoriete stallingen
26 | Geen favoriete stallingen
27 | Beschikbare fietsen:
28 | Lege plekken:
29 | Alle stallingen
30 | Favorieten
31 | In de buurt
32 | Geen stallingen
33 | Geen favoriete stallingen
34 | Geen stalling in de buurt
35 | De stalling is toegevoegd aan je favorieten
36 | De stalling is verwijderd uit je favorieten
37 | Je hebt geen navigatie-app op je telefoon
38 | Extra stalling
39 | Accepteert betaalkaarten
40 | Bijgewerkt: %1$s
41 | nooit
42 | Zojuist
43 |
44 | - %d minuut geleden
45 | - %d minuten geleden
46 |
47 |
48 | - %d uur geleden
49 | - %d uur geleden
50 |
51 |
52 | - %d dag geleden
53 | - %d dagen geleden
54 |
55 | Algemeen
56 | Kies een netwerk
57 | Licentie
58 | Over
59 | Website
60 | Broncode
61 | Website van ontwikkelaar
62 | Bitcoins doneren
63 | CityBikes-API
64 | osmdroid-bibliotheek
65 | OSMBonusPack-bibliotheek
66 | OpenStreetMap
67 | Versie
68 | Kaartlaag
69 | Stalling-id verbergen
70 | Verbergt de id uit de naam van de stalling (alleen handig in sommige netwerken)
71 | Geavanceerd
72 | API-url
73 | Standaard tabblad
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Kapcsolódási hiba
4 | Hiba az adatok lekérésekor
5 | Beállítások
6 | Frissítés
7 | Térkép
8 | Irányok
9 | Kedvenc
10 | Saját hely
11 | Keresés
12 | Állomások
13 | Állomás
14 | Hálózat kiválasztása
15 | Térkép
16 | Beállítások
17 | " Mielőtt elkezdené, válasszon egy kerékpárhálózatot a listából.
18 | \nGyőződjön meg arról is, hogy kapcsolódik-e az internethez. "
19 | OK
20 | Mégse
21 | Üdvözöljük
22 | A hely nem található
23 | kiválasztva
24 | Kérjük várjon, amíg a kerékpárhálózat letöltődik
25 | Kedvenc állomások
26 | Nincsenek kedvenc állomások
27 | Szabad kerékpárok:
28 | Üres tárolóhelyek:
29 | Összes állomás
30 | Kedvencek
31 | Közeli
32 | Nincsenek állomások
33 | Nincsenek kedvenc állomások
34 | Nincsenek közeli állomások
35 | Az állomás hozzáadva a kedvencekhez
36 | Az állomás eltávolítva a kedvencek közül
37 | Nincs semmilyen navigációs alkalmazás telepítve
38 | Bónusz állomás
39 | Elfogadott kártyák
40 | Utolsó frissítés: %1$s
41 | soha
42 | Éppen most
43 |
44 | - %d perccel ezelőtt
45 | - %d perccel ezelőtt
46 |
47 |
48 | - %d órával ezelőtt
49 | - %d órával ezelőtt
50 |
51 |
52 | - %d nappal ezelőtt
53 | - %d nappal ezelőtt
54 |
55 | Általános
56 | Hálózat kiválasztása
57 | Licenc
58 | Névjegy
59 | Weboldal
60 | Forráskód
61 | Fejlesztő weboldala
62 | Bitcoin adományozása
63 | CityBikes API
64 | osmdroid programkönyvtár
65 | OSMBonusPack programkönyvtár
66 | OpenStreetMap
67 | Verzió
68 | Térképréteg
69 | Állomásazonosító felvágása
70 | " Azonosító eltávolítása az állomás nevéből (csak néhány hálózatnál hasznos) "
71 | Speciális
72 | API URL
73 | Alapértelmezett lap
74 |
--------------------------------------------------------------------------------
/app/src/main/res/values-hr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Greška u vezi
4 | Greška pri dohvaćanju podataka
5 | Postavke
6 | Aktualiziraj
7 | Karta
8 | Upute
9 | Favorit
10 | Moja lokacija
11 | Traži
12 | Stanice
13 | Stanica
14 | Odaberi mrežu
15 | Karta
16 | Postavke
17 | Prije nego što počneš, odaberi biciklističku mrežu u popisu.
18 | \nTakođer provjeri vezu s internetom.
19 | U redu
20 | Odustani
21 | Pozdrav
22 | Lokacija nije pronađena
23 | odabrano
24 | Pričekaj dok se preuzima biciklistička mreža
25 | Omiljene stanice
26 | Nema omiljenih stanica
27 | Slobodni bicikli:
28 | Nezauzeti termini:
29 | Sve stanice
30 | Favoriti
31 | U blizini
32 | Nema stanica
33 | Nema favoriziranih stanica
34 | Nema stanica u blizini
35 | Stanica dodana u omiljene
36 | Stanica uklonjena iz omiljenih
37 | Nemaš nijedan instalirani program za navigaciju
38 | Stanica s popustom
39 | Kartice koje se prihvaćaju
40 | Zadnje aktualiziranje: %1$s
41 | nikada
42 | Upravo sada
43 |
44 | - prije %d minute
45 | - prije %d minute
46 | - prije %d minuta
47 |
48 |
49 | - prije %d sat
50 | - prije %d sata
51 | - prije %d sati
52 |
53 |
54 | - prije %d dan
55 | - prije %d dana
56 | - prije %d dana
57 |
58 | Opće
59 | Odaberi mrežu
60 | Licenca
61 | Informacije
62 | Web stranica
63 | Izvorni kȏd
64 | Web-stranica programera
65 | Doniraj Bitcoin
66 | Sučelje za CityBikes
67 | biblioteka osmdroid
68 | Bobilioteka OSMBonusPack
69 | OpenStreetMap
70 | Verzija
71 | Sloj karte
72 | Ukloni ID stanice
73 | Ukloni ID iz imena stanice (korisno samo za neke merže)
74 | Napredno
75 | URL sučelja
76 | Standardna kartica
77 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Поиск
4 | Моё местоположение
5 | Избранное
6 | Направления
7 | Карта
8 | Обновить
9 | Настройки
10 | Ошибка соединения
11 | API URL
12 | Слой карты
13 | Версия
14 | OpenStreetMap
15 | библиотека OSMBonusPack
16 | библиотека osmdroid
17 | CityBikes API
18 | Пожертвование с помощью Bitcoin
19 | Сайт разработчика
20 | Веб-сайт
21 | Инфо
22 | Лицензия
23 | Выбрать сеть
24 | Общее
25 |
26 | - %d день назад
27 | - %d дня назад
28 | - %d дней назад
29 | - %d дней назад
30 |
31 |
32 | - %d час назад
33 | - %d часа назад
34 | - %d часов назад
35 | - %d часов назад
36 |
37 |
38 | - %d минуту назад
39 | - %d минуты назад
40 | - %d минут назад
41 | - %d минут назад
42 |
43 | Только что
44 | никогда
45 | Последнее обновление: %1$s
46 | Принимаются пластиковые карты
47 | У вас не установлено ни одного навигационного приложения
48 | Ближайшие
49 | Избранное
50 | Пустые слоты:
51 | выбрано
52 | Место не найдено
53 | Добро пожаловать
54 | Отмена
55 | Ок
56 | Настройки
57 | Карта
58 | Выбрать сеть
59 | Избранные станции
60 | Свободные велосипеды:
61 | Все станции
62 | Нет станций
63 | Нет избранных станций
64 | Станция добавлена в избранные
65 | Станции
66 | Станция
67 | Нет избранных станций
68 | Исходный код
69 | Премиальная станция
70 | Станция удалена из избранного
71 | Ошибка при извлечении данных
72 | Перед началом работы, пожалуйста, выберите велосипедную сеть в списке.
73 | \nТакже убедитесь, что вы подключены к Интернету.
74 | Пожалуйста, подождите, пока загружается велосипедная сеть
75 | Отсутствуют близлежащие станций
76 | Вкладка по умолчанию
77 | Удалить ID из названия станции (полезно только для некоторых сетей)
78 | Расширенный
79 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/fragments/StationsListFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014-2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.fragments;
19 |
20 | import android.app.Activity;
21 | import android.content.Intent;
22 | import android.os.Bundle;
23 | import android.support.v4.app.Fragment;
24 | import android.support.v4.widget.SwipeRefreshLayout;
25 | import android.view.LayoutInflater;
26 | import android.view.View;
27 | import android.view.ViewGroup;
28 | import android.widget.AbsListView;
29 | import android.widget.AdapterView;
30 | import android.widget.ListView;
31 | import android.widget.TextView;
32 |
33 | import java.util.ArrayList;
34 |
35 | import be.brunoparmentier.openbikesharing.app.R;
36 | import be.brunoparmentier.openbikesharing.app.activities.StationActivity;
37 | import be.brunoparmentier.openbikesharing.app.adapters.StationsListAdapter;
38 | import be.brunoparmentier.openbikesharing.app.models.Station;
39 |
40 | public class StationsListFragment extends Fragment {
41 | private static final String KEY_STATION = "station";
42 | private static final String KEY_STATIONS = "stations";
43 | private static final String KEY_EMPTY_LIST_RESOURCE_ID = "emptyListResourceId";
44 |
45 | private ArrayList stations;
46 | private StationsListAdapter stationsListAdapter;
47 | private int emptyListResourceId;
48 |
49 | /* newInstance constructor for creating fragment with arguments */
50 | public static StationsListFragment newInstance(ArrayList stations, int emptyListResourceId) {
51 | StationsListFragment stationsListFragment = new StationsListFragment();
52 | Bundle args = new Bundle();
53 | args.putSerializable(KEY_STATIONS, stations);
54 | args.putInt(KEY_EMPTY_LIST_RESOURCE_ID, emptyListResourceId);
55 | stationsListFragment.setArguments(args);
56 | return stationsListFragment;
57 | }
58 |
59 | @Override
60 | public void onCreate(Bundle savedInstanceState) {
61 | super.onCreate(savedInstanceState);
62 | stations = (ArrayList) getArguments().getSerializable(KEY_STATIONS);
63 | emptyListResourceId = getArguments().getInt(KEY_EMPTY_LIST_RESOURCE_ID);
64 |
65 | stationsListAdapter = new StationsListAdapter(getActivity(),
66 | R.layout.station_list_item, stations);
67 | }
68 |
69 | @Override
70 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
71 | View view = inflater.inflate(R.layout.fragment_stations_list, container, false);
72 | ListView listView = (ListView) view.findViewById(R.id.stationsListView);
73 | listView.setAdapter(stationsListAdapter);
74 | TextView emptyView = (TextView) view.findViewById(R.id.emptyList);
75 | emptyView.setText(emptyListResourceId);
76 | listView.setEmptyView(view.findViewById(R.id.emptyList));
77 | listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
78 | @Override
79 | public void onItemClick(AdapterView> parent, View view,
80 | int position, long id) {
81 | Intent intent = new Intent(getActivity(), StationActivity.class);
82 | intent.putExtra(KEY_STATION, stations.get(position));
83 | startActivity(intent);
84 | }
85 | });
86 | listView.setOnScrollListener(new AbsListView.OnScrollListener() {
87 | @Override
88 | public void onScrollStateChanged(AbsListView view, int scrollState) {
89 |
90 | }
91 |
92 | @Override
93 | public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
94 | SwipeRefreshLayout refreshLayout = (SwipeRefreshLayout) getActivity().findViewById(R.id.swipe_container);
95 | if(firstVisibleItem == 0) refreshLayout.setEnabled(true);
96 | else refreshLayout.setEnabled(false);
97 | }
98 | });
99 | return view;
100 | }
101 |
102 | public void updateStationsList(ArrayList stations) {
103 | if (stationsListAdapter != null) {
104 | stationsListAdapter.clear();
105 | stationsListAdapter.addAll(stations);
106 | stationsListAdapter.notifyDataSetChanged();
107 | }
108 | }
109 |
110 | }
111 |
--------------------------------------------------------------------------------
/app/src/main/java/be/brunoparmentier/openbikesharing/app/widgets/StationsListAppWidgetService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Bruno Parmentier. This file is part of OpenBikeSharing.
3 | *
4 | * OpenBikeSharing is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OpenBikeSharing is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with OpenBikeSharing. If not, see .
16 | */
17 |
18 | package be.brunoparmentier.openbikesharing.app.widgets;
19 |
20 | import android.appwidget.AppWidgetManager;
21 | import android.content.Context;
22 | import android.content.Intent;
23 | import android.os.Bundle;
24 | import android.widget.RemoteViews;
25 | import android.widget.RemoteViewsService;
26 |
27 | import java.util.ArrayList;
28 | import java.util.List;
29 |
30 | import be.brunoparmentier.openbikesharing.app.R;
31 | import be.brunoparmentier.openbikesharing.app.db.StationsDataSource;
32 | import be.brunoparmentier.openbikesharing.app.models.Station;
33 |
34 | public class StationsListAppWidgetService extends RemoteViewsService {
35 | @Override
36 | public RemoteViewsFactory onGetViewFactory(Intent intent) {
37 | return new StationsListAppWidgetFactory(this.getApplicationContext(), intent);
38 | }
39 | }
40 |
41 | class StationsListAppWidgetFactory implements RemoteViewsService.RemoteViewsFactory {
42 | private List stations = new ArrayList<>();
43 | private Context mContext;
44 | private int mAppWidgetId;
45 | private StationsDataSource stationsDataSource;
46 |
47 | public StationsListAppWidgetFactory(Context context, Intent intent) {
48 | mContext = context;
49 | mAppWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
50 | AppWidgetManager.INVALID_APPWIDGET_ID);
51 | }
52 |
53 | @Override
54 | public void onCreate() {
55 | // In onCreate() you setup any connections / cursors to your data source. Heavy lifting,
56 | // for example downloading or creating content etc, should be deferred to onDataSetChanged()
57 | // or getViewAt(). Taking more than 20 seconds in this call will result in an ANR.
58 | stationsDataSource = new StationsDataSource(mContext);
59 | stations = stationsDataSource.getFavoriteStations();
60 | }
61 |
62 | @Override
63 | public void onDataSetChanged() {
64 | // This is triggered when you call AppWidgetManager notifyAppWidgetViewDataChanged
65 | // on the collection view corresponding to this factory. You can do heaving lifting in
66 | // here, synchronously. For example, if you need to process an image, fetch something
67 | // from the network, etc., it is ok to do it here, synchronously. The widget will remain
68 | // in its current state while work is being done here, so you don't need to worry about
69 | // locking up the widget.
70 |
71 | stations = stationsDataSource.getFavoriteStations();
72 | }
73 |
74 | @Override
75 | public void onDestroy() {
76 | // In onDestroy() you should tear down anything that was setup for your data source,
77 | // eg. cursors, connections, etc.
78 | stations.clear();
79 | }
80 |
81 | @Override
82 | public int getCount() {
83 | return stations.size();
84 | }
85 |
86 | @Override
87 | public RemoteViews getViewAt(int position) {
88 | // We construct a remote views item based on our widget item xml file, and set the
89 | // text based on the position.
90 | RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.app_widget_item);
91 | rv.setTextViewText(R.id.widgetStationNameTitle, stations.get(position).getName());
92 | rv.setTextViewText(R.id.widgetFreeBikesValue, String.valueOf(stations.get(position).getFreeBikes()));
93 | rv.setTextViewText(R.id.widgetEmptySlotsValue, String.valueOf(stations.get(position).getEmptySlots()));
94 |
95 | // Next, we set a fill-intent which will be used to fill-in the pending intent template
96 | // which is set on the collection view in StationsListAppWidgetProvider.
97 | Bundle extras = new Bundle();
98 | extras.putInt(StationsListAppWidgetProvider.EXTRA_ITEM, position);
99 | Intent fillInIntent = new Intent();
100 | fillInIntent.putExtras(extras);
101 | rv.setOnClickFillInIntent(R.id.widgetLayout, fillInIntent);
102 |
103 | // Return the remote views object.
104 | return rv;
105 | }
106 |
107 | @Override
108 | public RemoteViews getLoadingView() {
109 | return null;
110 | }
111 |
112 | @Override
113 | public int getViewTypeCount() {
114 | return 1;
115 | }
116 |
117 | @Override
118 | public long getItemId(int position) {
119 | return position;
120 | }
121 |
122 | @Override
123 | public boolean hasStableIds() {
124 | return true;
125 | }
126 | }
127 |
--------------------------------------------------------------------------------
/app/src/main/res/values-pt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 | Erro de conexão
20 | Erro ao recuperar dados
21 |
22 | Configurações
23 | Atualizar
24 | Mapa
25 | Direções
26 | Favorito
27 | Minha localização
28 | Procurar
29 |
30 | Estações
31 | Estação
32 | Selecione uma rede
33 | Mapa
34 | Configurações
35 |
36 | " Antes de começar, escolha uma rede de bicicletas na lista.
37 | \nCertifique-se que está conectado à Internet. "
38 | OK
39 | Cancelar
40 | Bem-vindo
41 |
42 | Localização não encontrada
43 | selecionado
44 | Aguarde enquanto a rede de bicicletas está a ser descarregada
45 |
46 | Bicicletas livres:\u00A0
47 | Lugares vazios:
48 | Todas as estações
49 | Favoritos
50 | Estação adicionada aos favoritos
51 | Estação retirada dos favoritos
52 | Não tem nenhuma aplicação de navegação instalada
53 | Estação bónus
54 | Cartões aceites
55 | Última atualização: %1$s
56 | nunca
57 | Agora
58 |
59 | - Há %d minuto
60 | - Há %d minutos
61 |
62 |
63 | - Há %d hora
64 | - Há %d horas
65 |
66 |
67 | - Há %d dia
68 | - Há %d dias
69 |
70 |
71 | Geral
72 | Escolher uma rede
73 | Licença
74 | Sobre
75 | Site
76 | Código-fonte
77 | Site do programador
78 | Doar Bitcoins
79 | API do CityBikes
80 | Biblioteca osmdroid
81 | Biblioteca OSMBonusPack
82 | OpenStreetMap
83 | Versão
84 | Mapa
85 | Ocultar identificador da estação
86 | " Não mostrar o identificador do nome da estação (útil apenas para algumas redes) "
87 | Estações favoritas
88 | Sem estações favoritas
89 | Perto
90 | Sem estações
91 | Sem estações nos favoritos
92 | Não há estações por perto
93 | Avançado
94 | URL da API
95 | Separador padrão
96 |
--------------------------------------------------------------------------------
/app/src/main/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 | Errore di connessione
20 | Errore nel recupero dei dati
21 |
22 | Impostazioni
23 | Aggiorna
24 | Mappa
25 | Indicazioni
26 | Preferiti
27 | La mia posizione
28 | Cerca
29 |
30 | Stazioni
31 | Stazione
32 | Seleziona una rete
33 | Mappa
34 | Impostazioni
35 |
36 | " Prima di cominciare, seleziona la rete nella lista.
37 | \nVerifica di essere connesso a internet. "
38 | OK
39 | Annulla
40 | Benvenuto
41 |
42 | Posizione non trovata
43 | selezionata
44 | Attendi mentre la lista delle stazioni viene scaricata
45 |
46 | Bici disponibili:
47 | Posti vuoti:\u00A0
48 | Tutte le stazioni
49 | Preferite
50 | Stazione aggiunta alle preferite
51 | Stazione rimossa dalle preferite
52 | Non hai nessun navigatore installato
53 | Stazione bonus
54 | Carte accettate
55 | Ultimo aggiornamento: %1$s
56 | mai
57 | Poco fa
58 |
59 | - %d minuto fa
60 | - %d minuti fa
61 |
62 |
63 | - %d ora fa
64 | - %d ore fa
65 |
66 |
67 | - %d giorno fa
68 | - %d giorni fa
69 |
70 | Nascondi codice della stazione
71 |
72 | Generale
73 | Scegli una rete
74 | Licenza
75 | Dettagli
76 | Sito web
77 | Codice sorgente
78 | Sito dello sviluppatore
79 | Dona Bitcoin
80 | API CityBikes
81 | libreria osmdroid
82 | libreria OSMBonusPack
83 | OpenStreetMap
84 | Versione
85 | Mappa usata
86 |
87 | Rimuovi codice dal nome della stazione (utile solo per alcune reti)
88 |
89 | URL dell\'API
90 | Avanzato
91 | Nessuna stazione nelle vicinanze
92 | Nessuna stazione preferita
93 | Nessuna stazione
94 | Qui vicino
95 | Scheda predefinita
96 | Nessuna stazione preferita
97 | Stazioni preferite
98 |
--------------------------------------------------------------------------------