본문

[2019.03.08] 125. Android 음악 플레이어 프로젝트 [Fix issues]

도입

이번 포스팅에서는 현재 음악 플레이어의 간단한 4개 이슈에 대해 처리할 예정이다.

이 중에는 리팩토링을 진행하며 생긴 Side Effect도 포함되어 있다.


현재 문제

1. 마지막 음악이 재생되지 않는 문제

2. 현재 음악 다시 재생 시, 현재 음악 유지

3. 현재 음악 도입부를 지나고 'Prev' 버튼 클릭 시, 현재 음악 재시작

4. Notification 선택 시, 현재 음악 View로 이동

 

우선 Git issue로 등록 (모두 완료되어서 close한 상태이다)


문제 해결

1. 마지막 음악이 재생되지 않는 문제

이 문제는 Side Effect로 발생한 문제이다. 그래서 문제를 발생 시킨 Git commit을 이진탐색으로 찾았다.

AS-IS

1
2
3
4
5
6
7
override fun next(isChangedMediaByButton: Boolean) {
    if (BuildConfig.DEBUG) {
        Log.d(DEBUG_MEDIA_FLOW, "${javaClass.simpleName} next()")
    }
    player?.takeIf { audioList.lastIndex -1 > currentAudioIndex }
    // ...
}
cs

TO-BE

1
2
3
4
5
6
7
override fun next(isChangedMediaByButton: Boolean) {
    if (BuildConfig.DEBUG) {
        Log.d(DEBUG_MEDIA_FLOW, "${javaClass.simpleName} next()")
    }
    player?.takeIf { audioList.lastIndex > currentAudioIndex }
    // ...
}
cs

 

2. 현재 음악 다시 재싱 시, 현재 음악 유지

다른 음악 플레이어들을 테스트해 보면 음악을 실행하고 다시 해당 음악을 실행하면 음악이 유지된다.
(다시 처음부터 실행되지 않는다.)

그러나, 현재 개발 중인 음악 플레이어는 다시 실행되고 있다.

AS-IS

TO-BE

 

 

3. 현재 음악 도입부를 지나고 'Prev' 버튼 클릭 시, 현재 음악 재시작

다른 음악 플레이어들은 'Prev' 버튼은 2가지 기능이 있다.

a. 이전 음악 실행

b. 현재 음악 재실행 (음악 도입부가 지났을 때)

그러나, 현재 개발 중인 음악 플레이어는 a기능뿐이라 b기능을 추가

AS-IS

TO-BE

4. Notification 선택 시, 현재 음악 View로 이동

다른 음악 플레이어의 Notification View를 선택하면 현재 플레이 중인 음악 View로 이동한다. 해당 기능을 추가

AS-IS

TO-BE


느낀점

새로운 기능 개발보다 역시 유지보수가 더 많은 리소스가 들어가는 것 같다. 그렇기 때문에 처음 설계, 개발이 중요하다는 것을 또 느꼈다.

 

 

#안드로이드 음악플레이어 #음악 플레이어 개발 #Android MusicPlayer  #앱개발 #모바일앱개발 #어플개발

공유

댓글