cocoa-mhlw / cocoa

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Android] 言語設定を変えてCOCOAを開くとApiExceptionが発生することがある

keiji opened this issue · comments

不具合の内容 / Describe the bug

言語設定を変えて(厳密に言うとCHANGE_CONFIGURATIONを発生させて)、すぐにCOCOAを開くとApiExceptionが発生することがある。

再現手順 / Steps to reproduce

  1. '設定'の言語切り替えに行き、
  2. 端末の設定源を変更して、
  3. COCOAを開くと(またはタスクをCOCOAに戻すと)、
  4. エラーが発生します。

期待される挙動 / Expected behavior

エラーが発生しない。

スクリーンショット / Screenshots

device-2022-04-22-103029.mp4

動作環境 / Environments

  • デバイス:Pixel 3, Pixel 4a, Pixel 5a
  • OS:Android
  • バージョン:v2.0.0

その他 / Additional context

エラーログ

おそらく、Change ConfigurationのタイミングでGoogle Play Servicesの再初期化が走り、サービスとの接続が失われるのでApiExceptionが発生。再接続しようとしても初期化が完了して折らず、サービスに接続できずにApiExceptionが発生している。

04-22 09:57:54.474 10762 10762 E AndroidRuntime: FATAL EXCEPTION: main
04-22 09:57:54.474 10762 10762 E AndroidRuntime: Process: jp.go.mhlw.covid19radar, PID: 10762
04-22 09:57:54.474 10762 10762 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:558)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	... 1 more
04-22 09:57:54.474 10762 10762 E AndroidRuntime: Caused by: com.google.android.gms.common.api.ApiException: 20: The connection to Google Play services was lost due to service disconnection.
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.zaaa.zah(com.google.android.gms:play-services-base@@17.6.0:12)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.zaaa.zae(com.google.android.gms:play-services-base@@17.6.0:7)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.zabl.zaC(com.google.android.gms:play-services-base@@17.6.0:3)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.zabl.onConnectionSuspended(com.google.android.gms:play-services-base@@17.6.0:2)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.internal.zah.onConnectionSuspended(com.google.android.gms:play-services-base@@17.6.0:1)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at com.google.android.gms.common.internal.zzb.handleMessage(com.google.android.gms:play-services-basement@@17.6.0:25)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
04-22 09:57:54.474 10762 10762 E AndroidRuntime: 	at android.os.HandlerThread.run(HandlerThread.java:67)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: FATAL EXCEPTION: main
04-22 09:58:13.755 11805 11805 E AndroidRuntime: Process: jp.go.mhlw.covid19radar, PID: 11805
04-22 09:58:13.755 11805 11805 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:558)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	... 1 more
04-22 09:58:13.755 11805 11805 E AndroidRuntime: Caused by: com.google.android.gms.common.api.ApiException: 8: chaf: Timed out: chab@61565c6[status=PENDING]
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.TaskUtil.trySetResultOrApiException(com.google.android.gms:play-services-base@@17.6.0:3)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.google.android.gms.internal.nearby.zzao.onResult(com.google.android.gms:play-services-nearby@@18.1.1:1)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.6.0:2)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at com.google.android.gms.internal.base.zab.onTransact(com.google.android.gms:play-services-base@@17.6.0:3)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at android.os.Binder.execTransactInternal(Binder.java:1184)
04-22 09:58:13.755 11805 11805 E AndroidRuntime: 	at android.os.Binder.execTransact(Binder.java:1143)

ApiExceptionをENExceptionに変換しておく必要がある。Cappuccino側の改修が必要になるかも。

やっぱりCappuccino側で対応が必要。

#816 の再現方法が確立したと言うことでもある。