Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

노드를 이동시킬 때 구조 유지 #330

Merged
merged 47 commits into from
Apr 6, 2024

Conversation

hegleB
Copy link
Member

@hegleB hegleB commented Mar 28, 2024

관련 이슈

작업한 내용

  • 노드를 이동할 때 구조 유지

Mar-28-2024 11-42-35

hegleB and others added 30 commits January 24, 2024 23:52
@hegleB hegleB added 📱AOS 안드로이드 작업 💡Feature 기능 개발 labels Mar 28, 2024
@hegleB hegleB self-assigned this Mar 28, 2024
@github-actions github-actions bot added the 🎨UI UI 작업 label Mar 28, 2024
@hegleB hegleB force-pushed the AOS-feat/structural-maintenance branch from 30f5b27 to 7ba895a Compare March 28, 2024 05:11
@jaehan4707
Copy link
Member

고생하셨습니다!!
사실 저번 이슈 영상에서 어떤 문제점을 개선하셨는지 저는 잘 안보여셔 그런데 설명부탁드려도될까요??

@hegleB
Copy link
Member Author

hegleB commented Mar 28, 2024

여기에 있는 gif 말씀하시는건가용?

Comment on lines -72 to -77
val path =
path.apply {
reset()
moveTo(startX, startY)
cubicTo(midX, startY, midX, endY, endX, endY)
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이부분을 createPath로 빼니까 더 직관적인 것 같아요! 좋아요

Comment on lines -55 to -66
val linePaint =
when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_YES -> {
drawInfo.darkModeLinePaint
}
val linePaint = getLinePaintForMode()

Configuration.UI_MODE_NIGHT_NO -> {
drawInfo.linePaint
}
val path = createPath(fromNode, toNode)
drawPathConditionally(toNode, canvas, path, linePaint)
}

else -> drawInfo.linePaint
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

같은 코드라도 함수로 빼서 짧아지니까 더 보기 좋네요😃

Comment on lines 161 to 167
rightLayoutManager.arrangeNode(tree, target as RectangleNode)

node.children.forEach { nodeId ->
traverseMovedNode(tree.getNode(nodeId), target, dx, dy)
}
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

음..! 이동될 노드만 재정렬 하고 싶으셔서 따로 arrangeNode 함수에 인자를 주신 것 같아 보여요! 좋은데요??
그런데 여기서 traverseMovedNode 함수가 재귀함수고, 그럼 매번 자식 노드를 만날때마다 arrangeNode를 해주는 것 같은데 제가 기억하기로는 arrangeNode가 인자로 받은 root 기준으로 자식들을 다 끝까지 재귀로 돌았던 것 같아요. 그래서 제가 맞게 기억하고 있다면rightLayoutManager.arrangeNode(tree, target as RectangleNode) 이 부분은 traverseModeNode 안쪽보다는 moveNode 함수에서 호출해주는게 더 좋을것 같은데, 혹시 어떻게 생각하세요?

@yang1318
Copy link
Collaborator

그리고 여기서 JetpackCompose 부분 말고도 ktlint가 걸린 부분이 있어서 고쳐지면 좋을 것 같다는 생각이 들지만.. 이대로라면 ktlint를 아예 빼버릴 수도 있어서 고쳐달라고 말씀드리기는 고민되네요🤔 회의하면서 얘기해보면 좋을 것 같아요!

@yang1318
Copy link
Collaborator

고생하셨습니다!! 사실 저번 이슈 영상에서 어떤 문제점을 개선하셨는지 저는 잘 안보여셔 그런데 설명부탁드려도될까요??

이부분 제가 대신 답변 드리자면
이전에는 노드 이동중에 하위 노드들끼리 일정한 간격이라는 느낌보다는 따닥따닥?붙어서 움직였는데
지금은 원래의 간격을 지키면서 움직이게 됐어요!

@yang1318
Copy link
Collaborator

고생하셨습니다!! 자소서 쓰느라 바쁘셨을 텐데도 열정 넘치신 모습에 저도 자극되네요 오늘도 배워갑니다ㅎㅎ

@yang1318 yang1318 added the 💪Refactor 코드 리팩토링 label Mar 29, 2024
@jaehan4707 jaehan4707 merged commit f8ff8cc into AOS-develop Apr 6, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📱AOS 안드로이드 작업 💡Feature 기능 개발 💪Refactor 코드 리팩토링 🎨UI UI 작업
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants