├── androidstudio
├── oeffi-studio
│ ├── .gitignore
│ ├── res
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_oeffi_ng_plans_color_48dp.xml
│ │ │ ├── ic_oeffi_ng_stations_color_48dp.xml
│ │ │ └── ic_oeffi_ng_directions_color_48dp.xml
│ │ └── drawable
│ │ │ └── ic_launcher_background.xml
│ ├── proguard-rules.pro
│ └── graphics
│ │ ├── ic_oeffi_stations_color_48dp-mdpi.svg
│ │ └── ic_oeffi_directions_color_48dp-mdpi.svg
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── .gitignore
├── build.gradle
├── settings.gradle
├── assetlinks.json
└── gradle.properties
├── oeffi-ng.jks
├── gradle.properties
├── .dockerignore
├── oeffi
├── .gitignore
├── res
│ ├── raw
│ │ ├── nav_alarm.mp3
│ │ ├── nav_remind_up.mp3
│ │ ├── nav_refresh_beep.mp3
│ │ ├── nav_remind_down.mp3
│ │ ├── nav_lowvolume_alarm.mp3
│ │ ├── nav_refresh_error.mp3
│ │ ├── nav_remind_downup.mp3
│ │ ├── nav_lowvolume_remind_up.mp3
│ │ ├── nav_lowvolume_remind_down.mp3
│ │ └── nav_lowvolume_remind_downup.mp3
│ ├── drawable-hdpi
│ │ ├── location_on.png
│ │ ├── da_marker_red.png
│ │ ├── location_off.png
│ │ ├── btn_zoom_up_normal.png
│ │ ├── btn_zoom_up_pressed.png
│ │ ├── btn_zoom_down_normal.png
│ │ ├── btn_zoom_down_pressed.png
│ │ ├── btn_zoom_up_disabled.png
│ │ ├── btn_zoom_down_disabled.png
│ │ ├── ic_station_grey600_24dp.png
│ │ ├── ic_maps_indicator_endpoint_list.png
│ │ ├── ic_maps_indicator_startpoint_list.png
│ │ ├── popup_dir_pointer_button_normal.9.png
│ │ └── popup_dir_pointer_button_selected.9.png
│ ├── drawable-mdpi
│ │ ├── capacity_1.png
│ │ ├── capacity_2.png
│ │ └── capacity_3.png
│ ├── drawable-nodpi
│ │ └── qr_update.png
│ ├── drawable-xhdpi
│ │ ├── network_ns_icon.png
│ │ ├── network_rt_icon.png
│ │ ├── network_se_icon.png
│ │ ├── network_dsb_icon.png
│ │ ├── network_sbb_icon.png
│ │ ├── network_bayern_icon.png
│ │ ├── ic_maps_product_default.png
│ │ ├── ic_station_grey600_24dp.png
│ │ └── nearest_favorite_station_widget_preview.png
│ ├── values
│ │ ├── select_map.xml
│ │ ├── flags.xml
│ │ ├── fare_types.xml
│ │ ├── strings_aquire_location.xml
│ │ ├── strings_error_reporter.xml
│ │ └── strings_untranslated.xml
│ ├── values-de
│ │ ├── select_map.xml
│ │ ├── fare_types.xml
│ │ ├── strings_aquire_location.xml
│ │ └── strings_error_reporter.xml
│ ├── values-night
│ │ └── dimens.xml
│ ├── xml
│ │ ├── device_admin_policies.xml
│ │ ├── locale_config.xml
│ │ ├── stations_searchable.xml
│ │ ├── file_provider.xml
│ │ ├── plan_searchable.xml
│ │ ├── plans_searchable.xml
│ │ ├── preference_extras.xml
│ │ ├── nearest_favorite_station_widget.xml
│ │ ├── accessibility_service_config.xml
│ │ ├── preference_shortcuts.xml
│ │ ├── network_security_config.xml
│ │ └── preference_headers.xml
│ ├── values-notnight-v29
│ │ ├── dimens.xml
│ │ ├── styes.xml
│ │ └── colors.xml
│ ├── values-h400dp
│ │ └── dimens.xml
│ ├── values-w486dp-land
│ │ └── dimens.xml
│ ├── drawable
│ │ ├── list_divider.xml
│ │ ├── space_24dp.xml
│ │ ├── space_48dp.xml
│ │ ├── ic_oeffi_plans.xml
│ │ ├── ic_oeffi_stations.xml
│ │ ├── ic_cancelled_24dp.xml
│ │ ├── ic_oeffi_directions.xml
│ │ ├── popup_dir_pointer_button.xml
│ │ ├── ic_menu_product_bus.xml
│ │ ├── ic_sound_white_24dp.xml
│ │ ├── ic_expand_black_24dp.xml
│ │ ├── ic_expand_white_24dp.xml
│ │ ├── ic_menu_product_call.xml
│ │ ├── ic_menu_product_tram.xml
│ │ ├── ic_filter_list_24dp.xml
│ │ ├── ic_menu_product_ferry.xml
│ │ ├── ic_menu_product_subway.xml
│ │ ├── ic_menu_product_train.xml
│ │ ├── ic_menu_product_cablecar.xml
│ │ ├── ic_menu_product_suburban.xml
│ │ ├── ic_location_white_24dp.xml
│ │ ├── ic_menu_product_highspeed.xml
│ │ ├── ic_hourglass_black_24dp.xml
│ │ ├── disclaimer_background_dark.xml
│ │ ├── btn_zoom_up.xml
│ │ ├── ic_star_24dp.xml
│ │ ├── btn_zoom_down.xml
│ │ ├── ic_showlog_grey600_24dp.xml
│ │ ├── ic_add_white_24dp.xml
│ │ ├── list_entry_background.xml
│ │ ├── ic_open_ext_black_24dp.xml
│ │ ├── location_selector_item_first_background.xml
│ │ ├── location_selector_item_last_background.xml
│ │ ├── location_selector_item_unselected_background.xml
│ │ ├── location_selector_item_intermediate_background.xml
│ │ ├── ic_warning_black_24px.xml
│ │ ├── ic_stopwatch_black_24.xml
│ │ ├── ic_microphone_black_24dp.xml
│ │ ├── ic_search_more_grey_24dp.xml
│ │ ├── ic_search_more_white_24dp.xml
│ │ ├── ic_sound_on_white_24dp.xml
│ │ ├── ic_sitting_black_24.xml
│ │ ├── ic_sound_off_white_24dp.xml
│ │ ├── ic_cancelled_hide_24dp.xml
│ │ └── ic_cancelled_show_24dp.xml
│ ├── layout
│ │ ├── map_trip_line.xml
│ │ ├── stations_location_provider_row.xml
│ │ ├── station_widget_entry_loading.xml
│ │ ├── stations_station_entry_message.xml
│ │ ├── zoom_controls.xml
│ │ ├── hint_dialog.xml
│ │ ├── network_picker_separator.xml
│ │ ├── directions_location_list_entry.xml
│ │ ├── changelog_dialog.xml
│ │ ├── directions_trip_details_public_entry_collapsed.xml
│ │ ├── logviewer_content.xml
│ │ ├── directions_trip_details_fares_row.xml
│ │ ├── navigation_event_log_entry.xml
│ │ ├── stations_station_details_header_line.xml
│ │ ├── location_selector_item.xml
│ │ ├── map_frame.xml
│ │ ├── favorites_content.xml
│ │ └── create_launcher_shortcut_dialog.xml
│ ├── menu
│ │ ├── stations_options.xml
│ │ ├── network_picker_context.xml
│ │ ├── directions_options.xml
│ │ ├── station_map_context.xml
│ │ ├── plans_picker_context.xml
│ │ ├── global_extras.xml
│ │ ├── directions_query_history_location_context.xml
│ │ ├── directions_query_history_context.xml
│ │ └── directions_location_context.xml
│ ├── anim
│ │ ├── zoom_controls.xml
│ │ ├── rotate.xml
│ │ ├── exit_to_left.xml
│ │ ├── exit_to_right.xml
│ │ ├── enter_from_left.xml
│ │ ├── enter_from_right.xml
│ │ ├── pop_in.xml
│ │ └── pop_out.xml
│ ├── drawable-anydpi
│ │ ├── ic_flag_grey600_24dp.xml
│ │ ├── ic_later_white_24dp.xml
│ │ ├── ic_earlier_white_24dp.xml
│ │ ├── ic_expand_less_black_24dp.xml
│ │ ├── ic_expand_less_white_24dp.xml
│ │ ├── ic_expand_more_black_24dp.xml
│ │ ├── ic_expand_more_white_24dp.xml
│ │ ├── ic_warning_amber_24dp.xml
│ │ ├── ic_menu_white_24dp.xml
│ │ ├── ic_filter_list_white_24dp.xml
│ │ ├── ic_filter_list_yellow_24dp.xml
│ │ ├── ic_arrow_back_white_24dp.xml
│ │ ├── ic_star_white_24dp.xml
│ │ ├── ic_star_grey600_24dp.xml
│ │ ├── ic_clear_black_24dp.xml
│ │ ├── ic_clear_grey600_24dp.xml
│ │ ├── ic_clear_white_24dp.xml
│ │ ├── ic_info_grey600_24dp.xml
│ │ ├── ic_navigation_white_24dp.xml
│ │ ├── ic_offline_pin_grey600_24dp.xml
│ │ ├── ic_today_white_24dp.xml
│ │ ├── ic_place_grey600_24dp.xml
│ │ ├── ic_info_outline_grey600_24dp.xml
│ │ ├── ic_cash_multiple_grey600_24dp.xml
│ │ ├── ic_more_vert_grey600_24dp.xml
│ │ ├── ic_more_vert_white_24dp.xml
│ │ ├── ic_shuffle_white_24dp.xml
│ │ ├── ic_beenhere_grey600_24dp.xml
│ │ ├── ic_star_border_black_24dp.xml
│ │ ├── ic_star_border_white_24dp.xml
│ │ ├── ic_refresh_white_24dp.xml
│ │ ├── ic_map_black_24dp.xml
│ │ ├── ic_map_white_24dp.xml
│ │ ├── ic_block_black_24dp.xml
│ │ ├── ic_search_white_24dp.xml
│ │ ├── ic_sleep_black_24dp.xml
│ │ ├── ic_search_grey600_24dp.xml
│ │ ├── ic_location_searching_white_24dp.xml
│ │ ├── ic_directions_walk_grey600_24dp.xml
│ │ ├── ic_location_searching_grey600_24dp.xml
│ │ ├── ic_contacts_grey600_24dp.xml
│ │ ├── ic_bell_grey600_24dp.xml
│ │ ├── ic_bell_on_black_24dp.xml
│ │ ├── ic_gps_fixed_grey600_24dp.xml
│ │ ├── ic_settings_input_antenna_grey600_18dp.xml
│ │ ├── ic_favorite_border_grey600_24dp.xml
│ │ ├── ic_bell_off_black_24dp.xml
│ │ ├── ic_ladybug_grey600_24dp.xml
│ │ ├── ic_local_taxi_grey600_24dp.xml
│ │ ├── ic_share_grey600_24dp.xml
│ │ ├── ic_share_white_24dp.xml
│ │ ├── ic_oeffi_stations_grey600_36dp.xml
│ │ ├── ic_location_disabled_white_24dp.xml
│ │ ├── ic_altroute_grey600_24dp.xml
│ │ ├── ic_accessible_grey600_18dp.xml
│ │ ├── ic_directions_bike_grey600_18dp.xml
│ │ ├── ic_directions_bike_grey600_24dp.xml
│ │ ├── ic_oeffi_directions_grey600_36dp.xml
│ │ ├── ic_clock_black_24dp.xml
│ │ ├── ic_portable_wifi_off_grey600_24dp.xml
│ │ ├── product_call_color_22dp.xml
│ │ ├── product_call_color_32dp.xml
│ │ ├── product_call_darkgrey_32dp.xml
│ │ ├── product_suburban_color_22dp.xml
│ │ ├── product_suburban_color_32dp.xml
│ │ ├── product_suburban_darkgrey_32dp.xml
│ │ ├── ic_settings_grey600_24dp.xml
│ │ ├── product_subway_color_22dp.xml
│ │ ├── product_subway_color_32dp.xml
│ │ ├── product_subway_darkgrey_32dp.xml
│ │ ├── network_kvv_logo.xml
│ │ ├── product_train_color_22dp.xml
│ │ ├── product_train_color_32dp.xml
│ │ ├── product_train_darkgrey_32dp.xml
│ │ ├── product_cablecar_color_22dp.xml
│ │ ├── product_cablecar_color_32dp.xml
│ │ ├── product_cablecar_darkgrey_32dp.xml
│ │ ├── product_ferry_color_22dp.xml
│ │ └── product_ferry_color_32dp.xml
│ ├── values-small
│ │ └── dimens.xml
│ ├── animator
│ │ └── heartbeat.xml
│ ├── values-large
│ │ └── dimens.xml
│ └── values-xlarge
│ │ └── dimens.xml
├── src
│ └── de
│ │ └── schildbach
│ │ └── oeffi
│ │ ├── util
│ │ ├── ViewUtils.java
│ │ ├── UiThreadExecutor.java
│ │ ├── ResourceUri.java
│ │ ├── bzip2
│ │ │ └── BZip2Constants.java
│ │ ├── UpGestureDetector.java
│ │ ├── DialogBuilder.java
│ │ ├── StrictSwipeRefreshLayout.java
│ │ └── ClockUtils.java
│ │ ├── preference
│ │ ├── EditTextPreferenceWithSummary.java
│ │ ├── DirectionsFragment.java
│ │ └── NavigationFragment.java
│ │ ├── AreaAware.java
│ │ ├── plans
│ │ └── list
│ │ │ ├── PlanClickListener.java
│ │ │ └── PlanContextMenuItemListener.java
│ │ ├── network
│ │ └── list
│ │ │ ├── NetworkClickListener.java
│ │ │ ├── NetworkContextMenuItemListener.java
│ │ │ └── SeparatorViewHolder.java
│ │ ├── FromViaToAware.java
│ │ ├── LocationAware.java
│ │ ├── stations
│ │ ├── list
│ │ │ ├── StationClickListener.java
│ │ │ ├── JourneyClickListener.java
│ │ │ └── StationContextMenuItemListener.java
│ │ └── NearestFavoriteStationWidgetProvider.java
│ │ ├── TripAware.java
│ │ ├── directions
│ │ └── list
│ │ │ ├── QueryHistoryClickListener.java
│ │ │ └── QueryHistoryContextMenuItemListener.java
│ │ └── StationsAware.java
├── assets
│ └── messages.txt
└── graphics
│ ├── ic_oeffi_stations_color_48dp-mdpi.svg
│ └── ic_oeffi_directions_color_48dp-mdpi.svg
├── .gitignore
├── .gitmodules
├── settings.gradle
└── .gitlab-ci.yml
/androidstudio/oeffi-studio/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /res/mipmap-*/*.png
3 |
--------------------------------------------------------------------------------
/oeffi-ng.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi-ng.jks
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx2048M
2 | android.enableD8.desugaring=true
3 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | **/.*
2 | **/build.Containerfile
3 | **/local.properties
4 | **/build
5 | **/*.iml
6 |
--------------------------------------------------------------------------------
/oeffi/.gitignore:
--------------------------------------------------------------------------------
1 | /.classpath
2 | /.project
3 | /.settings/
4 | /bin/
5 | /gen/
6 | /res/mipmap-*/*.png
7 |
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_alarm.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_alarm.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_remind_up.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_remind_up.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_refresh_beep.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_refresh_beep.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_remind_down.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_remind_down.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_lowvolume_alarm.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_lowvolume_alarm.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_refresh_error.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_refresh_error.mp3
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_remind_downup.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_remind_downup.mp3
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/location_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/location_on.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-mdpi/capacity_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-mdpi/capacity_1.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-mdpi/capacity_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-mdpi/capacity_2.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-mdpi/capacity_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-mdpi/capacity_3.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-nodpi/qr_update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-nodpi/qr_update.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/da_marker_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/da_marker_red.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/location_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/location_off.png
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_lowvolume_remind_up.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_lowvolume_remind_up.mp3
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_ns_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_ns_icon.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_rt_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_rt_icon.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_se_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_se_icon.png
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_lowvolume_remind_down.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_lowvolume_remind_down.mp3
--------------------------------------------------------------------------------
/androidstudio/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/androidstudio/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_up_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_up_normal.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_up_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_up_pressed.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_dsb_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_dsb_icon.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_sbb_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_sbb_icon.png
--------------------------------------------------------------------------------
/oeffi/res/raw/nav_lowvolume_remind_downup.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/raw/nav_lowvolume_remind_downup.mp3
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_down_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_down_normal.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_down_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_down_pressed.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_up_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_up_disabled.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/network_bayern_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/network_bayern_icon.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/btn_zoom_down_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/btn_zoom_down_disabled.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/ic_station_grey600_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/ic_station_grey600_24dp.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/ic_maps_product_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/ic_maps_product_default.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/ic_station_grey600_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/ic_station_grey600_24dp.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/ic_maps_indicator_endpoint_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/ic_maps_indicator_endpoint_list.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/ic_maps_indicator_startpoint_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/ic_maps_indicator_startpoint_list.png
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/popup_dir_pointer_button_normal.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/popup_dir_pointer_button_normal.9.png
--------------------------------------------------------------------------------
/oeffi/res/values/select_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | External map
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-hdpi/popup_dir_pointer_button_selected.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-hdpi/popup_dir_pointer_button_selected.9.png
--------------------------------------------------------------------------------
/oeffi/res/values-de/select_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | externe Karte
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/values-night/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1dp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/androidstudio/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 | .cxx
10 | local.properties
11 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-xhdpi/nearest_favorite_station_widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pixtxa/oeffi-ng/nextgen/oeffi/res/drawable-xhdpi/nearest_favorite_station_widget_preview.png
--------------------------------------------------------------------------------
/oeffi/res/xml/device_admin_policies.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/values-notnight-v29/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 2dp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/values/flags.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 | true
5 |
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Gradle
2 | /gradle/
3 | /.gradle/
4 | /gradlew
5 | /gradlew.bat
6 | build/
7 |
8 | # IntelliJ IDEA
9 | /.idea/
10 | *.iml
11 |
12 | # Android SDK
13 | local.properties
14 | passwords.properties
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/xml/locale_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oeffi/res/values-h400dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 | true
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/xml/stations_searchable.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/oeffi/res/values-w486dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @dimen/layout_list_width
5 |
6 | true
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/xml/file_provider.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/list_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "public-transport-enabler"]
2 | path = public-transport-enabler
3 | url = https://github.com/santawho/public-transport-enabler.git
4 | branch = nextgen
5 | [submodule "oeffi-ng.wiki"]
6 | path = androidstudio/oeffi-ng.wiki
7 | url = https://github.com/santawho/oeffi-ng.wiki.git
8 |
--------------------------------------------------------------------------------
/androidstudio/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue May 28 11:23:46 CEST 2024
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/oeffi/res/xml/plan_searchable.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/xml/plans_searchable.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/layout/map_trip_line.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/menu/stations_options.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/space_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/space_48dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/menu/network_picker_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/menu/directions_options.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/menu/station_map_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_oeffi_plans.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_oeffi_stations.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_cancelled_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_oeffi_directions.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/popup_dir_pointer_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_bus.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_sound_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_expand_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_expand_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_call.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_tram.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_filter_list_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_ferry.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_subway.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_train.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_cablecar.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_suburban.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_location_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_menu_product_highspeed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/oeffi/res/xml/preference_extras.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oeffi/res/anim/zoom_controls.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/layout/stations_location_provider_row.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_hourglass_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/androidstudio/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | dependencies {
5 | classpath(libs.json)
6 | classpath(libs.androidsvgdrawable.gradle.plugin) {
7 | exclude group: 'xerces'
8 | }
9 | }
10 | }
11 |
12 | plugins {
13 | alias(libs.plugins.android.application) apply false
14 | }
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/disclaimer_background_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/btn_zoom_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_star_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/res/mipmap-anydpi-v26/ic_oeffi_ng_plans_color_48dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/values/fare_types.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - Adult
6 | - Child
7 | - Youth
8 | - Student
9 | - Military
10 | - Senior
11 | - Disabled
12 | - Bike
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_flag_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/btn_zoom_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/res/mipmap-anydpi-v26/ic_oeffi_ng_stations_color_48dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_later_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/ViewUtils.java:
--------------------------------------------------------------------------------
1 | package de.schildbach.oeffi.util;
2 |
3 | import android.view.View;
4 |
5 | public class ViewUtils {
6 | public static void setVisibility(final View view, final boolean visible) {
7 | view.setVisibility(visible ? View.VISIBLE : View.GONE);
8 | }
9 |
10 | public static boolean isVisible(final View view) {
11 | return view.getVisibility() == View.VISIBLE;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/res/mipmap-anydpi-v26/ic_oeffi_ng_directions_color_48dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_earlier_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_expand_less_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_expand_less_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_expand_more_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_expand_more_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_warning_amber_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/values-de/fare_types.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - Erwachsener
6 | - Kind
7 | - Jugendlicher
8 | - Student
9 | - Militär
10 | - Senior
11 | - Schwerbehindert
12 | - Fahrrad
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/anim/rotate.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_menu_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/layout/station_widget_entry_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_filter_list_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_filter_list_yellow_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_showlog_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/values-small/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 44dp
5 | 44dp
6 | 2dp
7 | 4dp
8 | 3dp
9 |
10 | 4
11 |
12 |
13 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_arrow_back_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/values/strings_aquire_location.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Acquiring \'%s\' location…
5 | Location acquiring not allowed
6 | All location providers are disabled
7 | Can\'t acquire location
8 |
9 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/xml/nearest_favorite_station_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/values-de/strings_aquire_location.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ermittle \'%s\'-Standort…
5 | Standortermittlung nicht erlaubt
6 | Alle Standortdienste sind abgeschaltet
7 | Kann Standort nicht ermitteln
8 |
9 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/anim/exit_to_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/anim/exit_to_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_star_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/layout/stations_station_entry_message.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/anim/enter_from_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/anim/enter_from_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_star_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_clear_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_clear_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_clear_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_info_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_add_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/anim/pop_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/anim/pop_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_navigation_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_offline_pin_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/list_entry_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_today_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_open_ext_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_place_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_info_outline_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/location_selector_item_first_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/location_selector_item_last_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/location_selector_item_unselected_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_cash_multiple_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_more_vert_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_more_vert_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_shuffle_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/assets/messages.txt:
--------------------------------------------------------------------------------
1 | # hints
2 | hint-navigation-drawer | prefs-show-info:true limit-info:2d | once | info
3 | hint-network-picker | prefs-show-info:true limit-info:2d | once | info
4 | hint-landscape-orientation | prefs-show-info:true limit-info:2d | once | info
5 | hint-qr-and-nfc | prefs-show-info:true limit-info:2d | once | info
6 | hint-launcher-shortcuts | prefs-show-info:true limit-info:2d | once | info
7 | hint-location-problems | prefs-show-info:true limit-info:2d | once | info
8 | hint-drag-stations | prefs-show-info:true limit-info:2d min-version:546 task:stations | once | info
9 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/location_selector_item_intermediate_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_warning_black_24px.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/oeffi/res/xml/accessibility_service_config.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_beenhere_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_star_border_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_star_border_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/layout/zoom_controls.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_refresh_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_map_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_map_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/menu/plans_picker_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_stopwatch_black_24.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/oeffi/res/xml/preference_shortcuts.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
12 |
13 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_block_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_search_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_sleep_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/menu/global_extras.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_search_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_location_searching_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_directions_walk_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_location_searching_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/androidstudio/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google {
4 | content {
5 | includeGroupByRegex("com\\.android.*")
6 | includeGroupByRegex("com\\.google.*")
7 | includeGroupByRegex("androidx.*")
8 | }
9 | }
10 | mavenCentral()
11 | gradlePluginPortal()
12 | }
13 | }
14 | dependencyResolutionManagement {
15 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
16 | repositories {
17 | google()
18 | mavenCentral()
19 | }
20 | }
21 |
22 | rootProject.name = "androidstudio"
23 | include ':oeffi-studio'
24 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_contacts_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/layout/hint_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/oeffi/res/layout/network_picker_separator.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_bell_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_bell_on_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_gps_fixed_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | import org.gradle.util.GradleVersion
2 | import org.gradle.api.GradleScriptException
3 |
4 | // required Gradle version
5 | def minGradleVersion = GradleVersion.version("4.4") // including
6 | def maxGradleVersion = GradleVersion.version("7.0") // excluding
7 |
8 | if (GradleVersion.current() < minGradleVersion || GradleVersion.current() >= maxGradleVersion)
9 | throw new GradleScriptException("build requires Gradle between ${minGradleVersion.version} (including) and ${maxGradleVersion.version} (excluding)", null)
10 |
11 | gradle.startParameter.excludedTaskNames << "lint"
12 | gradle.startParameter.excludedTaskNames << ":oeffi:lintVitalRelease"
13 |
14 | include 'oeffi'
15 | include 'public-transport-enabler'
16 |
--------------------------------------------------------------------------------
/oeffi/res/layout/directions_location_list_entry.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_microphone_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_search_more_grey_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_search_more_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_settings_input_antenna_grey600_18dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_favorite_border_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/preference/EditTextPreferenceWithSummary.java:
--------------------------------------------------------------------------------
1 | package de.schildbach.oeffi.preference;
2 |
3 | import android.content.Context;
4 | import android.preference.EditTextPreference;
5 | import android.util.AttributeSet;
6 |
7 | /*
8 | * NOT USED ANY MORE, REPLACED BY PreferenceFragment.setupDynamicSummary()
9 | */
10 | public class EditTextPreferenceWithSummary extends EditTextPreference {
11 | public EditTextPreferenceWithSummary(final Context context, final AttributeSet attrs) {
12 | super(context, attrs);
13 | }
14 |
15 | @Override
16 | public CharSequence getSummary() {
17 | String text = super.getText();
18 | return String.format(super.getSummary().toString(), text == null ? "" : text);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_bell_off_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_sound_on_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_sitting_black_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_ladybug_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_local_taxi_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/androidstudio/assetlinks.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "relation": [
4 | "delegate_permission/common.handle_all_urls"
5 | ],
6 | "target": {
7 | "namespace": "android_app",
8 | "package_name": "de.santawho.oeffi_ng",
9 | "sha256_cert_fingerprints": [
10 | "6D:2C:7C:F1:9C:1F:0E:BD:E7:95:3A:F9:33:66:6E:03:B3:11:DF:8B:F6:EB:46:BD:E0:68:30:FC:6A:3B:8F:5E"
11 | ]
12 | }
13 | },
14 | {
15 | "relation": [
16 | "delegate_permission/common.handle_all_urls"
17 | ],
18 | "target": {
19 | "namespace": "android_app",
20 | "package_name": "de.santawho.oeffi_ng.debug",
21 | "sha256_cert_fingerprints": [
22 | "6D:2C:7C:F1:9C:1F:0E:BD:E7:95:3A:F9:33:66:6E:03:B3:11:DF:8B:F6:EB:46:BD:E0:68:30:FC:6A:3B:8F:5E"
23 | ]
24 | }
25 | }
26 | ]
27 |
--------------------------------------------------------------------------------
/oeffi/res/layout/changelog_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_share_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_share_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_oeffi_stations_grey600_36dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
15 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/oeffi/res/values-notnight-v29/styes.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
12 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_location_disabled_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/menu/directions_query_history_location_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
21 |
--------------------------------------------------------------------------------
/oeffi/res/values/strings_error_reporter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Send error report using…
5 | Crash report
6 | Bug report
7 | Can you answer the following questions? Incomplete reports will not receive a reply due to the sheer number of reports received.\n\n
8 | • Which application component does your issue apply to? (first line of window title)\n\n\n
9 | • Which transport network have you got selected? (second line of window title)\n\n\n
10 | • Please describe your problem here:\n\n\n
11 | PUT ADDITIONAL COMMENTS TO THE TOP. DOWN HERE NOBODY WILL NOTICE.
12 |
13 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_altroute_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/values-de/strings_error_reporter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Fehlerbericht senden mit…
5 | Absturzbericht
6 | Fehlerbericht
7 | Bitte beantworte die folgenden Fragen. Unvollständige Berichte können leider nicht mehr beantwortet werden, aufgrund der schieren Menge an Berichten.\n\n
8 | • Welchen Programmteil betrifft dein Problem? (siehe erste Zeile des Fenstertitels)\n\n\n
9 | • Welches Verkehrsnetz hast du eingestellt? (siehe zweite Zeile des Fenstertitels)\n\n\n
10 | • Bitte beschreibe hier dein Problem:\n\n\n
11 | ERGAENZE WEITERE ANGABEN GANZ OBEN. HIER UNTEN WIRD ES NIEMAND LESEN.
12 |
13 |
14 |
--------------------------------------------------------------------------------
/oeffi/res/layout/directions_trip_details_public_entry_collapsed.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/AreaAware.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi;
19 |
20 | import de.schildbach.pte.dto.Point;
21 |
22 | public interface AreaAware {
23 | Point[] getArea();
24 | }
25 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/plans/list/PlanClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.plans.list;
19 |
20 | public interface PlanClickListener {
21 | void onPlanClick(PlansAdapter.Plan plan);
22 | }
23 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_accessible_grey600_18dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
14 |
15 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_directions_bike_grey600_18dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_directions_bike_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/network/list/NetworkClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.network.list;
19 |
20 | public interface NetworkClickListener {
21 | void onNetworkClick(NetworkListEntry.Network network);
22 | }
23 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_oeffi_directions_grey600_36dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
15 |
19 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/FromViaToAware.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi;
19 |
20 | import de.schildbach.pte.dto.Point;
21 |
22 | public interface FromViaToAware {
23 | Point getFrom();
24 |
25 | Point getVia();
26 |
27 | Point getTo();
28 | }
29 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/plans/list/PlanContextMenuItemListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.plans.list;
19 |
20 | public interface PlanContextMenuItemListener {
21 | boolean onPlanContextMenuItemClick(PlansAdapter.Plan plan, int menuItemId);
22 | }
23 |
--------------------------------------------------------------------------------
/oeffi/res/layout/logviewer_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
13 |
16 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/network/list/NetworkContextMenuItemListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.network.list;
19 |
20 | public interface NetworkContextMenuItemListener {
21 | boolean onNetworkContextMenuItemClick(NetworkListEntry.Network network, int menuItemId);
22 | }
23 |
--------------------------------------------------------------------------------
/oeffi/res/menu/directions_query_history_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
11 |
14 |
17 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/oeffi/res/menu/directions_location_context.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
13 |
17 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_sound_off_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/LocationAware.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi;
19 |
20 | import de.schildbach.pte.dto.Location;
21 | import de.schildbach.pte.dto.Point;
22 |
23 | public interface LocationAware {
24 | Point getDeviceLocation();
25 |
26 | Location getReferenceLocation();
27 |
28 | Float getDeviceBearing();
29 | }
30 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/stations/list/StationClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.stations.list;
19 |
20 | import de.schildbach.pte.NetworkId;
21 | import de.schildbach.pte.dto.Location;
22 |
23 | public interface StationClickListener {
24 | void onStationClick(int adapterPosition, NetworkId network, Location station);
25 | }
26 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_clock_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_portable_wifi_off_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/TripAware.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi;
19 |
20 | import de.schildbach.pte.dto.Trip;
21 | import de.schildbach.pte.dto.Trip.Leg;
22 |
23 | public interface TripAware {
24 | Trip getTrip();
25 |
26 | void selectLeg(int legIndex);
27 |
28 | boolean hasSelection();
29 |
30 | boolean isSelectedLeg(Leg leg);
31 | }
32 |
--------------------------------------------------------------------------------
/oeffi/res/layout/directions_trip_details_fares_row.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
14 |
15 |
21 |
22 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.directions.list;
19 |
20 | import de.schildbach.pte.dto.Location;
21 |
22 | public interface QueryHistoryClickListener {
23 | void onEntryClick(int adapterPosition, Location from, Location to, Location via);
24 |
25 | void onSavedTripClick(int adapterPosition, byte[] serializedTrip);
26 | }
27 |
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | GIT_SUBMODULE_STRATEGY: recursive
3 | ANDROID_HOME: $PWD/android-sdk
4 |
5 | reference:
6 | image: debian:bookworm-slim
7 | before_script:
8 | - apt-get update
9 | - apt-get -y install ca-certificates buildah
10 | # switch to iptables legacy, as GitLab CI doesn't support nftables
11 | - apt-get -y install --no-install-recommends iptables
12 | - update-alternatives --set iptables /usr/sbin/iptables-legacy
13 | script:
14 | - buildah build --file build.Containerfile --output build .
15 | after_script:
16 | - sha256sum build/*
17 | artifacts:
18 | name: oeffi-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
19 | paths:
20 | - build/**
21 |
22 | bookworm-jdk17:
23 | image: debian:bookworm-slim
24 | script:
25 | - apt-get update
26 | - apt-get -y install openjdk-17-jdk-headless gradle sdkmanager
27 | - yes | sdkmanager --licenses >/dev/null || true
28 | - gradle build --stacktrace
29 | - gradle --version
30 | artifacts:
31 | name: oeffi-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
32 | paths:
33 | - oeffi/build/outputs/apk/**/*.apk
34 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_cancelled_hide_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
11 |
12 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/oeffi/res/values-notnight-v29/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | #000000
6 | #ffffff
7 | #777777
8 | #bbbbbb
9 | #dd9055
10 |
11 |
12 |
13 |
14 | #f7f7f7
15 | #227722
16 | #cccccc
17 | #cccccc
18 | #cc9900
19 | #00a0e0
20 | #757575
21 | #ffaaaa
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/StationsAware.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi;
19 |
20 | import de.schildbach.oeffi.stations.Station;
21 |
22 | import java.util.List;
23 |
24 | public interface StationsAware {
25 | List getStations();
26 |
27 | Integer getFavoriteState(String stationId);
28 |
29 | void selectStation(Station station);
30 |
31 | boolean isSelectedStation(String stationId);
32 | }
33 |
--------------------------------------------------------------------------------
/oeffi/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | android.vrsinfo.de
15 | wojhati.rta.ae
16 | appefa10.verbundlinie.at
17 | railteam.hafas.eu
18 | mobil.vbl.ch
19 | mobil.rozklad-pkp.pl
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/oeffi/res/layout/navigation_event_log_entry.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/oeffi/res/layout/stations_station_details_header_line.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_call_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
18 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_call_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
18 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_call_darkgrey_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
18 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/UiThreadExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.util;
19 |
20 | import android.os.Handler;
21 | import android.os.Looper;
22 |
23 | import java.util.concurrent.Executor;
24 |
25 | public class UiThreadExecutor implements Executor {
26 | private final Handler handler = new Handler(Looper.getMainLooper());
27 |
28 | @Override
29 | public void execute(Runnable command) {
30 | handler.post(command);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_suburban_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_suburban_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_suburban_darkgrey_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/oeffi/res/xml/preference_headers.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
11 |
14 |
17 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/stations/list/JourneyClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.stations.list;
19 |
20 | import android.view.View;
21 |
22 | import de.schildbach.pte.NetworkId;
23 | import de.schildbach.pte.dto.JourneyRef;
24 | import de.schildbach.pte.dto.Line;
25 | import de.schildbach.pte.dto.Location;
26 |
27 | public interface JourneyClickListener {
28 | void onJourneyClick(View clickedView, final JourneyRef journeyRef, final Location entryLocation);
29 | }
30 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/ic_settings_grey600_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryContextMenuItemListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.directions.list;
19 |
20 | import de.schildbach.pte.dto.Location;
21 |
22 | import javax.annotation.Nullable;
23 |
24 | public interface QueryHistoryContextMenuItemListener {
25 | boolean onQueryHistoryContextMenuItemClick(int adapterPosition, Location from, Location to,
26 | @Nullable byte[] serializedSavedTrip, int menuItemId, @Nullable Location menuItemLocation);
27 | }
28 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/preference/DirectionsFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.preference;
19 |
20 | import android.os.Bundle;
21 | import de.schildbach.oeffi.R;
22 |
23 | import javax.annotation.Nullable;
24 |
25 | public class DirectionsFragment extends PreferenceFragment {
26 | @Override
27 | public void onCreate(@Nullable Bundle savedInstanceState) {
28 | super.onCreate(savedInstanceState);
29 | addPreferencesFromResource(R.xml.preference_directions);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/preference/NavigationFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.preference;
19 |
20 | import android.os.Bundle;
21 |
22 | import javax.annotation.Nullable;
23 |
24 | import de.schildbach.oeffi.R;
25 |
26 | public class NavigationFragment extends PreferenceFragment {
27 | @Override
28 | public void onCreate(@Nullable Bundle savedInstanceState) {
29 | super.onCreate(savedInstanceState);
30 | addPreferencesFromResource(R.xml.preference_navigation);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/stations/list/StationContextMenuItemListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.stations.list;
19 |
20 | import de.schildbach.pte.NetworkId;
21 | import de.schildbach.pte.dto.Departure;
22 | import de.schildbach.pte.dto.Location;
23 |
24 | import javax.annotation.Nullable;
25 | import java.util.List;
26 |
27 | public interface StationContextMenuItemListener {
28 | boolean onStationContextMenuItemClick(int adapterPosition, NetworkId network, Location station,
29 | @Nullable List departures, int menuItemId);
30 | }
31 |
--------------------------------------------------------------------------------
/oeffi/res/drawable/ic_cancelled_show_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
11 |
12 |
15 |
16 |
19 |
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/ResourceUri.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.util;
19 |
20 | import android.content.ContentResolver;
21 | import android.content.Context;
22 | import android.net.Uri;
23 |
24 | public class ResourceUri {
25 | public static Uri fromResource(final Context context, final int resourceId) {
26 | return new Uri.Builder()
27 | .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
28 | .authority(context.getPackageName())
29 | .path(Integer.toString(resourceId))
30 | .build();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/androidstudio/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. For more details, visit
12 | # https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | android.enableJetifier=true
19 | # Enables namespacing of each library's R class so that its R class includes only the
20 | # resources declared in the library itself and none from the library's dependencies,
21 | # thereby reducing the size of the R class for that library
22 | android.nonTransitiveRClass=true
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_subway_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
21 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_subway_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
21 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_subway_darkgrey_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
21 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/network/list/SeparatorViewHolder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.network.list;
19 |
20 | import android.view.View;
21 | import android.widget.TextView;
22 | import androidx.recyclerview.widget.RecyclerView;
23 |
24 | public class SeparatorViewHolder extends RecyclerView.ViewHolder {
25 | private final TextView textView;
26 |
27 | public SeparatorViewHolder(final View itemView) {
28 | super(itemView);
29 |
30 | textView = itemView.findViewById(android.R.id.text1);
31 | }
32 |
33 | public void bind(final NetworkListEntry.Separator entry) {
34 | textView.setText(entry.label);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/oeffi/res/layout/location_selector_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/bzip2/BZip2Constants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | package de.schildbach.oeffi.util.bzip2;
21 |
22 | /**
23 | * Constants for both the compress and decompress BZip2 classes.
24 | */
25 | interface BZip2Constants {
26 |
27 | int BASEBLOCKSIZE = 100000;
28 | int MAX_ALPHA_SIZE = 258;
29 | int MAX_CODE_LEN = 23;
30 | int RUNA = 0;
31 | int RUNB = 1;
32 | int N_GROUPS = 6;
33 | int G_SIZE = 50;
34 | int N_ITERS = 4;
35 | int MAX_SELECTORS = (2 + (900000 / G_SIZE));
36 | int NUM_OVERSHOOT_BYTES = 20;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/oeffi/res/values/strings_untranslated.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Öffi
5 | bitcoin:bc1q8ruc8hanp7hrzfs48dvtuzz4ukmpe7cgsvvzrt
6 | https://gitlab.com/oeffi/oeffi
7 | https://matrix.to/#/#öffi:schildbach.de
8 |
9 |
10 |
11 |
12 |
13 | en~https://oeffi.schildbach.de/privacy_policy.txt~~de~https://oeffi.schildbach.de/privacy_policy_de.txt
14 | en~https://oeffi.schildbach.de/faq.html~~de~https://oeffi.schildbach.de/faq.html
15 |
16 | oeffi.app@gmail.com
17 |
18 | https://oeffi.schildbach.de/
19 | https://oeffi.schildbach.de/plans
20 | https://oeffi.schildbach.de/messages
21 | oeffi.schildbach.de
22 | app/
23 |
24 |
--------------------------------------------------------------------------------
/oeffi/res/layout/map_frame.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
25 |
26 |
34 |
35 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/network_kvv_logo.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
13 |
14 |
19 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/UpGestureDetector.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.util;
19 |
20 | import android.view.MotionEvent;
21 |
22 | public class UpGestureDetector {
23 | public interface OnUpGestureListener {
24 | boolean onUp(MotionEvent event);
25 | }
26 |
27 | private final OnUpGestureListener listener;
28 |
29 | public UpGestureDetector(final OnUpGestureListener listener) {
30 | this.listener = listener;
31 | }
32 |
33 | public boolean onTouchEvent(final MotionEvent event) {
34 | switch (event.getActionMasked()) {
35 | case MotionEvent.ACTION_UP:
36 | case MotionEvent.ACTION_CANCEL:
37 | return listener.onUp(event);
38 |
39 | default:
40 | return false;
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/oeffi/res/layout/favorites_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
14 |
15 |
19 |
20 |
25 |
26 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.stations;
19 |
20 | import android.appwidget.AppWidgetProvider;
21 | import android.content.Context;
22 | import android.content.Intent;
23 | import org.slf4j.Logger;
24 | import org.slf4j.LoggerFactory;
25 |
26 | public class NearestFavoriteStationWidgetProvider extends AppWidgetProvider {
27 |
28 | private static final Logger log = LoggerFactory.getLogger(NearestFavoriteStationWidgetProvider.class);
29 |
30 | @Override
31 | public void onReceive(final Context context, final Intent intent) {
32 | final String action = intent.getAction();
33 | log.info("got broadcast: {}", action);
34 | NearestFavoriteStationWidgetService.schedulePeriodic(context);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/DialogBuilder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.util;
19 |
20 | import android.app.AlertDialog;
21 | import android.content.Context;
22 | import de.schildbach.oeffi.R;
23 |
24 | public class DialogBuilder extends AlertDialog.Builder {
25 | public static DialogBuilder get(final Context context) {
26 | return new DialogBuilder(context, 0);
27 | }
28 |
29 | public static DialogBuilder warn(final Context context, final int titleResId) {
30 | final DialogBuilder builder = get(context);
31 | builder.setIcon(R.drawable.ic_warning_amber_24dp);
32 | builder.setTitle(titleResId);
33 | return builder;
34 | }
35 |
36 | private DialogBuilder(final Context context, final int theme) {
37 | super(context, theme);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/oeffi/res/animator/heartbeat.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
11 |
15 |
20 |
25 |
26 |
27 |
32 |
37 |
42 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/oeffi/res/layout/create_launcher_shortcut_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
14 |
15 |
21 |
22 |
27 |
28 |
29 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/oeffi/graphics/ic_oeffi_stations_color_48dp-mdpi.svg:
--------------------------------------------------------------------------------
1 |
2 |
32 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_train_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_train_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_train_darkgrey_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/StrictSwipeRefreshLayout.java:
--------------------------------------------------------------------------------
1 | package de.schildbach.oeffi.util;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.view.MotionEvent;
6 | import android.view.ViewConfiguration;
7 |
8 | import androidx.annotation.NonNull;
9 | import androidx.annotation.Nullable;
10 | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
11 |
12 | import de.schildbach.oeffi.Application;
13 |
14 | public class StrictSwipeRefreshLayout extends SwipeRefreshLayout {
15 | private final int touchSlop;
16 | private float initialX;
17 | private boolean hasMovedHorizontally;
18 |
19 | public StrictSwipeRefreshLayout(@NonNull final Context context) {
20 | this(context, null);
21 | }
22 |
23 | public StrictSwipeRefreshLayout(@NonNull final Context context, @Nullable final AttributeSet attrs) {
24 | super(context, attrs);
25 | touchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
26 | }
27 |
28 | @Override
29 | public boolean onInterceptTouchEvent(final MotionEvent ev) {
30 | switch (ev.getAction()) {
31 | case MotionEvent.ACTION_DOWN:
32 | initialX = ev.getX();
33 | hasMovedHorizontally = false;
34 | break;
35 | case MotionEvent.ACTION_MOVE:
36 | if (Math.abs(ev.getX() - initialX) > touchSlop)
37 | hasMovedHorizontally = true;
38 | break;
39 | }
40 |
41 | if (hasMovedHorizontally)
42 | return false;
43 |
44 | return super.onInterceptTouchEvent(ev);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/graphics/ic_oeffi_stations_color_48dp-mdpi.svg:
--------------------------------------------------------------------------------
1 |
2 |
32 |
--------------------------------------------------------------------------------
/oeffi/res/values-large/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 11sp
5 | 13sp
6 | 15sp
7 | 18sp
8 | 22sp
9 | 15dp
10 | 55dp
11 | 55dp
12 | 6dp
13 | 12dp
14 | 2dp
15 | 5dp
16 | 6dp
17 | 8dp
18 | 3dp
19 | 6dp
20 | 11dp
21 | 16dp
22 | 2dp
23 | 52dp
24 | 36dp
25 | 96dp
26 |
27 | - 75%
28 |
29 | 400dp
30 | 500dp
31 |
32 | 6
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oeffi/res/values-xlarge/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 12sp
5 | 14sp
6 | 16sp
7 | 20sp
8 | 24sp
9 | 16dp
10 | 60dp
11 | 50dp
12 | 8dp
13 | 16dp
14 | 16dp
15 | 3dp
16 | 6dp
17 | 8dp
18 | 12dp
19 | 4dp
20 | 9dp
21 | 14dp
22 | 20dp
23 | 4dp
24 | 60dp
25 | 42dp
26 | 128dp
27 |
28 | - 70%
29 |
30 | 8sp
31 | 430dp
32 | 530dp
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oeffi/graphics/ic_oeffi_directions_color_48dp-mdpi.svg:
--------------------------------------------------------------------------------
1 |
2 |
34 |
--------------------------------------------------------------------------------
/androidstudio/oeffi-studio/graphics/ic_oeffi_directions_color_48dp-mdpi.svg:
--------------------------------------------------------------------------------
1 |
2 |
34 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_cablecar_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
18 |
22 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_cablecar_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
18 |
22 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/oeffi/src/de/schildbach/oeffi/util/ClockUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright the original author or authors.
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 .
16 | */
17 |
18 | package de.schildbach.oeffi.util;
19 |
20 | import android.os.SystemClock;
21 |
22 | public class ClockUtils {
23 | public static long elapsedTimeToClock(final long elapsed) {
24 | final long nowClock = System.currentTimeMillis();
25 | final long nowElapsed = SystemClock.elapsedRealtime();
26 | return elapsed - nowElapsed + nowClock;
27 | }
28 |
29 | public static long clockToElapsedTime(final long clock) {
30 | final long nowClock = System.currentTimeMillis();
31 | final long nowElapsed = SystemClock.elapsedRealtime();
32 | return clock - nowClock + nowElapsed;
33 | }
34 |
35 | public static long elapsedTimePlus(final long plusMillis) {
36 | final long nowElapsed = SystemClock.elapsedRealtime();
37 | return nowElapsed + plusMillis;
38 | }
39 |
40 | public static long clockPlus(final long plusMillis) {
41 | final long nowClock = System.currentTimeMillis();
42 | return nowClock + plusMillis;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_cablecar_darkgrey_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
17 |
18 |
22 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_ferry_color_22dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
16 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oeffi/res/drawable-anydpi/product_ferry_color_32dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
16 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------