From 8b233b2629039e8144fe6eef5438125cd48c8973 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 17 Apr 2021 18:35:14 -0700 Subject: Inject main activity contract --- .../com/pitchedapps/frost/activities/BaseMainActivity.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt index 8f440129..51f4732a 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt @@ -128,7 +128,13 @@ import com.pitchedapps.frost.views.BadgedIcon import com.pitchedapps.frost.views.FrostVideoViewer import com.pitchedapps.frost.views.FrostViewPager import com.pitchedapps.frost.widgets.NotificationWidget +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn import dagger.hilt.android.AndroidEntryPoint +import dagger.hilt.android.components.ActivityComponent +import dagger.hilt.android.qualifiers.ActivityContext +import dagger.hilt.android.scopes.ActivityScoped import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch import javax.inject.Inject @@ -936,3 +942,13 @@ abstract class BaseMainActivity : const val UNSELECTED_TAB_ALPHA = 128f } } + +@Module +@InstallIn(ActivityComponent::class) +object MainActivityModule { + @Provides + @ActivityScoped + fun contract(@ActivityContext context: Context): MainActivityContract = + (context as? BaseMainActivity) + ?: throw IllegalArgumentException("${context::class.java.simpleName} does not implement MainActivityContract") +} -- cgit v1.2.3