Crash in LeanbackShowcase LiveDataRowsActivity
- Dominant language
- Kotlin
- Stars
- 1.3k
- Forks
- 396
- PR merge metrics
- No merged PRs in 30d
Description
Dependency injection needs to be fixed for the Activity and Fragment, but the version of Dagger is also very old, so we need to investigate whether it makes sense to update to a newer version or move away from dependency injection.
```
FATAL EXCEPTION: main
Process: com.example.android.persistence, PID: 22860
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.persistence/androidx.leanback.leanbackshowcase.app.room.controller.overview.LiveDataRowsActivity}: java.lang.IllegalArgumentException: No injector factory bound for Class
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.IllegalArgumentException: No injector factory bound for Class
at dagger.android.DispatchingAndroidInjector.inject(DispatchingAndroidInjector.java:136)
at dagger.android.AndroidInjection.inject(AndroidInjection.java:59)
at androidx.leanback.leanbackshowcase.app.room.controller.overview.LiveDataRowsActivity.onCreate(LiveDataRowsActivity.java:52)
at android.app.Activity.performCreate(Activity.java:7817)
at android.app.Activity.performCreate(Activity.java:7806)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
```
Contributor guide
Research direction
Start with LiveDataRowsActivity.onCreate at line 52 and the reported No injector factory bound error, then inspect the related Activity and Fragment injection setup and the project's Dagger version. Reproduce the LeanbackShowcase crash and determine whether updating Dagger or changing the dependency-injection approach is appropriate; done means the Activity and Fragment launch without this exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100