jwoglom / controlX2

Android + Wear OS application for Tandem insulin pumps
34 stars 7 forks source link

App requires "Wear OS" Application, despite App already being Installed #12

Open NethCoder opened 1 year ago

NethCoder commented 1 year ago

Hello. Thank you about the previous request. I have changed to an Oppo Find N2 Phone (Chinese with Global ROM & Google Play Store).

Yet, when I start ControlX2 I get the error that I need to install Wear OS. Screenshot 2023-05-21 ControlX2

I have installed both the US & Chinese versions of Wear OS, but ControlX2 does not seem to recognize either.

When I choose "Install" on the error, the app search defaults to the Chinese App Store, and whichever app is required is not found. Screenshot 2023-05-21 App Market

I tried to use Android Studio to manually include the libraries, but I can't get past all the errors regarding the import of "com.google.android.gms.common.api.GoogleApiClient" in MainActivity.kt, BolusNotificationBroadcastReceiver.kt,CommService.kt in Mobile; and DataClientState.kt in mobile/util.

I'm hoping it isn't the Phone. This app was incredibly useful on my Samsung!

jwoglom commented 1 year ago

Hm, interesting. I actually ran into similar issues (minus the Oppo/Chinese app store part) on an older phone where I had lineageos + google apps installed. Even with the Wear OS app installed (which is 'com.google.android.wearable.app' btw) I couldn't load the libraries inside the app.

The real fix for this whole mess, on my end, is to stop using this legacy wearable library as the primary communication method across the entire app. Essentially, I built controlx2 from the beginning with an architecture where the watch communicated with a background service running on the connected phone, via this library, and then re-used that same communication method between the foreground phone app and the background service, which is why the dependency is critical for the app to work at all in its current state. Can't really promise an ETA of when I'll get to this, but it's on the project roadmap.