Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fastlane has wrong location #2

Open
IzzySoft opened this issue Sep 5, 2024 · 5 comments
Open

Fastlane has wrong location #2

IzzySoft opened this issue Sep 5, 2024 · 5 comments

Comments

@IzzySoft
Copy link

IzzySoft commented Sep 5, 2024

You've set up /fastlane/en-US, which F-Droid won't find (but is no problem for IzzyOnDroid, where your app will show up with the next sync around 6 pm UTC – be welcome to pick a badge and link there e.g. from your Readme πŸ˜ƒ). Correct locations for F-Droid would be /metadata/en-US or, the standard location by fastlane definition, /fastlane/metadata/android/en-US. While on it, please also add an icon (currently your app would show up without one – I added one manually here for IzzyOnDroid) and, if possible, a (few) screenshot(s).

While I'm here, there are a few findings by the IzzyOnDroid scanners which F-Droid missed (as they do not have them in place):

SigningBlock blobs:
-------------------
0x504b4453 (DEPENDENCY_INFO_BLOCK; GOOGLE)

This can easily be avoided with a minor addition to your build.gradle:

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

For some background: that BLOB is supposed to be just a binary representation of your app's dependency tree. But as it's encrypted with a public key belonging to Google, only Google can read it – and nobody else can even verify what it really contains. More details can be found e.g. here: Ramping up security: additional APK checks are in place with the IzzyOnDroid repo.

I also wonder why EnforceDoze requests android.permission.READ_PHONE_STATE as well as android.permission.ACCESS_WIFI_STATE, android.permission.CHANGE_WIFI_STATE and android.permission.ACCESS_NETWORK_STATE. Could you please clarify, so I can add that to your app's "green list" with the proper explanation? Thanks a lot!

@IzzySoft
Copy link
Author

IzzySoft commented Sep 5, 2024

OK, seems to have crossed: Fastlane location is now correct. Thanks also for the screenshots, which help clarify some of the permissions as well – and I rather wonder how you disable mobile data (no CHANGE_NETWORK_STATE – so probably via settings?).

Looking forward to the other adjustment then – and thanks a lot!

@farfromrefug
Copy link
Owner

@IzzySoft thanks a lot for finding my repo. Always amazed at how fast you find my apps :D
I updated the gradle for dependenciesInfo. Thanks!

As for permission questions:

  • READ_PHONE_STATE: i am not the first author of this app. I forked it because it was not maintained anymore. Looking at the commit f6383aa it seems it was causing mobile data to not turn off
  • Mobile data is disabled in root using service call phone
  • ACCESS_NETWORK_STATE used to detect hotspot state (so i dont disable wifi/data if hostpot is enabled).
  • CHANGE_WIFI_STATE and ACCESS_WIFI_STATE is used to disable wifi in doze mode.

@IzzySoft
Copy link
Author

IzzySoft commented Sep 9, 2024

Always amazed at how fast you find my apps :D

Big brother is wa… err, my crawlers are reporting nicely to me πŸ˜„

I updated the gradle for dependenciesInfo. Thanks!

Cool, thank YOU!

Mobile data is disabled in root using service call phone

Does that mean the app requires root? I thought you were ustilizing Shizuku to not require root? Just asking, because if root is required we should mark that, to avoid disappointment.

OK, let's see what I've set up here (must have guessed by the description already as all the perms are already on the green list):

android.permission.QUERY_ALL_PACKAGES: needed to select apps to doze
android.permission.ACCESS_NETWORK_STATE: used to detect hotspot state to not disable wifi/data if hostpot is enabled
android.permission.READ_PHONE_STATE: to check if mobile data need to be disabled on Doze if configured
android.permission.ACCESS_WIFI_STATE: to check if WiFi needs to be disabled on Doze if configured
android.permission.CHANGE_WIFI_STATE: to disable WiFi on Doze if configured

Different wording (only thing I've changed right now is ACCESS_NETWORK_STATE concerning the hotspot), but seems to fit – or should I change something?

@farfromrefug
Copy link
Owner

Always amazed at how fast you find my apps :D

Big brother is wa… err, my crawlers are reporting nicely to me πŸ˜„

I updated the gradle for dependenciesInfo. Thanks!

Cool, thank YOU!

Mobile data is disabled in root using service call phone

Does that mean the app requires root? I thought you were ustilizing Shizuku to not require root? Just asking, because if root is required we should mark that, to avoid disappointment.

It has a non root mode as explained in the readme. But yes if you want the full potential you need root.
I could create a table with features and those requiring root or not

OK, let's see what I've set up here (must have guessed by the description already as all the perms are already on the green list):

android.permission.QUERY_ALL_PACKAGES: needed to select apps to doze
android.permission.ACCESS_NETWORK_STATE: used to detect hotspot state to not disable wifi/data if hostpot is enabled
android.permission.READ_PHONE_STATE: to check if mobile data need to be disabled on Doze if configured
android.permission.ACCESS_WIFI_STATE: to check if WiFi needs to be disabled on Doze if configured
android.permission.CHANGE_WIFI_STATE: to disable WiFi on Doze if configured

Different wording (only thing I've changed right now is ACCESS_NETWORK_STATE concerning the hotspot), but seems to fit – or should I change something?

All seems good to me. Do you want me to put that in the Readme too?

@IzzySoft
Copy link
Author

IzzySoft commented Sep 9, 2024

It has a non root mode as explained in the readme. But yes if you want the full potential you need root.

OK, then we got that right. It does not require root (to work at all), but it can do more if it has root.

I could create a table with features and those requiring root or not

Not a bad idea I'd say – so folks know what to expect, and not disappointed when having no root access that exactly the thing they wanted is not there.

All seems good to me. Do you want me to put that in the Readme too?

Can't hurt, but up to you of course – it's your repo here πŸ˜ƒ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants