Skip to content

Commit 42bcb0b

Browse files
committed
Remove Dagger
1 parent 682dc7e commit 42bcb0b

File tree

6 files changed

+21
-100
lines changed

6 files changed

+21
-100
lines changed

build.gradle

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ buildscript {
88
}
99
dependencies {
1010
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11-
classpath "net.ltgt.gradle:gradle-apt-plugin:0.9"
1211
}
1312
}
1413

@@ -23,7 +22,6 @@ targetCompatibility = 1.8
2322

2423
apply plugin: 'java'
2524
apply plugin: 'kotlin'
26-
apply plugin: 'kotlin-kapt'
2725

2826

2927
repositories {
@@ -59,8 +57,6 @@ dependencies {
5957
compile "org.jooq:joor-java-8:0.9.7"
6058
compileOnly fileTree(dir: "$StudioCompilePath/plugins/android/lib", include: ['*.jar'])
6159
compileOnly fileTree(dir: "$StudioCompilePath/lib", include: ['*.jar'])
62-
compile 'com.google.dagger:dagger:2.6'
63-
kapt "com.google.dagger:dagger-compiler:2.6"
6460

6561
testCompile 'junit:junit:4.12'
6662
testCompile fileTree(dir: "$StudioCompilePath/plugins/android/lib", include: ['*.jar'])

src/main/java/com/developerphil/adbidea/dagger/PluginComponent.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/main/java/com/developerphil/adbidea/dagger/PluginModule.java

Lines changed: 0 additions & 59 deletions
This file was deleted.

src/main/java/com/developerphil/adbidea/ui/DeviceChooserDialog.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,14 @@ public class DeviceChooserDialog extends DialogWrapper {
2424
private JPanel myPanel;
2525
private JPanel myDeviceChooserWrapper;
2626
private JCheckBox useSameDeviceSCheckBox;
27-
28-
@Inject
29-
PluginPreferences pluginPreferences;
27+
private PluginPreferences pluginPreferences;
3028

3129
public DeviceChooserDialog(@NotNull final AndroidFacet facet) {
3230
super(facet.getModule().getProject(), true);
3331
setTitle(AndroidBundle.message("choose.device.dialog.title"));
3432

3533
myProject = facet.getModule().getProject();
36-
myProject.getComponent(ObjectGraph.class).inject(this);
34+
pluginPreferences = myProject.getComponent(ObjectGraph.class).getPluginPreferences();
3735

3836
getOKAction().setEnabled(false);
3937

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
package com.developerphil.adbidea
22

3-
import com.developerphil.adbidea.dagger.DaggerPluginComponent
4-
import com.developerphil.adbidea.dagger.PluginComponent
5-
import com.developerphil.adbidea.dagger.PluginModule
3+
import com.developerphil.adbidea.accessor.preference.ProjectPreferenceAccessor
4+
import com.developerphil.adbidea.adb.BridgeImpl
5+
import com.developerphil.adbidea.adb.DeviceResultFetcher
6+
import com.developerphil.adbidea.adb.UseSameDevicesHelper
67
import com.intellij.openapi.components.ProjectComponent
78
import com.intellij.openapi.project.Project
89

9-
class ObjectGraph(project: Project) : ProjectComponent,
10-
PluginComponent by DaggerPluginComponent.builder().pluginModule(PluginModule(project)).build() {
10+
// This is more of a service locator than a proper DI framework.
11+
// It's not used often enough in the codebase to warrant the complexity of a DI solution like dagger.
12+
class ObjectGraph(private val project: Project) : ProjectComponent {
1113

12-
override fun projectOpened() {
13-
}
14+
val deviceResultFetcher by lazy { DeviceResultFetcher(project, useSameDevicesHelper, bridge) }
15+
val pluginPreferences: PluginPreferences by lazy { PluginPreferencesImpl(preferenceAccessor) }
1416

15-
override fun projectClosed() {
16-
}
17+
private val useSameDevicesHelper by lazy { UseSameDevicesHelper(pluginPreferences, bridge) }
18+
private val preferenceAccessor by lazy { ProjectPreferenceAccessor(project) }
19+
private val bridge by lazy { BridgeImpl(project) }
1720

18-
override fun initComponent() {
19-
}
2021

21-
override fun disposeComponent() {
22-
}
22+
// Project Component Boilerplate
23+
override fun projectOpened() = Unit
2324

24-
override fun getComponentName(): String {
25-
return "DaggerObjectGraph"
26-
}
25+
override fun projectClosed() = Unit
26+
override fun initComponent() = Unit
27+
override fun disposeComponent() = Unit
28+
override fun getComponentName(): String = "InjectionObjectGraph"
2729
}

src/main/kotlin/com/developerphil/adbidea/adb/Bridge.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@ package com.developerphil.adbidea.adb
33
import com.android.ddmlib.IDevice
44
import com.intellij.openapi.project.Project
55
import org.jetbrains.android.sdk.AndroidSdkUtils
6-
import javax.inject.Inject
76

87
interface Bridge {
98
fun isReady(): Boolean
109
fun connectedDevices(): List<IDevice>
1110
}
1211

1312

14-
class BridgeImpl @Inject constructor(project: Project) : Bridge {
13+
class BridgeImpl(project: Project) : Bridge {
1514

1615
val androidBridge = AndroidSdkUtils.getDebugBridge(project)
1716

0 commit comments

Comments
 (0)