FragmentBuildersModule.kt 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /* Copyright 2018 charlag
  2. *
  3. * This file is a part of Tusky.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it under the terms of the
  6. * GNU General Public License as published by the Free Software Foundation; either version 3 of the
  7. * License, or (at your option) any later version.
  8. *
  9. * Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
  10. * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
  11. * Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License along with Tusky; if not,
  14. * see <http://www.gnu.org/licenses>. */
  15. package com.keylesspalace.tusky.di
  16. import com.keylesspalace.tusky.AccountsInListFragment
  17. import com.keylesspalace.tusky.components.account.list.ListsForAccountFragment
  18. import com.keylesspalace.tusky.components.account.media.AccountMediaFragment
  19. import com.keylesspalace.tusky.components.accountlist.AccountListFragment
  20. import com.keylesspalace.tusky.components.conversation.ConversationsFragment
  21. import com.keylesspalace.tusky.components.instancemute.fragment.InstanceListFragment
  22. import com.keylesspalace.tusky.components.notifications.NotificationsFragment
  23. import com.keylesspalace.tusky.components.preference.AccountPreferencesFragment
  24. import com.keylesspalace.tusky.components.preference.NotificationPreferencesFragment
  25. import com.keylesspalace.tusky.components.preference.PreferencesFragment
  26. import com.keylesspalace.tusky.components.report.fragments.ReportDoneFragment
  27. import com.keylesspalace.tusky.components.report.fragments.ReportNoteFragment
  28. import com.keylesspalace.tusky.components.report.fragments.ReportStatusesFragment
  29. import com.keylesspalace.tusky.components.search.fragments.SearchAccountsFragment
  30. import com.keylesspalace.tusky.components.search.fragments.SearchHashtagsFragment
  31. import com.keylesspalace.tusky.components.search.fragments.SearchStatusesFragment
  32. import com.keylesspalace.tusky.components.timeline.TimelineFragment
  33. import com.keylesspalace.tusky.components.trending.TrendingFragment
  34. import com.keylesspalace.tusky.components.viewthread.ViewThreadFragment
  35. import com.keylesspalace.tusky.components.viewthread.edits.ViewEditsFragment
  36. import dagger.Module
  37. import dagger.android.ContributesAndroidInjector
  38. /**
  39. * Created by charlag on 3/24/18.
  40. */
  41. @Module
  42. abstract class FragmentBuildersModule {
  43. @ContributesAndroidInjector
  44. abstract fun accountListFragment(): AccountListFragment
  45. @ContributesAndroidInjector
  46. abstract fun accountMediaFragment(): AccountMediaFragment
  47. @ContributesAndroidInjector
  48. abstract fun viewThreadFragment(): ViewThreadFragment
  49. @ContributesAndroidInjector
  50. abstract fun viewEditsFragment(): ViewEditsFragment
  51. @ContributesAndroidInjector
  52. abstract fun timelineFragment(): TimelineFragment
  53. @ContributesAndroidInjector
  54. abstract fun notificationsFragment(): NotificationsFragment
  55. @ContributesAndroidInjector
  56. abstract fun notificationPreferencesFragment(): NotificationPreferencesFragment
  57. @ContributesAndroidInjector
  58. abstract fun accountPreferencesFragment(): AccountPreferencesFragment
  59. @ContributesAndroidInjector
  60. abstract fun conversationsFragment(): ConversationsFragment
  61. @ContributesAndroidInjector
  62. abstract fun accountInListsFragment(): AccountsInListFragment
  63. @ContributesAndroidInjector
  64. abstract fun reportStatusesFragment(): ReportStatusesFragment
  65. @ContributesAndroidInjector
  66. abstract fun reportNoteFragment(): ReportNoteFragment
  67. @ContributesAndroidInjector
  68. abstract fun reportDoneFragment(): ReportDoneFragment
  69. @ContributesAndroidInjector
  70. abstract fun instanceListFragment(): InstanceListFragment
  71. @ContributesAndroidInjector
  72. abstract fun searchStatusesFragment(): SearchStatusesFragment
  73. @ContributesAndroidInjector
  74. abstract fun searchAccountFragment(): SearchAccountsFragment
  75. @ContributesAndroidInjector
  76. abstract fun searchHashtagsFragment(): SearchHashtagsFragment
  77. @ContributesAndroidInjector
  78. abstract fun preferencesFragment(): PreferencesFragment
  79. @ContributesAndroidInjector
  80. abstract fun listsForAccountFragment(): ListsForAccountFragment
  81. @ContributesAndroidInjector
  82. abstract fun trendingFragment(): TrendingFragment
  83. }