Skip to content

Commit 09f4a3f

Browse files
authored
Provide Activity and its context in DI graph (#6437)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210811575239557?focus=true ### Description Make activity context part of the DI graph ### Steps to test this PR Code review and app builds
1 parent 0832a71 commit 09f4a3f

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

app/src/main/java/com/duckduckgo/app/di/ActivityComponent.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.duckduckgo.app.di
1818

19+
import android.content.Context
20+
import androidx.appcompat.app.AppCompatActivity
1921
import com.duckduckgo.app.di.ActivityComponent.Factory
2022
import com.duckduckgo.di.scopes.ActivityScope
2123
import com.duckduckgo.di.scopes.AppScope
@@ -54,3 +56,14 @@ abstract class DaggerActivityModule {
5456
@ClassKey(DaggerActivity::class)
5557
abstract fun bindsDaggerActivityComponent(factory: Factory): AndroidInjector.Factory<*, *>
5658
}
59+
60+
@Module
61+
@ContributesTo(ActivityScope::class)
62+
abstract class DaggerActivityScopedModule {
63+
@Binds
64+
abstract fun bindsDaggerActivity(daggerActivity: DaggerActivity): AppCompatActivity
65+
66+
@Binds
67+
@ActivityContext
68+
abstract fun bindsActivityContext(daggerActivity: DaggerActivity): Context
69+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2025 DuckDuckGo
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.duckduckgo.app.di
18+
19+
import javax.inject.Qualifier
20+
21+
@Retention(AnnotationRetention.BINARY)
22+
@Qualifier
23+
annotation class ActivityContext

0 commit comments

Comments
 (0)