Skip to content
Snippets Groups Projects
Verified Commit 16b504ad authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Moved ViewModel provisioning into Dagger graph

parent a31ff773
Branches
Tags
No related merge requests found
Pipeline #
Showing
with 103 additions and 63 deletions
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]
}
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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(
......
......@@ -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(
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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(
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment