android / android/tv-samples

Crash in LeanbackShowcase LiveDataRowsActivity

Open
#61 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.