Skip to content
This repository has been archived by the owner on Apr 12, 2023. It is now read-only.

[Android] マルチユーザー(プライマリーユーザーでない)環境でクラッシュする #632

Closed
keiji opened this issue Dec 22, 2021 · 5 comments · Fixed by #633 or #1016
Assignees
Labels
confirmed 開発内部管理用 enhancement 新しい機能や改善のリクエスト

Comments

@keiji
Copy link
Collaborator

keiji commented Dec 22, 2021

不具合の内容 / Describe the bug

マルチユーザー(複数ユーザー)環境で、プライマリーユーザーでない場合(2人目以降のユーザーの場合)、接触確認が有効にすることができず、初期設定時にクラッシュする。

再現手順 / Steps to reproduce

  1. マルチユーザー環境(プライマリーユーザーでない状態で)でCOCOAを起動する
  2. 接触通知機能を有効にする
  3. クラッシュする

期待される挙動 / Expected behavior

プライマリーユーザーでなくても接触確認APIが利用できる。利用開始できる。

スクリーンショット / Screenshots

動作環境 / Environments

  • デバイス:(例:Pixel 5、iPhone 6 等)
  • OS:Android(例:Android、iOS)
  • バージョン:1.4.1, 2.0.0

その他 / Additional context

Androidの接触確認APIはマルチユーザー環境では動作しないはず。
確認して接触確認APIの制約であれば、課題自体はwon't fixとする。

マルチユーザーが原因で接触確認APIが使えないことをCOCOAから知ることができれば、アラートなどで案内するのが親切だと思う。


Internal IDs:

  • Product Backlog Item 5304
@keiji keiji self-assigned this Dec 22, 2021
@b-wind
Copy link

b-wind commented Dec 22, 2021

Exposure Notifications System の仕組みから考えると同一端末を複数ユーザーで使い回すことは想定に無さそうに思えます。

仮に動作するとしても、複数アカウントが同一人物なのか複数人利用なのかでCOCOAとしてどう捉えるかの検討が必要そう。

適切なアナウンスが出せるなら出した方が良いと思います。

@keiji
Copy link
Collaborator Author

keiji commented Dec 23, 2021

ApiExceptionの17が出てました。
これならcatchできそうです。

https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes#public-static-final-int-api_not_connected

Caused by: com.google.android.gms.common.api.ApiException: 17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device. Connection failed with: ConnectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null}
12-23 10:27:33.765 29130 29130 V mono-stdout: "2021/12/23 10:27:33","Info","End","IsCanConfirmExposure","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Repository/UserDataRepository.cs","458","Android","12","Pixel 3","Physical","APP_VERSION","5"
12-23 10:27:33.769 29130 29130 V mono-stdout: "2021/12/23 10:27:33","Info","End","UpdateView","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/ViewModels/HomePage/HomePageViewModel.cs","316","Android","12","Pixel 3","Physical","APP_VERSION","5"
12-23 10:27:33.773 29130 29130 D AndroidRuntime: Shutting down VM
12-23 10:27:33.774 29130 29130 E AndroidRuntime: FATAL EXCEPTION: main
12-23 10:27:33.774 29130 29130 E AndroidRuntime: Process: APP_PACKAGE_NAME.APP_PACKAGE_NAME, PID: 29130
12-23 10:27:33.774 29130 29130 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:558)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	... 1 more
12-23 10:27:33.774 29130 29130 E AndroidRuntime: Caused by: com.google.android.gms.common.api.ApiException: 17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device. Connection failed with: ConnectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null}
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.TaskUtil.trySetResultOrApiException(com.google.android.gms:play-services-base@@17.6.0:3)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.google.android.gms.internal.nearby.zzan.onResult(com.google.android.gms:play-services-nearby@@18.0.3:1)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.6.0:2)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at com.google.android.gms.internal.base.zab.onTransact(com.google.android.gms:play-services-base@@17.6.0:3)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at android.os.Binder.execTransactInternal(Binder.java:1184)
12-23 10:27:33.774 29130 29130 E AndroidRuntime: 	at android.os.Binder.execTransact(Binder.java:1143)
12-23 10:27:33.779 29130 29130 I MonoDroid: UNHANDLED EXCEPTION:
12-23 10:27:33.783 29130 29130 I MonoDroid: Java.Lang.RuntimeException: java.lang.reflect.InvocationTargetException ---> Java.Lang.ReflectiveOperationException: Exception of type 'Java.Lang.ReflectiveOperationException' was thrown. ---> Android.Gms.Common.Apis.ApiException: 17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device. Connection failed with: ConnectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null}
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Chino.Android.Google.ExposureNotificationClient.StartAsync () [0x00098] in <672c8d30e1cb474994b1c3756583e6d4>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Covid19Radar.Droid.Services.ExposureNotificationApiService.StartAsync () [0x0006e] in <eed2c552e51946e88f3dbadc01b4a960>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Covid19Radar.Droid.Services.ExposureNotificationApiService.StartExposureNotificationAsync () [0x000be] in <eed2c552e51946e88f3dbadc01b4a960>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Covid19Radar.ViewModels.HomePageViewModel.StartExposureNotificationAsync () [0x000be] in <fd51507eda3c450b98e7278020c81aa4>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Covid19Radar.ViewModels.HomePageViewModel.Initialize (Prism.Navigation.INavigationParameters parameters) [0x00158] in <fd51507eda3c450b98e7278020c81aa4>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <3b721fa860444161ac75dca51ec0476f>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <e02651e0999f40db8f098ddac8bd9323>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <e02651e0999f40db8f098ddac8bd9323>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <e02651e0999f40db8f098ddac8bd9323>:0
12-23 10:27:33.783 29130 29130 I MonoDroid:   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.57(intptr,intptr)
12-23 10:27:33.783 29130 29130 I MonoDroid:    --- End of inner exception stack trace ---
12-23 10:27:33.783 29130 29130 I MonoDroid:    --- End of inner exception stack trace ---
12-23 10:27:33.783 29130 29130 I MonoDroid:   --- End of managed Java.Lang.RuntimeException stack trace ---
12-23 10:27:33.783 29130 29130 I MonoDroid: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:558)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
12-23 10:27:33.783 29130 29130 I MonoDroid: Caused by: java.lang.reflect.InvocationTargetException
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at java.lang.reflect.Method.invoke(Native Method)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	... 1 more
12-23 10:27:33.783 29130 29130 I MonoDroid: Caused by: com.google.android.gms.common.api.ApiException: 17: API: Nearby.EXPOSURE_NOTIFICATION_API is not available on this device. Connection failed with: ConnectionResult{statusCode=UNKNOWN_ERROR_CODE(39501), resolution=null, message=null}
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.google.android.gms.common.api.internal.TaskUtil.trySetResultOrApiException(com.google.android.gms:play-services-base@@17.6.0:3)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.google.android.gms.internal.nearby.zzan.onResult(com.google.android.gms:play-services-nearby@@18.0.3:1)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.6.0:2)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at com.google.android.gms.internal.base.zab.onTransact(com.google.android.gms:play-services-base@@17.6.0:3)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at android.os.Binder.execTransactInternal(Binder.java:1184)
12-23 10:27:33.783 29130 29130 I MonoDroid: 	at android.os.Binder.execTransact(Binder.java:1143)
12-23 10:27:33.783 29130 29130 I MonoDroid:
12-23 10:27:33.786  1980  4154 W ActivityTaskManager:   Force finishing activity APP_PACKAGE_NAME.APP_PACKAGE_NAME/crc6409d08e6225047de9.MainActivity

@keiji keiji added COCOA2 enhancement 新しい機能や改善のリクエスト waiting-for-confirmation 関係者に確認中のもの labels Dec 23, 2021
@cocoa-dev008 cocoa-dev008 added the confirmed 開発内部管理用 label Dec 24, 2021
@cocoa-dev008 cocoa-dev008 removed the waiting-for-confirmation 関係者に確認中のもの label Jan 7, 2022
@keiji
Copy link
Collaborator Author

keiji commented Apr 28, 2022

これもう少し優先度上げて対応した方がよさそう。
https://www.facebook.com/noritsuna/posts/10221460225155151

@keiji keiji changed the title [Android] マルチユーザー(プライマリーユーザーでない)環境で接触確認が有効にならない・設定画面が開かない [Android] マルチユーザー(プライマリーユーザーでない)環境でクラッシュする May 13, 2022
@keiji
Copy link
Collaborator Author

keiji commented May 13, 2022

開発チームより「そもそも初期設定時にクラッシュしますね」と指摘をもらったので、タイトルや内容を調整しました。

初期設定が終わってホーム画面の表示まで行くパターンは、設定ファイルがリストアされたとかそういう理由かも。

@ghost ghost closed this as completed in #633 May 22, 2022
@keiji keiji reopened this May 23, 2022
@keiji
Copy link
Collaborator Author

keiji commented May 23, 2022

開発チームより、ホームページが表示されたパターンで「複数ユーザーはサポートしていません」ダイアログが表示されないという報告があったのでreopenします。

This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
confirmed 開発内部管理用 enhancement 新しい機能や改善のリクエスト
Projects
COCOA2
  
Awaiting triage
3 participants