aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2021-04-17 18:35:14 -0700
committerAllan Wang <me@allanwang.ca>2021-04-17 18:35:14 -0700
commit8b233b2629039e8144fe6eef5438125cd48c8973 (patch)
treecd6eb898a9791b91e0879170d4832f304d3af848 /app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt
parent2c20f85be14abfd45017b2b0f3a0f5d7c7886b90 (diff)
downloadfrost-8b233b2629039e8144fe6eef5438125cd48c8973.tar.gz
frost-8b233b2629039e8144fe6eef5438125cd48c8973.tar.bz2
frost-8b233b2629039e8144fe6eef5438125cd48c8973.zip
Inject main activity contract
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt16
1 files changed, 16 insertions, 0 deletions
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")
+}