Giter VIP home page Giter VIP logo

viajar_android_app's People

Contributors

migueldgoncalves avatar

viajar_android_app's Issues

[Translation] Translate the Python repo commits and respective messages

Translate the comments "1000 locais" to "1000 locations".
Keep the original Portuguese messages intact, instead add the English translations in a new comment

Reason to discard: Too much effort for little added value. Almost 300 commit messages to translate. Original Portuguese messages will continue to appear in the commit list. Google Translate does a good job in translating the commit messages.

[Translation] Translate the Android repo commits and respective messages

Translate the comments "1000 locais" to "1000 locations".
Keep the original Portuguese messages intact, instead add the English translations in a new comment

Reason to discard: Too much effort for little added value. More than 50 commit messages to translate. Original Portuguese messages will continue to appear in the commit list. Google Translate does a good job in translating the commit messages.

Detect cardinal points automatically

Haversine formula - Allows to calculate distances between coordinates, with an error rate of until 0.5% (0.5 km for distances of 100 km).
Based on distances, angules can be obtained, and from them the cardinal points

Will involve removing the cardinal point column from the connection table of the DB.

Reason to discard: I like having the cardinal points in the connection table.
The Haversine formula would eventually be used in Python v2.5.0 to create connections automatically using the automatic information generator.

Show geographic names in multiple languages (ex: Spanish and Catalan) when available

Originally discarded as many locations already will have the name of the co-oficial language in the region (ex: Arenys de Mar in Barcelona).
Now included as part of #57.

Update 7NOV2022:

For the most important settlements with multiple local languages, OSM already provides the respective names in those languages in the name string. For example, Alicante is shown as "Alacant / Alicante", with the name both in Valencian and in Spanish. This applies as well to municipalities, provinces and even natural parks.

This applies as well to the information obtained with the automatic information generator, making it easier to add names in multiple local languages to the DB.

For example, the brief info for a location in the municipality of Elche would appear as "Elx / Elche, Alacant / Alicante Province, Spain".

In the Spanish regions with a co-oficial language, for example in Catalonia, some major locations have both names printed in the road signs. This is being replicated as well in the destinations in this project DB.

As the way it looks printed in the terminal or in the app looks good, it was decided that this is now the mechanism to show names in multiple local languages in this project.

A final note regarding minor languages of the Iberian Peninsula, for example Aragonese and Mirandese: even if OSM does not provide a settlement name featuring the names in both the national and the local language(s), there is always the possibility to add them manually for the major settlements of the language, for example Jaca and Sabiñánigo for Aragonese and Miranda do Douro for Mirandese. OSM also provides names in local and non-local languages in separate name fields, allowing the possibility of creating a new auxiliary script if needed.

No changes in Android or in Python code are needed as the changes are applied directly to the DB content.

Please note that this card applies only to multiple local languages, regardless of the app language.

Introduce the aerial tramway as a means of transport

Known as cable car in EN-GB.

For simplicity, gondola lifts will be included in this category as well. Funiculars, on the other hand, will be a separate category.

It is present in the Parque das Nações in Lisbon, in Casa de Campo in Madrid, and in Gibraltar, for example.

-Color will be default reddish-brown used in railways?

Reason to discard: Replaced with #144

Replace full reading of .pbf files with accessing local servers

The current automatic generator of information is based on reading .pbf files from OSM containing the complete map data, taking a few minutes to process a freeway or railway.

By replacing this file reading with accessing local servers running in Docker containers already containing the OSM data, a freeway or railway can be processed in seconds, instead.

This requires setting up such Docker containers, which can take more than 1 hour if done for the first time.

Python v2.9.0

Introduce new locations in Faro, Loulé and Beja

As Huelva city was covered and tens of locations were created inside the city, the ideia came to cover in more detail Faro, Loulé (major cities in Algarve) and Beja (capital of the Baixo Alentejo)

-Include other cities, such as Portimão and Sines?

Allow to change location by touching the available destinations for a surrounding location

This would provide user with a 2nd way to navigate the map, this time while having the destinations permanently appearing in the screen.

Could be desirable when travelling in freeways, railways or other major roads where the destinations and the way name are more important than the name of the surrounding locations.

Reason to discard: Not worth the effort for the Android app. Maybe to implement in a future webapp?

Introduce the tram as a means of transport

Trams are present in the center of Seville, in Parla (near Madrid) and in Lisbon, for example.

--Color will be default reddish-brown used in railways, unless local tramway has specific color?

Turn the automatic generator of information into a (almost) offline tool

Lately, OSM has been raising 429 Too Many Requests status codes early when trying to process freeways.

The tool should be rebuilt into reading instead local .pbf files from OSM containing the same information.

Fetching altitude info will continue to be done online, from Google, as OSM does not have this information.

Python v2.4.0

Improve "Around" mode in the map tab

-Expand map until it includes 10 locations more, up to a certain zoom limit?
-Include just the surronding locations of the current location?
-Selectable zoom in the settings?

Reason to discard: Not worth the effort, good enough as is

Implement a sorter of the contents of a .csv file

This will eliminate the need to manually find and place each new line into the right position inside the .csv files.

For connections and destinations, it will also eliminate the need to order the two locations of a connection/destination manually.

Indirectly, this tool also makes it easier to change location names, as sorting is now done automatically.

Python v2.3.0

Allow to select initial location

After the screen to enter the journey mode, place an intermediate screen to select starting location.

Possible locations: Guerreiros do Rio + Sines + Gibraltar + Portuguese district capitals + Spanish province capitals (as close as possible to the city centers, when not covered)

Add the possibility to select a random location as well

Reason to discard: Initial location is easy to setup using Android Studio before deploying the Android app

Introduce fare zones when available

Reason to discard: I believe that it will be a lot of effort to compile this info for little added value. Fare zones are not present (at least for Iberian Peninsula) in OSM, therefore automatic fetching is not an option.

Import DB instead of recreating it in each usage of the app

At the moment, the DB is fully recreated from the .csv files when entering the Travel activity. This takes 30 s to complete and deeply affects the user experience, as the activity will only load after the DB is recreated.

Instead, a special dev mode is to be created, where the DB is recreated only once from the .csv files, and the resulting SQL file placed in the app assets to be accessed later.

Android v1.7.0

Allow to join car mode with travel mode

Requires implementing a toolbar with a Settings option - In order to control when a integration with the car mode is desired and when only the travel mode is desired

Android v1.15.0

Highlight destination button and marker when clicking it

The button that will actually move forward will instead appear at the moment as a tiny button at the right with a >.

-Is this still useful after implementing the other proposed map improvements? Moving to a new location would now require 2 touches instead of 1, and this would be a problem if trying to move fast in freeways or railways.

-The only time it could be useful would be if the user wants to know which marker in the map corresponds to a certain destination button.

Reason to discard: Forcing user to click 2 buttons instead of 1 to move would unacceptably slow down movement in the map.
Idea to highlight marker and button was updated and copied into new item, #91.

App crashes if going from Car Activity to Travel Activity

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.viajar.viajar, PID: 6704
java.lang.NullPointerException: Attempt to invoke virtual method 'double com.viajar.viajar.LocationInfo.getLatitude()' on a null object reference
at com.viajar.viajar.TravelActivity$GPSPageFragment.createMapMarkers(TravelActivity.java:459)
at com.viajar.viajar.TravelActivity$GPSPageFragment.onMapReady(TravelActivity.java:415)
at com.google.android.gms.maps.zzaf.zzb(com.google.android.gms:play-services-maps@@18.0.0:1)
at com.google.android.gms.maps.internal.zzaq.zza(com.google.android.gms:play-services-maps@@18.0.0:5)
at com.google.android.gms.internal.maps.zzb.onTransact(com.google.android.gms:play-services-maps@@18.0.0:3)
at android.os.Binder.transact(Binder.java:949)
at atq.bm(:com.google.android.gms.policy_maps_core_dynamite@[email protected]:2)
at com.google.maps.api.android.lib6.impl.bk.run(:com.google.android.gms.policy_maps_core_dynamite@[email protected]:2)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8167)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

Limit max number of attempts when calculating connection distances

The max number of attempts went from 81 to 9, reducing the time the Python app spends retrying calculating a distance if it cannot find the distance.

This allows, for example, to skip a distance and leave it as 0.0 after 30 seconds, instead of spending 5 minutes trying to calculate it.

Python v2.10.0

Transfer LargeBottomNavigationView to new file

This class is Google code that is being overriden in order to allow more than 5 options in the Bottom Navigation Vew, which is required for displaying the different means of transport.

Android v1.14.9

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.