Skip to content
Snippets Groups Projects
Select Git revision
  • c722bb6028609d58bf8ab70221ee89bd80a3b6f9
  • main default protected
  • wip
  • ChenZhangg-Modify_GRADLE_1
  • jetpack-compose-rewrite
  • demo-jump-in-history
  • attachments
  • 1.7.0 protected
  • 1.6.2 protected
  • 1.6.1 protected
  • 1.6.0 protected
  • 1.5.3 protected
  • 1.5.2 protected
  • 1.5.1 protected
  • 1.5.0 protected
  • 1.4.4 protected
  • 1.4.3 protected
  • 1.4.2 protected
  • 1.4.1 protected
  • 1.4.0 protected
  • v1.3.3 protected
  • v1.3.2 protected
  • v1.3.1 protected
  • v1.3.0 protected
  • v1.2.28 protected
  • v1.2.27 protected
  • v1.2.26 protected
27 results

ActivityBaseModule.kt

Blame
  • ActivityBaseModule.kt 1.90 KiB
    /*
     * Quasseldroid - Quassel client for Android
     *
     * Copyright (c) 2018 Janne Koschinski
     * Copyright (c) 2018 The Quassel Project
     *
     * This program is free software: you can redistribute it and/or modify it
     * under the terms of the GNU General Public License version 3 as published
     * by the Free Software Foundation.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License along
     * with this program.  If not, see <http://www.gnu.org/licenses/>.
     */
    
    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 {
      @ActivityScope
      @Provides
      @JvmStatic
      fun bindContext(activity: FragmentActivity): Context = activity
    
      @ActivityScope
      @Provides
      @JvmStatic
      fun provideViewModelProvider(activity: FragmentActivity) = ViewModelProviders.of(activity)
    
      @ActivityScope
      @Provides
      @JvmStatic
      fun provideQuasselViewModel(viewModelProvider: ViewModelProvider) =
        viewModelProvider[QuasselViewModel::class.java]
    
      @ActivityScope
      @Provides
      @JvmStatic
      fun provideAccountViewModel(viewModelProvider: ViewModelProvider) =
        viewModelProvider[AccountViewModel::class.java]
    
      @ActivityScope
      @Provides
      @JvmStatic
      fun provideEditorViewModel(viewModelProvider: ViewModelProvider) =
        viewModelProvider[EditorViewModel::class.java]
    }