Skip to content

Commit 64984a5

Browse files
committed
[REFAC] ActionRouter 로 변경
1 parent 433a8ac commit 64984a5

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

src/main/kotlin/kr/co/finda/androidtemplate/feature/addServerConfig/AddServerConfigAction.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ import com.intellij.openapi.actionSystem.CommonDataKeys
66
import com.intellij.openapi.project.Project
77
import kr.co.finda.androidtemplate.feature.addServerConfig.dialog.AddServerConfigDialog
88
import kr.co.finda.androidtemplate.type.ServerConfig
9+
import kr.co.finda.androidtemplate.util.ActionRouter
10+
import kr.co.finda.androidtemplate.util.ActionRouterImpl
911
import kr.co.finda.androidtemplate.util.FileHelperImpl
1012
import kr.co.finda.androidtemplate.util.ReplacerImpl
1113

1214
class AddServerConfigAction : AnAction(), AddServerConfigContract.View {
1315

1416
private val presenter: AddServerConfigContract.Presenter by lazy {
15-
AddServerConfigPresenter(this, FileHelperImpl(ReplacerImpl()))
17+
AddServerConfigPresenter(this, FileHelperImpl(ReplacerImpl()), ActionRouterImpl())
1618
}
1719

1820
override fun actionPerformed(e: AnActionEvent) {

src/main/kotlin/kr/co/finda/androidtemplate/feature/addServerConfig/AddServerConfigPresenter.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ package kr.co.finda.androidtemplate.feature.addServerConfig
33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.project.Project
55
import com.intellij.openapi.vfs.VirtualFile
6+
import kr.co.finda.androidtemplate.util.ActionRouter
67
import kr.co.finda.androidtemplate.util.FileHelper
78

89
class AddServerConfigPresenter(
910
private val view: AddServerConfigContract.View,
10-
private val fileHelper: FileHelper
11+
private val fileHelper: FileHelper,
12+
private val actionRouter: ActionRouter
1113
) : AddServerConfigContract.Presenter {
1214

1315
override fun onActionPerformed(project: Project, selectedDirectory: VirtualFile) {
@@ -18,6 +20,6 @@ class AddServerConfigPresenter(
1820
override fun onActionUpdate(e: AnActionEvent, selectedDirectory: VirtualFile?) {
1921
e.presentation.isEnabledAndVisible =
2022
if (selectedDirectory == null) false
21-
else fileHelper.isModuleDirectory(selectedDirectory)
23+
else actionRouter.isAddServerConfigEnable(selectedDirectory)
2224
}
2325
}

src/main/kotlin/kr/co/finda/androidtemplate/util/ActionRouter.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package kr.co.finda.androidtemplate.util
22

3+
import com.intellij.openapi.vfs.VirtualFile
4+
35
interface ActionRouter {
46

57
fun isCreateFindaTemplateEnable(path: String): Boolean
68

79
fun isCreateViewModelTestTemplateEnable(path: String): Boolean
10+
11+
fun isAddServerConfigEnable(directory: VirtualFile): Boolean
812
}
913

1014
class ActionRouterImpl : ActionRouter {
@@ -15,4 +19,10 @@ class ActionRouterImpl : ActionRouter {
1519
override fun isCreateViewModelTestTemplateEnable(path: String): Boolean {
1620
return path.contains("src/test/(java|kotlin)".toRegex())
1721
}
22+
23+
override fun isAddServerConfigEnable(directory: VirtualFile): Boolean {
24+
return directory.children.toList().any {
25+
it.name.contains("build.gradle")
26+
}
27+
}
1828
}

src/main/kotlin/kr/co/finda/androidtemplate/util/FileHelper.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ interface FileHelper {
2828

2929
fun getLayoutDirectory(selectedDirectoryPath: String): VirtualFile?
3030

31-
fun isModuleDirectory(directory: VirtualFile): Boolean
32-
3331
fun getServerConfig(project: Project, directory: VirtualFile): ServerConfig
3432
}
3533

@@ -77,12 +75,6 @@ class FileHelperImpl(
7775
.findFileByUrl("file://${layoutPath}")
7876
}
7977

80-
override fun isModuleDirectory(directory: VirtualFile): Boolean {
81-
return directory.children.toList().any {
82-
it.name.contains("build.gradle")
83-
}
84-
}
85-
8678
override fun getServerConfig(project: Project, directory: VirtualFile): ServerConfig {
8779
return ServerConfig(
8880
dev = getServerConfigFileByFlavor(project, "dev", directory)!!,

0 commit comments

Comments
 (0)