Skip to content

Commit 19d83cc

Browse files
committed
feat : 시간 만료시 애니메이션 안나오던 이슈 해결
1 parent 872580a commit 19d83cc

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"v":"5.7.4","fr":30,"ip":0,"op":45,"w":500,"h":500,"nm":"Faild Icon","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Cross","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.214],"y":[1]},"o":{"x":[0.284],"y":[0]},"t":16,"s":[0]},{"t":33,"s":[90]}],"ix":10},"p":{"a":0,"k":[250.125,250,0],"ix":2,"l":2},"a":{"a":0,"k":[-3.875,7,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-48.75,38.25],[35,-45.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":42,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.214],"y":[1]},"o":{"x":[0.284],"y":[0]},"t":16,"s":[100]},{"t":33,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line-2","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-45.75,49],[38,-35]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":42,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.214],"y":[1]},"o":{"x":[0.284],"y":[0]},"t":16,"s":[0]},{"t":33,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.214],"y":[1]},"o":{"x":[0.284],"y":[0]},"t":16,"s":[0]},{"t":33,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line-1","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Red Circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.316,0.316,0.667],"y":[1,1,1]},"o":{"x":[0.742,0.742,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.283,0.283,0.667],"y":[1,1,1]},"o":{"x":[0.839,0.839,0.333],"y":[0,0,0]},"t":10,"s":[111,111,100]},{"t":15,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.783,21.204],[16.229,16.229],[21.204,8.783],[22.951,0],[28.741,-19.204],[13.229,-31.935],[-6.744,-33.902],[-24.442,-24.442],[-33.902,-6.744],[-31.935,13.229],[-19.204,28.741],[0,34.567]],"o":[[-8.783,-21.205],[-16.228,-16.228],[-21.204,-8.782],[-34.566,0],[-28.742,19.203],[-13.228,31.935],[6.744,33.902],[24.442,24.442],[33.902,6.743],[31.935,-13.228],[19.204,-28.741],[0,-22.951]],"v":[[161.467,-66.882],[123.581,-123.582],[66.882,-161.468],[0,-174.771],[-97.097,-145.316],[-161.467,-66.882],[-171.413,34.096],[-123.582,123.581],[-34.096,171.413],[66.882,161.467],[145.316,97.097],[174.771,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.874509803922,0.282352941176,0.349019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}

presentation/src/main/java/com/stop/ui/mission/MissionFragment.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.stop.ui.alarmsetting.AlarmSettingViewModel
3333
import com.stop.ui.mission.MissionService.Companion.MISSION_LAST_TIME
3434
import com.stop.ui.mission.MissionService.Companion.MISSION_LOCATIONS
3535
import com.stop.ui.mission.MissionService.Companion.MISSION_OVER
36+
import com.stop.ui.mission.MissionService.Companion.MISSION_TIME_OVER
3637
import com.stop.ui.util.Marker
3738
import kotlinx.coroutines.flow.collectIndexed
3839
import kotlinx.coroutines.launch
@@ -60,6 +61,7 @@ class MissionFragment : Fragment(), MissionHandler {
6061

6162
setMissionService()
6263
setBroadcastReceiver()
64+
setTimeOverBroadcastReceiver()
6365
missionViewModel.missionStatus.value = MissionStatus.ONGOING
6466
}
6567

@@ -124,8 +126,20 @@ class MissionFragment : Fragment(), MissionHandler {
124126
missionViewModel.lastTime.value = intent?.getStringExtra(MISSION_LAST_TIME)
125127
missionViewModel.userLocations.value =
126128
intent?.getParcelableArrayListExtra<Location>(MISSION_LOCATIONS) as ArrayList<Location>
129+
}
130+
}
131+
132+
requireActivity().registerReceiver(receiver, intentFilter)
133+
}
127134

128-
if (intent.getBooleanExtra(MISSION_OVER, false)) {
135+
private fun setTimeOverBroadcastReceiver() {
136+
val intentFilter = IntentFilter().apply {
137+
addAction(MISSION_TIME_OVER)
138+
}
139+
140+
val receiver = object : BroadcastReceiver() {
141+
override fun onReceive(context: Context?, intent: Intent?) {
142+
if (intent?.getBooleanExtra(MISSION_TIME_OVER, false) == true) {
129143
Snackbar.make(
130144
requireActivity().findViewById(R.id.constraint_layout_container),
131145
"시간이 만료되어 미션에 실패하셨습니다.",
@@ -136,7 +150,6 @@ class MissionFragment : Fragment(), MissionHandler {
136150

137151
}
138152
}
139-
140153
requireActivity().registerReceiver(receiver, intentFilter)
141154
}
142155

presentation/src/main/java/com/stop/ui/mission/MissionService.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.content.Context
88
import android.content.Intent
99
import android.content.pm.PackageManager
1010
import android.os.Looper
11+
import android.util.Log
1112
import androidx.core.app.ActivityCompat
1213
import androidx.core.app.NotificationCompat
1314
import androidx.lifecycle.LifecycleService
@@ -177,8 +178,8 @@ class MissionService : LifecycleService() {
177178

178179
private fun sendMissionOver() {
179180
val statusIntent = Intent().apply {
180-
action = MISSION_OVER
181-
putExtra(MISSION_OVER, true)
181+
action = MISSION_TIME_OVER
182+
putExtra(MISSION_TIME_OVER, true)
182183
}
183184
sendBroadcast(statusIntent)
184185
}
@@ -199,6 +200,7 @@ class MissionService : LifecycleService() {
199200
const val MISSION_LOCATIONS = "mission_locations"
200201
const val MISSION_USER_INFO = "mission_user_info"
201202
const val MISSION_OVER = "mission_over"
203+
const val MISSION_TIME_OVER = "mission_time_over"
202204
const val MISSION_STATUS = "mission_status"
203205
}
204206

presentation/src/main/res/layout/fragment_mission.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
app:lottie_loop="false"
224224
app:lottie_autoPlay="false"
225225
android:visibility="gone"
226-
app:lottie_fileName="fail_animation.json"
226+
app:lottie_fileName="fail_animation2.json"
227227
app:layout_constraintStart_toStartOf="parent"
228228
app:layout_constraintEnd_toEndOf="parent"
229229
app:layout_constraintTop_toTopOf="parent"

0 commit comments

Comments
 (0)