Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object DI {
- const val APP_SCOPE = "app scope"
- const val DATA_SCOPE = "data scope"
- const val MAIN_ACTIVITY_SCOPE = "main activity scope"
- const val PRICE_ALERT_SERVICE_SCOPE = "price alert service scope"
- }
- //Main activity onCreate
- Toothpick.openScopes(DI.DATA_SCOPE, DI.MAIN_ACTIVITY_SCOPE).apply {
- installModules(MainActivityModule())
- Toothpick.inject(this@MainActivity, this)
- }
- //Service onCreate
- Toothpick.openScopes(DI.DATA_SCOPE, DI.PRICE_ALERT_SERVICE_SCOPE).apply {
- Toothpick.inject(this@PriceAlertService, this)
- }
- //Init app scope toothpick
- private void initAppScope() {
- Scope appScope = Toothpick.openScope(DI.APP_SCOPE);
- appScope.installModules((new AppModule(this)));
- Scope dataScope = Toothpick.openScopes(DI.APP_SCOPE, DI.DATA_SCOPE);
- dataScope.installModules((new ServerModule(BuildConfig.ORIGIN_API_ENDPOINT)));
- dataScope.installModules((new DatabaseModule()));
- }
- //Error
- E/AndroidRuntime: FATAL EXCEPTION: main
- Process: com.greatdealcompare.app, PID: 30271
- java.lang.RuntimeException: Unable to resume activity {com.greatdealcompare.app/com.greatdealcompare.app.ui.launch.MainActivity}: toothpick.configuration.MultipleRootException: Scope main activity scope is a new root in TP scope forest. Only one root is allowed in this configuration.
- at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)
- at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:148)
- at android.app.ActivityThread.main(ActivityThread.java:5417)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
- Caused by: toothpick.configuration.MultipleRootException: Scope main activity scope is a new root in TP scope forest. Only one root is allowed in this configuration.
- at toothpick.configuration.MultipleRootScopeCheckOnConfiguration.checkMultipleRootScopes(MultipleRootScopeCheckOnConfiguration.java:27)
- at toothpick.configuration.Configuration.checkMultipleRootScopes(Configuration.java:121)
- at toothpick.Toothpick.openScope(Toothpick.java:93)
- at toothpick.Toothpick.openScopes(Toothpick.java:50)
- at com.greatdealcompare.app.ui.product.ProductFragment.createPresenter(ProductFragment.kt:51)
- at com.greatdealcompare.app.ui.product.ProductFragment$$PresentersBinder$presenterBinder.providePresenter(ProductFragment$$PresentersBinder.java:24)
- at com.greatdealcompare.app.ui.product.ProductFragment$$PresentersBinder$presenterBinder.providePresenter(ProductFragment$$PresentersBinder.java:12)
- at com.arellomobile.mvp.MvpProcessor.getMvpPresenter(MvpProcessor.java:52)
- at com.arellomobile.mvp.MvpProcessor.getMvpPresenters(MvpProcessor.java:102)
- at com.arellomobile.mvp.MvpDelegate.onCreate(MvpDelegate.java:105)
- at com.arellomobile.mvp.MvpAppCompatFragment.onCreate(MvpAppCompatFragment.java:23)
- at android.support.v4.app.Fragment.performCreate(Fragment.java:2246)
- at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1377)
- at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1187)
- at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1070)
- at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:115)
- at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2374)
- at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
- at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2239)
- at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:781)
- at com.greatdealcompare.app.ui.launch.MainActivity.updateNavDrawer(MainActivity.kt:152)
- at com.greatdealcompare.app.ui.launch.MainActivity.access$updateNavDrawer(MainActivity.kt:46)
- at com.greatdealcompare.app.ui.launch.MainActivity$navigator$1.applyCommand(MainActivity.kt:115)
- at ru.terrakok.cicerone.CommandBuffer.executeCommand(CommandBuffer.java:43)
- at ru.terrakok.cicerone.CommandBuffer.setNavigator(CommandBuffer.java:26)
- at com.greatdealcompare.app.ui.launch.MainActivity.onResumeFragments(MainActivity.kt:93)
- at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:471)
- at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:171)
- at android.app.Activity.performResume(Activity.java:6351)
- at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)
- at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:148)
- at android.app.ActivityThread.main(ActivityThread.java:5417)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Add Comment
Please, Sign In to add comment