Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FATAL EXCEPTION when Autocomplete widget switched to error state mode in the catalog app. #2779

Open
santosh-pingle opened this issue Jan 30, 2025 · 1 comment
Assignees
Labels
P1 High priority issue

Comments

@santosh-pingle
Copy link
Collaborator

Describe the bug

                                                                                                    Process: com.google.android.fhir.catalog, PID: 10044
                                                                                                    java.lang.RuntimeException: An exception happened in constructor of class com.google.android.fhir.datacapture.QuestionnaireViewModel
                                                                                                    	at androidx.lifecycle.SavedStateViewModelFactoryKt.newInstance(SavedStateViewModelFactory.kt:232)
                                                                                                    	at androidx.lifecycle.SavedStateViewModelFactory.create(SavedStateViewModelFactory.kt:131)
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187)
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153)
                                                                                                    	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:53)
                                                                                                    	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:35)
                                                                                                    	at com.google.android.fhir.datacapture.QuestionnaireFragment.getViewModel(QuestionnaireFragment.kt:52)
                                                                                                    	at com.google.android.fhir.datacapture.QuestionnaireFragment.onViewCreated(QuestionnaireFragment.kt:103)
                                                                                                    	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3147)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
                                                                                                    	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
                                                                                                    	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
                                                                                                    	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
                                                                                                    	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:255)
                                                                                                    	at android.os.Looper.loop(Looper.java:364)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8979)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1053)
                                                                                                    Caused by: java.lang.IllegalArgumentException: Questionnaire item 1 has both initial value(s) and has answerOption. See rule que-11 at https://www.hl7.org/fhir/questionnaire-definitions.html#Questionnaire.item.initial.
                                                                                                    	at com.google.android.fhir.datacapture.extensions.MoreQuestionnaireItemComponentsKt.createQuestionnaireResponseItemAnswers(MoreQuestionnaireItemComponents.kt:978)
                                                                                                    	at com.google.android.fhir.datacapture.extensions.MoreQuestionnaireItemComponentsKt.createQuestionnaireResponseItem(MoreQuestionnaireItemComponents.kt:948)
                                                                                                    	at com.google.android.fhir.datacapture.QuestionnaireViewModel.<init>(QuestionnaireViewModel.kt:163)
                                                                                                    	at java.lang.reflect.Constructor.newInstance0(Native Method)
                                                                                                    	at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
                                                                                                    	at androidx.lifecycle.SavedStateViewModelFactoryKt.newInstance(SavedStateViewModelFactory.kt:226)
                                                                                                    	at androidx.lifecycle.SavedStateViewModelFactory.create(SavedStateViewModelFactory.kt:131) 
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) 
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153) 
                                                                                                    	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:53) 
                                                                                                    	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:35) 
                                                                                                    	at com.google.android.fhir.datacapture.QuestionnaireFragment.getViewModel(QuestionnaireFragment.kt:52) 
                                                                                                    	at com.google.android.fhir.datacapture.QuestionnaireFragment.onViewCreated(QuestionnaireFragment.kt:103) 
                                                                                                    	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3147) 
                                                                                                    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588) 
                                                                                                    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272) 
                                                                                                    	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943) 
                                                                                                    	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845) 
                                                                                                    	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782) 
                                                                                                    	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:255) 
                                                                                                    	at android.os.Looper.loop(Looper.java:364) 
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8979) 
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572) 
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1053)

Component
Core library, SDC library, reference app, or SDC gallery app

To Reproduce
Steps to reproduce the behavior:

  1. Go to catalog app.
  2. Click on Auto complete component.
  3. Click on gear icon in app bar
  4. Select Show error state from bottom view.
  5. App crash with fatal exception.
    Expected behavior
    App should not crash.

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: Nokia 3.4
  • Android version: 12
  • Build number: [e.g. Settings -> About phone -> Build number]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Would you like to work on the issue?
Please state if this issue should be assigned to you or who you think could help to solve this issue.

@santosh-pingle
Copy link
Collaborator Author

It seems the root cause is in the questionnaire.json file in the catalog app.

@santosh-pingle santosh-pingle added the P1 High priority issue label Feb 3, 2025
@santosh-pingle santosh-pingle self-assigned this Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 High priority issue
Projects
None yet
Development

No branches or pull requests

1 participant