farfromrefug / EnforceDoze

Enable Doze mode immediately after screen off and turn off motion sensing to get best battery life
GNU General Public License v3.0
105 stars 4 forks source link

Fastlane has wrong location #2

Closed IzzySoft closed 2 weeks ago

IzzySoft commented 2 months ago

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 :smiley:). 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 commented 2 months ago

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 commented 2 months ago

@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:

IzzySoft commented 2 months ago

Always amazed at how fast you find my apps :D

Big brother is wa… err, my crawlers are reporting nicely to me :smile:

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 commented 2 months ago

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 commented 2 months ago

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 :smiley:

IzzySoft commented 2 weeks ago

Thanks again!