Git Product home page Git Product logo

Comments (2)

michelesalvador avatar michelesalvador commented on July 29, 2024

Hi Izzy!

android:usesCleartextTraffic="true" was introduced with b53593c (4 years ago).
Removing it, the line

ToponymSearchResult searchResult = WebService.search(searchCriteria);
throws

problems connecting to geonames server http://api.geonames.org
java.io.IOException: Cleartext HTTP traffic to api.geonames.org not permitted

So the answer is: needed by GeoNames to display place suggestions.

At the moment a "non-PlayStore-release" of Family Gem is not a thing.
There is only one release and it compromises with Google's empire.

BIND_GET_INSTALL_REFERRER_SERVICE permission is not requested by Family Gem's AndroidManifest, but probably added to the APK by the InstallReferrerClient used in TreesActivity.
Its purpose is to retrieve a shared tree ID from the Play Store in case the app is installed clicking "Get it on Google Play" on the sharing page. If the app gets this ID, it proposes to download the shared tree.
So it's needed to simplify the import of a shared tree by a new user.

vending.BILLING is probably needed to purchase Family Gem Premium through the Google's BillingClient.
It would be nice to know how many users there are who want to avoid Google and would like an alternative payment system.

I suppose there is no problem on removing that dependenciesInfo from the APK.
But doesn't Google requires these dependency metadata in the AAB I upload to the Play Store?

from familygem.

IzzySoft avatar IzzySoft commented on July 29, 2024

was introduced with b53593c (4 years ago).

Eh, it's the code in my scanner that was added in January, so it only started finding and reporting these things now 🤣

problems connecting to geonames server http://api.geonames.org/

Ah. And yeah, they have an invalid certificate when you try https there. OK, while that's not really good it probably cannot be helped – unless someone telly geonames.org to get a proper cert – or an alternative to that API shows up. Or… read on their forums:

Https requests should be sent to secure.geonames.org instead of api.geonames.org.

Could you give that a try, please? Page looks very much the same, and you could have your (apps) security improved 😃

BIND_GET_INSTALL_REFERRER_SERVICE and `vending.BILLING are declared by their corresponding libraries, yeah. And needed by them I guess. If it's not asked too much, you could also consider a build flavor coming without those libs so I'd pick that APK then. Most folks using my repo will not use PlayServices anyway, so you'd not lose anything there (no install referrers here, and billing won't work without the PlayStore app).

I suppose there is no problem on removing that dependenciesInfo from the APK.

Not at all, right.

But doesn't Google requires these dependency metadata in the AAB I upload to the Play Store?

I'm not sure. But for my repo (or any other F-Droid repo), the AABs are not used. So you could of course just remove it from the APKs but leave it in the AABs – simply skip the includeInBundle = false then:

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
    }
}

from familygem.

Related Issues (20)

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.