Skip to content

[Diagnostic] Disable GMS Wearable integration to isolate Play Protect crash#1815

Draft
mzorz wants to merge 1 commit into
trunkfrom
mzorz/diagnostic-disable-wearable
Draft

[Diagnostic] Disable GMS Wearable integration to isolate Play Protect crash#1815
mzorz wants to merge 1 commit into
trunkfrom
mzorz/diagnostic-disable-wearable

Conversation

@mzorz
Copy link
Copy Markdown
Contributor

@mzorz mzorz commented May 29, 2026

Fix

Diagnostic-only branch. Do not merge.

Several users report that the Android system dialog "Google Play Protect Service keeps stopping" appears every few minutes (and sometimes immediately) while editing notes in Simplenote. See DODROID-884 and the forum thread. One user is on a Pixel 6 Pro (likely Android 16 stable) where the dialog appears immediately on app launch.

The dialog is a Google Play Services process crash, not a Simplenote crash. The leading hypothesis is that our WearableListenerService causing GMS to bind to our app for Wearable transport / node discovery is what tickles the GMS Chimera crash on these Android builds. Simplenote is unusual in hosting that service alongside a continuous Simperium WebSocket session, which lines up with the user observation that "no other apps do this."

This branch strips every phone-app touchpoint with GMS Wearable:

  • Drops com.google.android.gms:play-services-wearable:19.0.0
  • Drops wearApp project(':Wear') bundling
  • Removes SimplenoteWearListenerService and its MESSAGE_RECEIVED intent filter
  • Removes the now-orphan com.google.android.gms.version meta-data (Wearable was the only GMS client lib)

The :Wear module source is untouched.

Test

  1. Build the diagnostic APK: ./gradlew :Simplenote:assembleDebug
  2. Output: Simplenote/build/outputs/apk/debug/Simplenote-debug.apk (applicationId com.automattic.simplenote.debug, installs side-by-side with production).
  3. Hand the APK to an affected user (Pixel 6 Pro / Android 16+, or a Pixel 10 Pro / Android 17 beta tester).
  4. Ask them to uninstall the Play Store production Simplenote first while testing — otherwise the production app's WearableListenerService is still on the device and Play Protect could still trigger from it.
  5. Use the app normally for 15+ minutes of note editing.
  6. Pass: no "Google Play Protect Service keeps stopping" dialogs. → GMS Wearable is confirmed as the trigger; next step is to gate the listener behind "a paired Wear node exists" or push a clean repro to Google.
  7. Fail: dialog still appears. → Wearable isn't the trigger; reopen the investigation (Simperium WebSocket churn, org.apache.http.legacy uses-library, GMS Play Protect on those Android builds).

Review

  • Confirm no other phone-side code paths reference the deleted class or com.google.android.gms.wearable.*. grep was clean at branch time.
  • The note_added string (used only by the deleted service) is intentionally left in values*/strings.xml to keep this branch a one-variable experiment. If we ever promote any of this to a permanent change those strings should go.
  • Watch app (:Wear) source is unchanged; only the bundling is removed.

Release

No release notes needed. This branch is diagnostic and not intended to ship.

Strip every phone-app touchpoint with Google Play Services Wearable
to isolate whether the recurring 'Google Play Protect Service keeps
stopping' dialog reported by users is triggered by our binding to
GMS Wearable.

- Drop play-services-wearable dependency
- Drop wearApp bundling of the :Wear module
- Remove SimplenoteWearListenerService and its MESSAGE_RECEIVED filter
- Remove the now-orphan com.google.android.gms.version meta-data
  (Wearable was the only GMS client lib in use)

Diagnostic build only -- not intended to merge. See DODROID-884.
@dangermattic
Copy link
Copy Markdown
Collaborator

1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Copy Markdown
Collaborator

📲 You can test the changes from this Pull Request in Simplenote Android by scanning the QR code below to install the corresponding build.

App NameSimplenote Android
Build TypeDebug
Commit44e5f7e
Direct Downloadsimplenote-android-prototype-build-pr1815-44e5f7e-019e7306-1810-4d95-bb9a-40882167909c.apk

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

Successfully merging this pull request may close these issues.

3 participants