microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.3k stars 1.7k forks source link

[com.triodos.bankinguk] Activating Mobile Secure Key fails #1881

Open JocelyneSze opened 1 year ago

JocelyneSze commented 1 year ago

Affected app Name: Triodos Bank UK Package id: com.triodos.bankinguk.325

Describe the bug The bank offers to the ability to activate Mobile Secure Key which replaces a physical DigiPass for approving payments etc. on the app. To activate the Mobile Secure Key, the user needs to upload photos of an identity document (e.g. driving license) and a video of the user's face. I was able to upload the photos of the identity document but at the page for uploading the video, the following error message appears "Please install Google Play Services to continue". I have confirmed with the bank that their app does not support microG, receiving the following reply "The Mobile Secure Key is not compatible with MicroG libraries; Google Play services are a pre-requisite for using the Mobile Secure Key."

To Reproduce Steps to reproduce the behavior:

  1. Download Triodos UK banking app
  2. Open the app and log in
  3. Click on Activate Mobile Secure Key under Feed
  4. Follow the instructions
  5. At the page where one has to take a video of one's face, the screen shows 'Please install Google Play Services to continue'.

Expected behavior I am able to upload a video of myself and activate the Mobile Secure Key.

Screenshots I took a log of the error that is split into two because of size limitations part I part II

System Android Version: 10 Custom ROM: /e/OS1.5-20221031230909

microG microG Core version: 0.2.24.223616-96 (f87cb98)-noen microG Self-Check results: All ticked

Additional context

tcecyk commented 1 year ago

missing gms.vision components as in https://github.com/microg/GmsCore/issues/395#issuecomment-739150148 ?

this probably doesn't work due to not implemented parts of the Vision API

 3229  3255 D ChimeraServiceProvider: serviceIntentCall: com.google.android.gms.common.telemetry.service.START -> Intent { act=com.google.android.gms.common.telemetry.service.START pkg=com.google.android.gms cmp=com.google.android.gms/org.microg.gms.DummyService }
 ..
 3229  3255 D ChimeraServiceProvider: query: content://com.google.android.gms.chimera/api_force_staging/com.google.android.gms.vision.ocr?requestStartTime=414613693
28090 31031 I iodos.bankingu: The ClassLoaderContext is a special shared library.
 ..
28090 31031 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.vision.ocr
28090 31031 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.vision.ocr
28090 31034 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.vision.face
28090 31034 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.vision.face
 ..
 3229  3255 D GmsDummySvc: bound by: GetServiceRequest{serviceId=TELEMETRY, gmsVersion=12451000, packageName='com.triodos.bankinguk', extras=Bundle[{api=mlkit:vision}]}

Vision API is on its way out and functionality moves to MLKit.

Klaasstap commented 1 year ago

I have exactly the same issue when setting up the app (Dutch version) on my new, de-googled device (/e/OS). Android version: 10 Custom ROM: /e/OS 1.9-20230310268292

MicroG version: 0.2.27.223616-1 (4ec0d9f)-noen microG Self-Check results: All ticked

logcat_installtriodosapp.txt

tcecyk commented 1 year ago

@Klaasstap - your logcat is for the [com.triodos.bankingnl] (NL version, not UK - could be different code)

Does the App behaviour you saw fit what @JocelyneSze described prior? If not, could/should be separate bug report.

The UK version fails specifically at calling vision api classes. It cannot work with microG at the moment. They are missing APIs and as they're already deprecated, I don't think it will see attention in its current form.

Klaasstap commented 1 year ago

triodosnl.txt Yes, it's exactly the same behaviour. Thanks for pointing out what the cause of the problem is. Maybe this second log does show that it's the vision API.

tcecyk commented 1 year ago

sorry, flew past me - the Vision API face request was indeed in your first logcat already, just not the explicit error messages

7658  7676 D ChimeraServiceProvider: query: content://com.google.android.gms.chimera/api_force_staging/com.google.android.gms.vision.face?requestStartTime=105165933
Klaasstap commented 1 year ago

@tcecyk Thank you for finding out!