microg / microg/GmsCore

[com.greengot] Can't open app due to TapAndPay API

Open
#2,086 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Affected app
Name: Green-Got
Package id: com.greengot

Describe the bug
When opening the app, it freezes just after trying to connect with my account

To Reproduce

  1. Open the app
  2. Click on Connect
  3. Enter email
  4. Enter the code received by email

Expected behavior
The app should open normally

System
Android Version: 12
Custom ROM: /e/OS 1.16-s

microG
microG Core version: 0.2.29.233013-2 (8c25b3f)
microG Self-Check results: All ticked

Additional context
When logging with ADB, I noticed 2 lines happening right when the application freezes:

11-10 11:22:11.259 D/GmsTapAndPay( 3539): onBind: Intent { act=com.google.android.gms.tapandpay.service.BIND pkg=com.google.android.gms }
11-10 11:54:37.304 D/GmsTapAndPay( 3539): bound by: GetServiceRequest{serviceId=TAP_AND_PAY, gmsVersion=12451000, packageName='com.greengot', extras=Bundle[{sdk_version=18.3.3}]}
11-10 11:54:37.308 W/GmsTapAndPay( 3539): Unknown method 74 in com.google.android.gms.tapandpay.internal.ITapAndPayService, skipping

Also I tried with an emulator with GAPPS installed and the ADB log indicates the following and the app launches correctly

11-10 11:45:14.400  1090  2448 W Pay     : Attempt to fetch active account from tapandpay failed. [CONTEXT service_id=198 ]
11-10 11:45:14.400  1090  2448 W Pay     : java.util.concurrent.ExecutionException: m.esw: 17: API: TapAndPay.TAP_AND_PAY_API is not available on this device. Connection failed with: erc{statusCode=SERVICE_INVALID, resolution=null, message=null}
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.wld.k(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):32)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.wld.j(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):39)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.jfl.a(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):31)
11-10 11:45:14.400  1090  2448 W Pay     : 	at com.google.android.gms.pay.gcmtask.PayGcmTaskChimeraService.a(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):67)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.icg.call(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):32)
11-10 11:45:14.400  1090  2448 W Pay     : 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.fgr.c(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):50)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.fgr.run(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):76)
11-10 11:45:14.400  1090  2448 W Pay     : 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
11-10 11:45:14.400  1090  2448 W Pay     : 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
11-10 11:45:14.400  1090  2448 W Pay     : 	at aizt.run(:com.google.android.gms@234414035@23.44.14 (150800-580326705):8)
11-10 11:45:14.400  1090  2448 W Pay     : 	at java.lang.Thread.run(Thread.java:923)
11-10 11:45:14.400  1090  2448 W Pay     : Caused by: m.esw: 17: API: TapAndPay.TAP_AND_PAY_API is not available on this device. Connection failed with: erc{statusCode=SERVICE_INVALID, resolution=null, message=null}
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.eyx.a(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):15)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.etv.c(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):3)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.evg.t(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):48)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.evg.f(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):10)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.evg.j(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):233)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.evg.i(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):2)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.ezw.a(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):3)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.ezf.a(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):7)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.eyy.d(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):83)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.eyz.handleMessage(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):283)
11-10 11:45:14.400  1090  2448 W Pay     : 	at android.os.Handler.dispatchMessage(Handler.java:106)
11-10 11:45:14.400  1090  2448 W Pay     : 	at m.ibf.dispatchMessage(:com.google.android.gms.optional_pay@234414049@23.44.14 (100800-0):143)
11-10 11:45:14.400  1090  2448 W Pay     : 	at android.os.Looper.loop(Looper.java:223)
11-10 11:45:14.400  1090  2448 W Pay     : 	at android.os.HandlerThread.run(HandlerThread.java:67)

So it looks like the app works correctly even without Tap and Pay support, but doesn't work with microG for some reason

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the GmsTapAndPay service binding and the logged ITapAndPayService method 74 warning. Reproduce the Green-Got login flow on Android 12 with microG and compare it with the working GAPPS emulator. Done means the app opens normally after entering the email code without freezing because of the TapAndPay interaction.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.