Firebase Crashlytics Crashes

XMLWordPrintable

    • Type: Task
    • Resolution: Unresolved
    • Priority: High
    • 2.10
    • Affects Version/s: None
    • None
    • FLW Mobile App
    • Prod

      Fix critical crashes reported in Firebase Crashlytics affecting production users in versions 2.8.x.

        Crashes Fixed:
        - NewChildBenViewModel.setUpPage - NullPointerException (103 events, 25 users)
        - BenRegFormDataset.mapValues - NullPointerException (88 events, 23 users)
        - HouseholdFormDataset.setupPage - NullPointerException (24 events, 7 users)
        - NewBenRegFragment.getBinding - NullPointerException (11 events, 11 users)
        - AshaProfileViewModel.saveForm - UninitializedPropertyAccessException (10 events, 2 users)
        - HeaderScrollingViewBehavior.layoutChild - IllegalArgumentException (10 events, 7 users)
        - AshaProfileFragment navigation - IllegalArgumentException (9 events, 3 users)
        - SignInFragment - ActivityNotFoundException (5 events, 1 user)
        - NewBenRegViewModel.setUpPage - NullPointerException (5 events, 4 users)
        - AllHouseholdFragment navigation - IllegalArgumentException (4 events, 4 users)
        - AbhaIdRepo.saveAbhaModelFromRequest - NullPointerException (3 events, 3 users)
        - ImmunizationFormViewModel.setList - UninitializedPropertyAccessException (2 events, 1 user)
        - NewBenRegFragment.showAddSpouseAlert - IllegalStateException (2 events, 2 users)
        - HomeActivity.setUpActionBar - ActivityNotFoundException (2 events, 1 user)
        - UWINDataset.handleListOnValueChanged - ClassCastException (1 event, 1 user)
        - EligibleCoupleRegFragment.onActivityResult - NullPointerException (1 event, 1 user)
        - Dataset.dateFormate - ParseException (runtime crash on empty date string)
        - FormInputAdapter.validateInput - NullPointerException
        - ApiAnalyticsInterceptor.intercept - crash due to BuildConfig.DEBUG check

        Rapid-tap navigation crashes fixed across 38 list screens:
        - Added navigation destination guards to prevent double-tap crashes in All Household, All Beneficiary, Household Members, Eligible Couple, ANC
        Visits, PNC Mother, Pregnant Women Registration, Adolescent, Child Registration, Delivery Outcome, Infant Registration, Abortion, e-PMSMA, NCD
        Eligible, NCD Referred, TB Screening, TB Suspected, TB Confirmed, Disease Control (Malaria, AES, Kala Azar, Filaria, Leprosy), Death Reports (CDR,
         MDSR, GDR, NMDSR), High Risk Assessment, and Child Immunization screens.
        - Added bottom sheet duplicate-show guards for ECT Tracking, Child Immunization, NCD Eligible, HRP Pregnant, and HRP Non-Pregnant screens.

        Fix approach:
        - Replaced force-unwrap (!!) operators with safe null handling (?: return with SAVE_FAILED state)
        - Added _binding ?: return guards in fragment callbacks that fire after view destruction
        - Added findNavController().currentDestination?.id checks before all list screen navigations
        - Added isBottomSheetShowing flag with FragmentManager.FragmentLifecycleCallbacks for bottom sheet guards
        - Wrapped Intent.ACTION_VIEW calls with try-catch for ActivityNotFoundException
        - Replaced app:layout_behavior with paddingTop in activity_home.xml to eliminate Material library crash

              Assignee:
              Deep Shikha
              Reporter:
              Ishwar Chouhan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: