app/src/main/java/com/geekorum/ttrss/settings/di.kt
author Da Risk <da_risk@geekorum.com>
Mon, 15 Sep 2025 14:00:07 -0400
changeset 1370 13e39ef920a8
parent 1174 731f6ee517b6
permissions -rw-r--r--
update license headers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
195
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     1
/*
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     2
 * Geekttrss is a RSS feed reader application on the Android Platform.
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     3
 *
1370
13e39ef920a8 update license headers
Da Risk <da_risk@geekorum.com>
parents: 1174
diff changeset
     4
 * Copyright (C) 2017-2025 by Frederic-Charles Barthelery.
195
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     5
 *
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     6
 * This file is part of Geekttrss.
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     7
 *
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     8
 * Geekttrss is free software: you can redistribute it and/or modify
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
     9
 * it under the terms of the GNU General Public License as published by
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    10
 * the Free Software Foundation, either version 3 of the License, or
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    11
 * (at your option) any later version.
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    12
 *
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    13
 * Geekttrss is distributed in the hope that it will be useful,
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    16
 * GNU General Public License for more details.
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    17
 *
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    18
 * You should have received a copy of the GNU General Public License
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    19
 * along with Geekttrss.  If not, see <http://www.gnu.org/licenses/>.
48ed0d5c48b0 Add missing license headers
Da Risk <da_risk@geekorum.com>
parents: 194
diff changeset
    20
 */
194
fc7c3f9fb77c Add ManageFeaturesFragment to test uninstall of feature modules
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    21
package com.geekorum.ttrss.settings
fc7c3f9fb77c Add ManageFeaturesFragment to test uninstall of feature modules
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    22
694
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    23
import android.app.Application
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    24
import android.content.SharedPreferences
693
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    25
import androidx.fragment.app.Fragment
694
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    26
import androidx.preference.PreferenceManager
693
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    27
import com.geekorum.geekdroid.dagger.FragmentKey
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    28
import dagger.Binds
194
fc7c3f9fb77c Add ManageFeaturesFragment to test uninstall of feature modules
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    29
import dagger.Module
694
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    30
import dagger.Provides
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    31
import dagger.hilt.InstallIn
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    32
import dagger.hilt.android.components.ActivityComponent
769
179666072c7c build: update dagger
Da Risk <da_risk@geekorum.com>
parents: 733
diff changeset
    33
import dagger.hilt.components.SingletonComponent
693
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    34
import dagger.multibindings.IntoMap
194
fc7c3f9fb77c Add ManageFeaturesFragment to test uninstall of feature modules
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    35
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    36
@Module
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    37
@InstallIn(ActivityComponent::class)
221
cfb28257a0b3 More cleanup
Da Risk <da_risk@geekorum.com>
parents: 220
diff changeset
    38
abstract class SettingsModule {
cfb28257a0b3 More cleanup
Da Risk <da_risk@geekorum.com>
parents: 220
diff changeset
    39
693
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    40
    @Binds
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    41
    @IntoMap
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    42
    @FragmentKey(SettingsActivity.SettingsFragment::class)
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    43
    abstract fun bindSettingsFragment(settingsFragment: SettingsActivity.SettingsFragment): Fragment
cdc81caa38e8 SettingsActivity: add preference for in app browser engine
Da Risk <da_risk@geekorum.com>
parents: 611
diff changeset
    44
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    45
}
694
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    46
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    47
@Module
769
179666072c7c build: update dagger
Da Risk <da_risk@geekorum.com>
parents: 733
diff changeset
    48
@InstallIn(SingletonComponent::class)
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    49
object ApplicationPreferencesModule {
694
bbd0496c4b16 di: SettingsModule provides application preferences
Da Risk <da_risk@geekorum.com>
parents: 693
diff changeset
    50
733
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    51
    @Provides
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    52
    fun providesApplicationPreferences(application: Application): SharedPreferences =
95b5b040a087 settings: migrate to hilt
Da Risk <da_risk@geekorum.com>
parents: 694
diff changeset
    53
        PreferenceManager.getDefaultSharedPreferences(application)
221
cfb28257a0b3 More cleanup
Da Risk <da_risk@geekorum.com>
parents: 220
diff changeset
    54
}