mtransit-for-android icon indicating copy to clipboard operation
mtransit-for-android copied to clipboard

Remove dependency on Google Play Services

Open png5lyfe opened this issue 8 years ago • 10 comments

MonTransit cannot load the map view without google play services installed. This means a large portion of the app's functionality is inaccessible. Can the app be built with a different map view, like OSM?

png5lyfe avatar Nov 11 '17 21:11 png5lyfe

Came here to post the same issue; I will +1 this one instead. FWIW, it can even be a scaled back (e.g. map-free) edition for F-Droid. This app would stand out for being the only GMS-independent app using real-time GTFS data if this can be achieved.

joelmaxuel avatar May 29 '19 11:05 joelmaxuel

The MonTransit app mtransit-for-android-gradle currently depends on Google Play Services for:

  • installing/updating security provider in commons-android => pure-AOSP flavor would not have this feature
  • showing POIs on a map in mtransit-for-android => pure-AOSP flavor could have no map OR a different map SDK (OSM...?)
  • finding user's device location in mtransit-for-android => pure-AOSP flavor could use the Android SDK Location classes like old times.
  • tracking app usage in mtransit-for-android => pure-AOSP flavor could not track app usage(?)
  • detect crashes (fatal & non-fatal) in mtransit-for-android => pure-AOSP flavor could not detect bugs in production
  • searching for nearby addresses/places in mtransit-for-android => pure-AOSP flavor could not have this nice-to-have feature
  • monetize app usage with ads in mtransit-for-android => pure-AOSP flavor could not monetize or use another ad provider
  • monetize app usage with subscription in mtransit-for-android => pure-AOSP flavor could not monetize or use PayPal, Patreon...?

mmathieum avatar May 29 '19 13:05 mmathieum

Quite a lot of tie-ins.
My understanding, then, is that you have no interest in a GSF-independent version/edition?

joelmaxuel avatar May 29 '19 19:05 joelmaxuel

It's not that have no interest in a GoogleServiceFramework-independent flavor, it's more about prioritizing this over other features that I think more users want. But this project being open-source, I would take the time to review any Pull Request containing such feature and merge it once it's ready.

mmathieum avatar May 30 '19 12:05 mmathieum

That is reasonable. I'll do a fork shortly (the android app, commons, and gradle repos) and take a look, play, what-have-you. Given the circumstance of work to be done, it would more likely be better served as it's own branch so I will start one of those.

It will very likely be a slow trudge for me to go through it, however I am that interested in the outcome. When (or even if) I manage something to send back as a PR, we can discuss future logistics of that branch (I am open to continue its maintenance but I don't want to be intrusive enough for me to submit to F-Droid - though I would like to see it there when it comes time). Feel free to close this issue for now, and thank you for the above guide. Cheers.

joelmaxuel avatar May 30 '19 12:05 joelmaxuel

Hi @mmathieum , Due to RL, I have changed the scope of what is important, to have core functionality without bothersome views that have no impact/response/effect when GMS/Nlp is not present. What may end up bizarre is that even tough I have maintained half a dozen or so devices for custom firmware, compiling an APK is still a mystery for me.

Based on the Android documentation, the commit in the following link should do what the revised scope became. Please let me know if this is helpful. https://github.com/joelmaxuel/mtransit-for-android/commit/122fb9878276194653fbd14f0a2b688dc5a46b1a

As part of the revised scope, I do not believe F-Droid would be necessary (probably a lot of extra work as well if to consider the related GTFS APKs). Hope this helps.

joelmaxuel avatar Aug 21 '19 01:08 joelmaxuel

@mmathieum Due to the GPlay shenanigans you wrote about, are you revisiting this? F-Droid would probably welcome you, if this were accomplished.

TPS avatar Aug 29 '19 17:08 TPS

Based on what was written before, there's probably a greater amount of work to rework as FOSS and be reasonable for F-Droid than reinstate on GPlay. This is unfortunate news because even with using it without GSF as-is, it remains more complete and easier to use than GTFSOffline.

joelmaxuel avatar Aug 29 '19 18:08 joelmaxuel

From what I've read in similar situations, even if reinstated, it may be temporary. Why not work both tracks simultaneously? #9 & https://gitlab.com/fdroid/rfp/issues/1081 could serve as meta-issues to track work toward inclusion.

TPS avatar Aug 30 '19 00:08 TPS

Considering the F-Droid option is being started without having to make a case, working in parallel makes that easier. Given I don't have much spare time, I try not to expect the time of others. If people are offering help to achieve what they want to see, I don't have a reason to knock that.

joelmaxuel avatar Aug 30 '19 01:08 joelmaxuel