I installed BBC Weather on a Pixel 6a. Location permissions are set up as here:

https://discuss.grapheneos.org/d/14843-google-timeline-location-data-now-saved-on-device-should-we-use-it-and-how/6

...doing everything before "find my device".
As a result of that Google Maps can get my location even when indoors. BBC weather absolutely refuses to, though. I can see Play Services make a location request when I open it, but the app times out and asks me to turn on device location.

What might be going on here?

7 days later

I have since tried Breezy Weather from Fdroid and that can't get my location either. I can see Google Play Services making a location request but it times out.
Precise location and location all the time are granted to the app and play services.
The same problem is affecting OSMAnd, but not Google Maps.

  • de0u replied to this.

    knirirr Does this happen everywhere? On cellular data, or just on Wi-Fi?

    I've not got a SIM in this phone so I've not been able to test it on the mobile network. I just checked outside with a successful GPS lock and that resolves the issue, so it appears that these apps aren't able to find location via wifi even though the necessary settings are turned on (and Google Maps does work without GPS).

    • de0u replied to this.

      knirirr It appears that these apps aren't able to find location via wifi even though the necessary settings are turned on (and Google Maps does work without GPS).

      Can you try a different Wi-Fi network? Maybe a public library or something?

        I've been testing a bunch of weather apps since I'm unsatisfied with my current one. I wanted to find apps that work without dynamic code loading via storage. I'm also experiencing an issue where many apps fail to pinpoint my location, even after granting them permission, enabling the "reroute location requests via the OS" setting in the sandboxed Google Play compatibility layer, and enabling both exploit protection compatibility mode and WebView JIT for them.

        A separate issue that may initially seem related is that some of these apps fail to display a map/weather radar, and instead print the text "Google Play services is updating". I've found that this was caused by the restriction against dynamic code loading via storage. Allowing DCL via storage fixed this for me.

        Not all apps fail to pinpoint my location, and I can easily get my location using a random "what's my geoposition?" website that I found. Not all apps that display a map/weather radar fail in the way I described when dynamic code loading is restricted. Some apps have only this issue, or that issue, or both, or neither.

        I can list some examples of weather apps I've tested that have the location pinpointing issue. I've only checked apps in Google Play Store. I'm avoiding installing new apps from F-Droid because it's prone to distribute malware and rogue updates that turn legitimate apps installed from F-Droid into malware.

          Watermelon @spring-onion

          Weather apps that fail to pinpoint location even with exploit protection compatibility mode and WebView JIT both enabled:

          1. 1Weather: https://play.google.com/store/apps/details?id=com.handmark.expressweather
          2. Overdrop: https://play.google.com/store/apps/details?id=widget.dd.com.overdrop.free
          3. Weather XL: https://play.google.com/store/apps/details?id=com.exovoid.weather.app
          4. Weather XS: https://play.google.com/store/apps/details?id=com.exovoid.weatherxs

          I figure I can also list the apps that have a problem with the map/radar, might be helpful:
          Weather apps that require DCL via storage to show a map/radar, otherwise the text "Google Play services is updating" is shown instead of the map/radar:

          1. Overdrop: https://play.google.com/store/apps/details?id=widget.dd.com.overdrop.free
          2. Today Weather: https://play.google.com/store/apps/details?id=mobi.lockdown.weather
          3. Weather XL: https://play.google.com/store/apps/details?id=com.exovoid.weather.app
          4. Weather XS: https://play.google.com/store/apps/details?id=com.exovoid.weatherxs

          @knirirr Feel free to test like what I've described and report what you get!

            Watermelon Dynamic code loading is allowed by default. We have a default exception for dynamic code loading from storage for Play services and apps using Play services since they require it, so if you disable dynamic code loading from storage by default it remains enabled for those unless you explicitly disable it for them. It will generate notifications saying that this is what is wrong.

              @Watermelon Made the edit you wanted to make in your comment for you. We have to keep the 10 minute edit timer since allowing it indefinitely was abused by spammers and trolls including to put obscene links in old threads where moderators wouldn't spot it.

                GrapheneOS Yes, I know, it was intentional. My thinking was if I'm gonna have a weather widget with constant access to my location, I want it to be compatible with all mitigations ideally, and anti-DCL via storage at least. Other apps that I've tested show a map/radar even with DCL via storage restricted.

                GrapheneOS Thank you!

                You know, I am just thinking, why would I use this service that way in the first place if I want privacy. Well, I might be wrong though and have no idea about your use case. BTW, the way I check weather forecast is directly on the website and if local I use PWA so I have weather forecast on one tap. I'd like to know better way as well if someone can elaborate here.

                  Cdc I don't know about OP, but I'm looking for a widget. PWAs can't have widgets. Also apps can have more features than a website. But indeed I've noticed many apps on the Play Store that claim that they share my location with third-parties for marketing, or transmit my data over an insecure connection (as shown in the data safety section in the Play Store page for the app).

                  • Cdc likes this.
                  12 days later

                  Watermelon I can still reproduce the location pinpointing issue on version 2025021100, on version 2025030200 before changing any settings, and on version 2025030200 after enabling the new setting: Settings app –> Location –> Location services –> Network location –> GrapheneOS proxy. I can also reproduce the "Google Play services are updating" error displaying instead of map/radar when DCL via storage is restricted.