From 16b504adfe9e18dc432d42c12c5c4ed2245a123d Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Thu, 26 Apr 2018 20:16:15 +0200 Subject: [PATCH] Moved ViewModel provisioning into Dagger graph Signed-off-by: Janne Koschinski <janne@kuschku.de> --- .../quasseldroid/dagger/ActivityBaseModule.kt | 37 +++++++++++++ .../quasseldroid/dagger/ActivityModule.kt | 54 +++++++++---------- .../ui/chat/ChatFragmentProvider.kt | 4 +- .../channel/ChannelInfoFragmentProvider.kt | 4 +- .../info/user/UserInfoFragmentProvider.kt | 4 +- .../ui/chat/input/ChatlineFragment.kt | 5 +- .../ui/chat/topic/TopicFragment.kt | 5 +- .../ui/chat/topic/TopicFragmentProvider.kt | 4 +- .../about/AboutFragmentProvider.kt | 4 +- .../client/ClientSettingsFragmentProvider.kt | 4 +- .../crash/CrashFragmentProvider.kt | 4 +- .../license/LicenseFragmentProvider.kt | 4 +- .../whitelist/WhitelistFragmentProvider.kt | 4 +- .../CoreSettingsFragmentProvider.kt | 4 +- .../aliasitem/AliasItemFragment.kt | 5 +- .../aliasitem/AliasItemFragmentProvider.kt | 4 +- .../aliaslist/AliasListFragmentProvider.kt | 4 +- .../ChatlistCreateFragmentProvider.kt | 4 +- .../chatlist/ChatlistEditFragmentProvider.kt | 4 +- .../HighlightListFragmentProvider.kt | 4 +- .../HighlightRuleFragmentProvider.kt | 4 +- .../IdentityCreateFragmentProvider.kt | 4 +- .../identity/IdentityEditFragmentProvider.kt | 4 +- .../ignoreitem/IgnoreItemFragmentProvider.kt | 4 +- .../ignorelist/IgnoreListFragmentProvider.kt | 4 +- .../network/NetworkCreateFragmentProvider.kt | 4 +- .../network/NetworkEditFragmentProvider.kt | 4 +- .../NetworkConfigFragmentProvider.kt | 4 +- .../NetworkServerFragmentProvider.kt | 4 +- .../setup/accounts/edit/AccountEditModule.kt | 4 +- .../AccountSelectionFragmentProvider.kt | 4 +- .../selection/AccountSelectionSlide.kt | 6 ++- .../setup/AccountSetupFragmentProvider.kt | 4 +- .../util/service/ServiceBoundActivity.kt | 5 +- .../util/service/ServiceBoundFragment.kt | 9 ++-- 35 files changed, 137 insertions(+), 97 deletions(-) create mode 100644 app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityBaseModule.kt diff --git a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityBaseModule.kt b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityBaseModule.kt new file mode 100644 index 000000000..44e5bbead --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityBaseModule.kt @@ -0,0 +1,37 @@ +package de.kuschku.quasseldroid.dagger + +import android.arch.lifecycle.ViewModelProvider +import android.arch.lifecycle.ViewModelProviders +import android.content.Context +import android.support.v4.app.FragmentActivity +import dagger.Module +import dagger.Provides +import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountViewModel +import de.kuschku.quasseldroid.viewmodel.EditorViewModel +import de.kuschku.quasseldroid.viewmodel.QuasselViewModel + +@Module +object ActivityBaseModule { + @Provides + @JvmStatic + fun bindContext(activity: FragmentActivity): Context = activity + + @Provides + @JvmStatic + fun provideViewModelProvider(activity: FragmentActivity) = ViewModelProviders.of(activity) + + @Provides + @JvmStatic + fun provideQuasselViewModel(viewModelProvider: ViewModelProvider) = + viewModelProvider[QuasselViewModel::class.java] + + @Provides + @JvmStatic + fun provideAccountViewModel(viewModelProvider: ViewModelProvider) = + viewModelProvider[AccountViewModel::class.java] + + @Provides + @JvmStatic + fun provideEditorViewModel(viewModelProvider: ViewModelProvider) = + viewModelProvider[EditorViewModel::class.java] +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt index daef1c0e8..9b59628b8 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt @@ -85,111 +85,111 @@ import de.kuschku.quasseldroid.ui.setup.accounts.setup.AccountSetupFragmentProvi @Module abstract class ActivityModule { @ActivityScope - @ContributesAndroidInjector(modules = [ChatActivityModule::class, ChatFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [ChatActivityModule::class, ChatFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindChatActivity(): ChatActivity @ActivityScope - @ContributesAndroidInjector(modules = [UserInfoFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [UserInfoFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindUserInfoActivity(): UserInfoActivity @ActivityScope - @ContributesAndroidInjector(modules = [ChannelInfoFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [ChannelInfoFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindChannelInfoActivity(): ChannelInfoActivity @ActivityScope - @ContributesAndroidInjector(modules = [TopicFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [TopicFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindTopicActivity(): TopicActivity @ActivityScope - @ContributesAndroidInjector(modules = [ClientSettingsFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [ClientSettingsFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindClientSettingsActivity(): ClientSettingsActivity @ActivityScope - @ContributesAndroidInjector(modules = [WhitelistFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [WhitelistFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindWhitelistActivity(): WhitelistActivity @ActivityScope - @ContributesAndroidInjector(modules = [CrashFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [CrashFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindCrashActivity(): CrashActivity @ActivityScope - @ContributesAndroidInjector(modules = [AboutFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AboutFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAboutActivity(): AboutActivity @ActivityScope - @ContributesAndroidInjector(modules = [LicenseFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [LicenseFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindLicenseActivity(): LicenseActivity @ActivityScope - @ContributesAndroidInjector(modules = [CoreSettingsFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [CoreSettingsFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindCoreSettingsActivity(): CoreSettingsActivity @ActivityScope - @ContributesAndroidInjector(modules = [NetworkCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [NetworkCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindNetworkCreateActivity(): NetworkCreateActivity @ActivityScope - @ContributesAndroidInjector(modules = [NetworkEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [NetworkEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindNetworkEditActivity(): NetworkEditActivity @ActivityScope - @ContributesAndroidInjector(modules = [NetworkServerFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [NetworkServerFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindNetworkServerActivity(): NetworkServerActivity @ActivityScope - @ContributesAndroidInjector(modules = [IdentityCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [IdentityCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindIdentityCreateActivity(): IdentityCreateActivity @ActivityScope - @ContributesAndroidInjector(modules = [IdentityEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [IdentityEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindIdentityEditActivity(): IdentityEditActivity @ActivityScope - @ContributesAndroidInjector(modules = [ChatlistCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [ChatlistCreateFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindChatListCreateActivity(): ChatlistCreateActivity @ActivityScope - @ContributesAndroidInjector(modules = [ChatlistEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [ChatlistEditFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindChatListEditActivity(): ChatlistEditActivity @ActivityScope - @ContributesAndroidInjector(modules = [IgnoreListFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [IgnoreListFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindIgnoreListActivity(): IgnoreListActivity @ActivityScope - @ContributesAndroidInjector(modules = [IgnoreItemFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [IgnoreItemFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindIgnoreItemActivity(): IgnoreItemActivity @ActivityScope - @ContributesAndroidInjector(modules = [HighlightListFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [HighlightListFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindHighlightListActivity(): HighlightListActivity @ActivityScope - @ContributesAndroidInjector(modules = [HighlightRuleFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [HighlightRuleFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindHighlightRuleActivity(): HighlightRuleActivity @ActivityScope - @ContributesAndroidInjector(modules = [AliasListFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AliasListFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAliasListActivity(): AliasListActivity @ActivityScope - @ContributesAndroidInjector(modules = [AliasItemFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AliasItemFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAliasItemActivity(): AliasItemActivity @ActivityScope - @ContributesAndroidInjector(modules = [NetworkConfigFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [NetworkConfigFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindNetworkConfigActivity(): NetworkConfigActivity @ActivityScope - @ContributesAndroidInjector(modules = [AccountSetupFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AccountSetupFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAccountSetupActivity(): AccountSetupActivity @ActivityScope - @ContributesAndroidInjector(modules = [AccountSelectionFragmentProvider::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AccountSelectionFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAccountSelectionActivity(): AccountSelectionActivity @ActivityScope - @ContributesAndroidInjector(modules = [AccountEditModule::class, SettingsModule::class, DatabaseModule::class]) + @ContributesAndroidInjector(modules = [AccountEditModule::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) abstract fun bindAccountEditActivity(): AccountEditActivity @ActivityScope diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatFragmentProvider.kt index 35d091d90..ce591728a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.chat -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -34,7 +34,7 @@ import de.kuschku.quasseldroid.ui.chat.nicks.NickListFragment @Module abstract class ChatFragmentProvider { @Binds - abstract fun bindContext(activity: ChatActivity): Context + abstract fun bindFragmentActivity(activity: ChatActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindBufferViewConfigFragment(): BufferViewConfigFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/channel/ChannelInfoFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/channel/ChannelInfoFragmentProvider.kt index ee329dbb9..876d1c6b6 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/channel/ChannelInfoFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/channel/ChannelInfoFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.chat.info.channel -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class ChannelInfoFragmentProvider { @Binds - abstract fun bindContext(activity: ChannelInfoActivity): Context + abstract fun bindFragmentActivity(activity: ChannelInfoActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindChannelInfoFragment(): ChannelInfoFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/user/UserInfoFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/user/UserInfoFragmentProvider.kt index 06167bc89..225171f12 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/user/UserInfoFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/user/UserInfoFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.chat.info.user -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class UserInfoFragmentProvider { @Binds - abstract fun bindContext(activity: UserInfoActivity): Context + abstract fun bindFragmentActivity(activity: UserInfoActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindUserInfoFragment(): UserInfoFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt index b9f56f829..9e2eaae8c 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt @@ -23,7 +23,6 @@ package de.kuschku.quasseldroid.ui.chat.input import android.arch.lifecycle.Observer -import android.arch.lifecycle.ViewModelProviders import android.os.Bundle import android.support.v7.widget.AppCompatImageButton import android.support.v7.widget.DefaultItemAnimator @@ -88,6 +87,9 @@ class ChatlineFragment : ServiceBoundFragment() { @Inject lateinit var autoCompleteAdapter: AutoCompleteAdapter + @Inject + lateinit var editorViewModel: EditorViewModel + lateinit var editorHelper: EditorHelper lateinit var autoCompleteHelper: AutoCompleteHelper @@ -107,7 +109,6 @@ class ChatlineFragment : ServiceBoundFragment() { val view = inflater.inflate(R.layout.fragment_chatline, container, false) ButterKnife.bind(this, view) - val editorViewModel = ViewModelProviders.of(this).get(EditorViewModel::class.java) editorViewModel.quasselViewModel.onNext(viewModel) autoCompleteHelper = AutoCompleteHelper( diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt index 4ae8faaa7..152acefcc 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt @@ -23,7 +23,6 @@ package de.kuschku.quasseldroid.ui.chat.topic import android.arch.lifecycle.Observer -import android.arch.lifecycle.ViewModelProviders import android.os.Bundle import android.support.v7.widget.DefaultItemAnimator import android.support.v7.widget.LinearLayoutManager @@ -74,6 +73,9 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable { @Inject lateinit var autoCompleteAdapter: AutoCompleteAdapter + @Inject + lateinit var editorViewModel: EditorViewModel + private lateinit var editorHelper: EditorHelper override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, @@ -81,7 +83,6 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable { val view = inflater.inflate(R.layout.fragment_topic, container, false) ButterKnife.bind(this, view) - val editorViewModel = ViewModelProviders.of(this).get(EditorViewModel::class.java) editorViewModel.quasselViewModel.onNext(viewModel) val autoCompleteHelper = AutoCompleteHelper( diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragmentProvider.kt index aaa5c157c..45d32d9eb 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.chat.topic -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class TopicFragmentProvider { @Binds - abstract fun bindContext(activity: TopicActivity): Context + abstract fun bindFragmentActivity(activity: TopicActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindTopicFragment(): TopicFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragmentProvider.kt index 68f43c681..40f529ced 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.about -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class AboutFragmentProvider { @Binds - abstract fun bindContext(activity: AboutActivity): Context + abstract fun bindFragmentActivity(activity: AboutActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindAboutFragment(): AboutFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragmentProvider.kt index 674c9d720..304b22e62 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.client -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class ClientSettingsFragmentProvider { @Binds - abstract fun bindContext(activity: ClientSettingsActivity): Context + abstract fun bindFragmentActivity(activity: ClientSettingsActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindClientSettingsFragment(): ClientSettingsFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashFragmentProvider.kt index db045a545..3be00ebb5 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.crash -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class CrashFragmentProvider { @Binds - abstract fun bindContext(activity: CrashActivity): Context + abstract fun bindFragmentActivity(activity: CrashActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindClientSettingsFragment(): CrashFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseFragmentProvider.kt index f8107fb53..14758b222 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.license -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class LicenseFragmentProvider { @Binds - abstract fun bindContext(activity: LicenseActivity): Context + abstract fun bindFragmentActivity(activity: LicenseActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindLicenseFragment(): LicenseFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/whitelist/WhitelistFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/whitelist/WhitelistFragmentProvider.kt index 0f6f181bd..ef07f186f 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/whitelist/WhitelistFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/whitelist/WhitelistFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.whitelist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class WhitelistFragmentProvider { @Binds - abstract fun bindContext(activity: WhitelistActivity): Context + abstract fun bindFragmentActivity(activity: WhitelistActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindWhitelistFragment(): WhitelistFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt index 000ac271c..09bd1f719 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class CoreSettingsFragmentProvider { @Binds - abstract fun bindContext(activity: CoreSettingsActivity): Context + abstract fun bindFragmentActivity(activity: CoreSettingsActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindCoreSettingsFragment(): CoreSettingsFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt index 253d2dc7a..22b6499cd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt @@ -23,7 +23,6 @@ package de.kuschku.quasseldroid.ui.coresettings.aliasitem import android.app.Activity -import android.arch.lifecycle.ViewModelProviders import android.content.Intent import android.os.Bundle import android.support.v7.widget.DefaultItemAnimator @@ -80,6 +79,9 @@ class AliasItemFragment : SettingsFragment(), SettingsFragment.Savable, @Inject lateinit var autoCompleteAdapter: AutoCompleteAdapter + @Inject + lateinit var editorViewModel: EditorViewModel + private lateinit var editorHelper: EditorHelper private var rule: IAliasManager.Alias? = null @@ -94,7 +96,6 @@ class AliasItemFragment : SettingsFragment(), SettingsFragment.Savable, rule = it } - val editorViewModel = ViewModelProviders.of(this).get(EditorViewModel::class.java) editorViewModel.quasselViewModel.onNext(viewModel) val autoCompleteHelper = AutoCompleteHelper( diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragmentProvider.kt index bfbeb0368..c9c882f04 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.aliasitem -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class AliasItemFragmentProvider { @Binds - abstract fun bindContext(activity: AliasItemActivity): Context + abstract fun bindFragmentActivity(activity: AliasItemActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindAliasItemFragment(): AliasItemFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListFragmentProvider.kt index 129e7bdea..100e7b342 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.aliaslist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class AliasListFragmentProvider { @Binds - abstract fun bindContext(activity: AliasListActivity): Context + abstract fun bindFragmentActivity(activity: AliasListActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindAliasListFragment(): AliasListFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistCreateFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistCreateFragmentProvider.kt index a17d733b7..3c8aa28ac 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistCreateFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistCreateFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.chatlist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class ChatlistCreateFragmentProvider { @Binds - abstract fun bindContext(activity: ChatlistCreateActivity): Context + abstract fun bindFragmentActivity(activity: ChatlistCreateActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindChatListCreateFragment(): ChatListCreateFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistEditFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistEditFragmentProvider.kt index c3c578ccb..938c3f195 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistEditFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/ChatlistEditFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.chatlist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class ChatlistEditFragmentProvider { @Binds - abstract fun bindContext(activity: ChatlistEditActivity): Context + abstract fun bindFragmentActivity(activity: ChatlistEditActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindChatListEditFragment(): ChatListEditFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragmentProvider.kt index 9aeeec1e9..685c3b0b4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.highlightlist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class HighlightListFragmentProvider { @Binds - abstract fun bindContext(activity: HighlightListActivity): Context + abstract fun bindFragmentActivity(activity: HighlightListActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindHighlightListFragment(): HighlightListFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt index f051118dd..62db0e492 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.highlightrule -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class HighlightRuleFragmentProvider { @Binds - abstract fun bindContext(activity: HighlightRuleActivity): Context + abstract fun bindFragmentActivity(activity: HighlightRuleActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindHighlightRuleFragment(): HighlightRuleFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragmentProvider.kt index a42c6ebd6..00695aca8 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.identity -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class IdentityCreateFragmentProvider { @Binds - abstract fun bindContext(activity: IdentityCreateActivity): Context + abstract fun bindFragmentActivity(activity: IdentityCreateActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindIdentityCreateFragment(): IdentityCreateFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragmentProvider.kt index 767a69982..23ae48862 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.identity -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class IdentityEditFragmentProvider { @Binds - abstract fun bindContext(activity: IdentityEditActivity): Context + abstract fun bindFragmentActivity(activity: IdentityEditActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindIdentityEditFragment(): IdentityEditFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragmentProvider.kt index abc12c455..642cc5136 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.ignoreitem -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class IgnoreItemFragmentProvider { @Binds - abstract fun bindContext(activity: IgnoreItemActivity): Context + abstract fun bindFragmentActivity(activity: IgnoreItemActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindIgnoreItemFragment(): IgnoreItemFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragmentProvider.kt index 00d0d4c2d..676de8beb 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.ignorelist -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class IgnoreListFragmentProvider { @Binds - abstract fun bindContext(activity: IgnoreListActivity): Context + abstract fun bindFragmentActivity(activity: IgnoreListActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindIgnoreFragment(): IgnoreListFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragmentProvider.kt index 012bd1f9f..5a3299ba4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.network -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class NetworkCreateFragmentProvider { @Binds - abstract fun bindContext(activity: NetworkCreateActivity): Context + abstract fun bindFragmentActivity(activity: NetworkCreateActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindNetworkCreateFragment(): NetworkCreateFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragmentProvider.kt index b79250c5a..c84585854 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.network -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class NetworkEditFragmentProvider { @Binds - abstract fun bindContext(activity: NetworkEditActivity): Context + abstract fun bindFragmentActivity(activity: NetworkEditActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindNetworkEditFragment(): NetworkEditFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt index 20b85552d..33993d9f5 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.networkconfig -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class NetworkConfigFragmentProvider { @Binds - abstract fun bindContext(activity: NetworkConfigActivity): Context + abstract fun bindFragmentActivity(activity: NetworkConfigActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindNetworkConfigFragment(): NetworkConfigFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkserver/NetworkServerFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkserver/NetworkServerFragmentProvider.kt index 38191184e..9886571b1 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkserver/NetworkServerFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkserver/NetworkServerFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.networkserver -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class NetworkServerFragmentProvider { @Binds - abstract fun bindContext(activity: NetworkServerActivity): Context + abstract fun bindFragmentActivity(activity: NetworkServerActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindNetworkServerFragment(): NetworkServerFragment diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/edit/AccountEditModule.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/edit/AccountEditModule.kt index 8e7e688c0..5d2e19c9c 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/edit/AccountEditModule.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/edit/AccountEditModule.kt @@ -22,12 +22,12 @@ package de.kuschku.quasseldroid.ui.setup.accounts.edit -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module @Module abstract class AccountEditModule { @Binds - abstract fun bindContext(activity: AccountEditActivity): Context + abstract fun bindFragmentActivity(activity: AccountEditActivity): FragmentActivity } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionFragmentProvider.kt index f85903e62..ef739d9a3 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.setup.accounts.selection -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class AccountSelectionFragmentProvider { @Binds - abstract fun bindContext(activity: AccountSelectionActivity): Context + abstract fun bindFragmentActivity(activity: AccountSelectionActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindAccountSelectionSlide(): AccountSelectionSlide diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionSlide.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionSlide.kt index 1a7b81b65..901b96c0a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionSlide.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/selection/AccountSelectionSlide.kt @@ -24,7 +24,6 @@ package de.kuschku.quasseldroid.ui.setup.accounts.selection import android.app.Activity import android.arch.lifecycle.Observer -import android.arch.lifecycle.ViewModelProviders import android.content.Intent import android.os.Bundle import android.support.v7.widget.DefaultItemAnimator @@ -42,11 +41,15 @@ import de.kuschku.quasseldroid.ui.setup.accounts.edit.AccountEditActivity import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity.Companion.REQUEST_CREATE_FIRST import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity.Companion.REQUEST_CREATE_NEW import de.kuschku.quasseldroid.ui.setup.accounts.setup.AccountSetupActivity +import javax.inject.Inject class AccountSelectionSlide : SlideFragment() { @BindView(R.id.account_list) lateinit var accountList: RecyclerView + @Inject + lateinit var accountViewModel: AccountViewModel + override fun isValid() = adapter?.selectedItemId ?: -1L != -1L override val title = R.string.slide_account_select_title @@ -66,7 +69,6 @@ class AccountSelectionSlide : SlideFragment() { savedInstanceState: Bundle?): View { val view = inflater.inflate(R.layout.setup_select_account, container, false) ButterKnife.bind(this, view) - val accountViewModel = ViewModelProviders.of(this).get(AccountViewModel::class.java) val firstObserver = object : Observer<List<AccountDatabase.Account>?> { override fun onChanged(t: List<AccountDatabase.Account>?) { if (t?.isEmpty() != false) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/setup/AccountSetupFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/setup/AccountSetupFragmentProvider.kt index 21c910409..1a24f9b90 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/setup/AccountSetupFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/accounts/setup/AccountSetupFragmentProvider.kt @@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.setup.accounts.setup -import android.content.Context +import android.support.v4.app.FragmentActivity import dagger.Binds import dagger.Module import dagger.android.ContributesAndroidInjector @@ -30,7 +30,7 @@ import dagger.android.ContributesAndroidInjector @Module abstract class AccountSetupFragmentProvider { @Binds - abstract fun bindContext(activity: AccountSetupActivity): Context + abstract fun bindFragmentActivity(activity: AccountSetupActivity): FragmentActivity @ContributesAndroidInjector abstract fun bindAccountSetupConnectionSlide(): AccountSetupConnectionSlide diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt index 821eb6f25..5da403c0a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt @@ -23,7 +23,6 @@ package de.kuschku.quasseldroid.util.service import android.app.Activity -import android.arch.lifecycle.ViewModelProviders import android.content.Context import android.content.Intent import android.content.SharedPreferences @@ -74,7 +73,8 @@ abstract class ServiceBoundActivity : ThemedActivity(), @Inject lateinit var connectionSettings: ConnectionSettings - protected lateinit var viewModel: QuasselViewModel + @Inject + lateinit var viewModel: QuasselViewModel protected var accountId: Long = -1 @@ -84,7 +84,6 @@ abstract class ServiceBoundActivity : ThemedActivity(), connection.context = this checkConnection() super.onCreate(savedInstanceState) - viewModel = ViewModelProviders.of(this)[QuasselViewModel::class.java] viewModel.backendWrapper.onNext(this.backend) updateRecentsHeader() } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt index 76946a8d1..ed86c0137 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt @@ -22,7 +22,6 @@ package de.kuschku.quasseldroid.util.service -import android.arch.lifecycle.ViewModelProviders import android.content.Context import android.os.Bundle import dagger.android.support.DaggerFragment @@ -31,14 +30,16 @@ import de.kuschku.libquassel.util.Optional import de.kuschku.quasseldroid.Keys import de.kuschku.quasseldroid.viewmodel.QuasselViewModel import io.reactivex.subjects.BehaviorSubject +import javax.inject.Inject abstract class ServiceBoundFragment : DaggerFragment() { + @Inject + lateinit var viewModel: QuasselViewModel + private val connection = BackendServiceConnection() protected val backend: BehaviorSubject<Optional<Backend>> get() = connection.backend - protected lateinit var viewModel: QuasselViewModel - protected fun runInBackground(f: () -> Unit) { connection.backend.value.ifPresent { it.sessionManager().handlerService.backend(f) @@ -60,8 +61,6 @@ abstract class ServiceBoundFragment : DaggerFragment() { connection.context = context super.onCreate(savedInstanceState) connection.start() - - viewModel = ViewModelProviders.of(requireActivity())[QuasselViewModel::class.java] } override fun onStart() { -- GitLab