tangem-app-android-audited/app/src/main/java/com/tangem/tap/di/ClipboardManagerModule.kt
2024-05-17 13:34:47 +05:00

30 lines
No EOL
1,016 B
Kotlin

package com.tangem.tap.di
import android.content.Context
import com.tangem.core.ui.clipboard.ClipboardManager
import com.tangem.tap.common.clipboard.MockClipboardManager
import com.tangem.tap.common.clipboard.DefaultClipboardManager
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
import android.content.ClipboardManager as AndroidClipboardManager
@Module
@InstallIn(SingletonComponent::class)
internal class ClipboardManagerModule {
@Provides
@Singleton
fun provideClipboardManager(@ApplicationContext context: Context): ClipboardManager {
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as? AndroidClipboardManager
return if (clipboardManager != null) {
DefaultClipboardManager(clipboardManager = clipboardManager)
} else {
MockClipboardManager
}
}
}