• General
  • Compatibility of MindBody app

MindBody is an app for finding fitness classes. It has 35M customers and services 58K businesses.

When searching for a class, I get a non-modal banner that says "Invalid Location" which prevents the app from functioning. I'm on GrapheneOS based on Android 13, and the app also didn't work on GrapheneOS based on Android 12. I tried both the rerouted and GPS-based location services.

I don't see anyone reporting this issue to Mind Body, so I suspect it's an issue related to GrapheneOS.

Where would be the best place to push this issue in order to improve compatibility with more apps?

    jeff-y for the OS GNSS location this will require a little longer to lock and in most cases requires direct line of sight to the sky. If using the Google Location service have you fully followed the configuration instructions?

    Configuration

    The compatibility layer has a configuration menu available at Settings ➔ Apps ➔ Sandboxed Google Play.

    By default, apps using Google Play geolocation are redirected to our own implementation on top of the standard OS geolocation service. If you want to use Google's geolocation service instead, you can disable the "Reroute location requests to OS APIs" toggle and manually grant "Allow all the time" Location access to Google Play services. For it to be fully functional, you also need to use "Google Location Accuracy" link to access the Google Play services menu for opting into their network location service. This will send the nearby Wi-Fi and cellular networks provided via the Location permission to their service to retrieve a location estimate. The Nearby Devices permission can also be granted to give it access to nearby Bluetooth device IDs. If you stick with the default enabled redirection mode, none of this needs to be granted for working geolocation in apps. In order to fully take advantage of Wi-Fi and Bluetooth scanning, you also need to enable the scanning toggles in Settings ➔ Location ➔ Location services which are disabled by default rather than enabled by default like the stock OS.

    Re-routing location to the OS geolocation service will use more power than using the Google Play geolocation service since we do not provide a network-based location service and implement it via GNSS / A-GPS only. In the future, we plan on providing a pseudo-network geolocation service for the OS by using a local database of cell towers, and the location redirection feature can also make use of this future OS implementation for network location requests once it's available.

    The Google Location Accuracy and Google settings activities would normally be integrated into the OS but we don't include any of the standard Google Play integration so there needs to be an app providing a way to access them.

    The menu also provides links to this usage guide, Play services system settings, Play Store system settings and Google settings. The Play services and Play Store system settings are only included for convenience since they can be accessed the same way as any other app via Settings ➔ Apps.

    Source: https://grapheneos.org/usage#sandboxed-google-play-configuration

    Please also familiarise yourself with the limitations too: https://grapheneos.org/usage#sandboxed-google-play-limitations

      MetropleX Yes, I've tried with OS geolocation and Google's geolocation. I've previously read the instructions and configured it accordingly, and I don't usually have problems with geolocation in other apps.

      Here's a hypothesis. The app is trying to bring up a map, and the error (which seems to be drawn by the OS and not the app) is "Invalid Location". Is it possible the problem is with the Maps API shim instead, and it's being called with a null or uninitialized value, which the Google implementation handles more gracefully?

      You can ignore that guess. I'm not even sure that a Maps API shim exists.

        a month later

        Any suggestions for how to proceed?