Skip to content

Commit 82ccbdc

Browse files
committed
초기 스플래시 화면 gif 적용 및 ddd dialog img settings
1 parent 3a3fd3b commit 82ccbdc

File tree

20 files changed

+54
-20
lines changed

20 files changed

+54
-20
lines changed

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,8 @@ dependencies {
7777

7878
// dataBinding kotlin option
7979
kapt "androidx.databinding:databinding-compiler:3.3.0"
80+
81+
// Glide
82+
implementation 'com.github.bumptech.glide:glide:4.8.0'
83+
kapt 'com.github.bumptech.glide:compiler:4.8.0'
8084
}

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
android:screenOrientation="portrait"/>
2525
<activity
2626
android:name=".ui.SplashActivity"
27-
android:theme="@style/AppTheme"
27+
android:theme="@style/SplashTheme"
2828
android:screenOrientation="portrait">
2929
<intent-filter>
3030
<action android:name="android.intent.action.MAIN" />

app/src/main/java/com/ddd/attendance/check/common/DDDDialog.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.util.DisplayMetrics
99
import android.view.ViewGroup
1010
import androidx.core.content.ContextCompat
1111
import com.ddd.attendance.check.R
12+
import com.ddd.attendance.check.vm.MainViewModel
1213
import kotlinx.android.synthetic.main.dialog_ddd.*
1314

1415

@@ -21,14 +22,22 @@ class DDDDialog(context: Context, private val data: Pair<UserType, String>) : Di
2122

2223
setInitView()
2324
setBackGround()
24-
25+
setDialogMarkImg(data.second)
2526
tvMessage.text = data.second
2627
btnOK.setOnClickListener {
2728
dddDialogEventListener.onClick(this)
2829
dismiss()
2930
}
3031
}
3132

33+
private fun setDialogMarkImg(message: String) {
34+
val background = ContextCompat.getDrawable(
35+
context,
36+
if (message == MainViewModel.MSG_ATTENDANCE_START) R.drawable.check_icon else R.drawable.exclamation
37+
)
38+
imgMark.background = background
39+
}
40+
3241
private fun setInitView() {
3342
val metrics = DisplayMetrics()
3443
window?.windowManager?.defaultDisplay?.getMetrics(metrics)

app/src/main/java/com/ddd/attendance/check/ui/SplashActivity.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@ import android.os.Bundle
55
import androidx.lifecycle.Observer
66
import androidx.lifecycle.ViewModelProvider
77
import androidx.lifecycle.ViewModelProviders
8+
import com.bumptech.glide.Glide
9+
import com.bumptech.glide.load.engine.DiskCacheStrategy
10+
import com.bumptech.glide.request.RequestOptions
811
import com.ddd.attendance.check.R
912
import com.ddd.attendance.check.base.DDDActivity
1013
import com.ddd.attendance.check.databinding.ActivitySplashBinding
1114
import com.ddd.attendance.check.utill.lazyThreadSafetyNone
1215
import com.ddd.attendance.check.vm.SplashViewModel
16+
import kotlinx.android.synthetic.main.activity_splash.*
1317
import javax.inject.Inject
1418

1519
class SplashActivity : DDDActivity<ActivitySplashBinding, SplashViewModel>() {
@@ -24,6 +28,10 @@ class SplashActivity : DDDActivity<ActivitySplashBinding, SplashViewModel>() {
2428
override fun onCreate(savedInstanceState: Bundle?) {
2529
super.onCreate(savedInstanceState)
2630
setDataBinding()
31+
32+
Glide.with(this).asGif().load(R.drawable.splash)
33+
.apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.RESOURCE)).into(imgBackground)
34+
2735
viewModel.checkUser()
2836

2937
viewModel.startLoginActivity.observe(this, Observer {

app/src/main/java/com/ddd/attendance/check/vm/MainViewModel.kt

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,22 @@ class MainViewModel @Inject constructor(
6161
_btnEnableLogin.postValue(true)
6262
}
6363

64+
private fun attendanceStartUI(attendanceStart: Attendance?) {
65+
attendanceStart?.let { result ->
66+
if (result.status == NetworkHelper.SUCCESS) {
67+
_isAttendanceNumber.postValue(result.number)
68+
_isAttendanceStart.postValue(true)
69+
}
70+
}
71+
showDDDDialog(MSG_ATTENDANCE_START)
72+
}
73+
74+
private fun attendanceEndUI() {
75+
_isAttendanceNumber.postValue(EMPTY_NUMBER)
76+
_isAttendanceStart.postValue(false)
77+
showDDDDialog(MSG_ATTENDANCE_END)
78+
}
79+
6480
fun attendance() {
6581
GlobalScope.launch {
6682
try {
@@ -87,22 +103,6 @@ class MainViewModel @Inject constructor(
87103
else _showToastError.postValue(response.body()?.message)
88104
}
89105

90-
private fun attendanceStartUI(attendanceStart: Attendance?) {
91-
attendanceStart?.let { result ->
92-
if (result.status == NetworkHelper.SUCCESS) {
93-
_isAttendanceNumber.postValue(result.number)
94-
_isAttendanceStart.postValue(true)
95-
}
96-
}
97-
showDDDDialog(MSG_ATTENDANCE_START)
98-
}
99-
100-
private fun attendanceEndUI() {
101-
_isAttendanceNumber.postValue(0)
102-
_isAttendanceStart.postValue(false)
103-
showDDDDialog(MSG_ATTENDANCE_END)
104-
}
105-
106106
private fun attendanceCheck() {
107107

108108
}
@@ -114,5 +114,6 @@ class MainViewModel @Inject constructor(
114114
companion object {
115115
const val MSG_ATTENDANCE_START = "출석체크가 시작되었습니다."
116116
const val MSG_ATTENDANCE_END = "출석체크가 종료되었습니다."
117+
const val EMPTY_NUMBER = 0
117118
}
118119
}

app/src/main/java/com/ddd/attendance/check/vm/SplashViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ class SplashViewModel @Inject constructor(private val userRepository: UserReposi
3232
}
3333

3434
companion object {
35-
const val DELAY_TIME: Long = 2000
35+
const val DELAY_TIME: Long = 900
3636
}
3737
}
5.26 KB
Loading
5 KB
Loading
3.12 KB
Loading
2.87 KB
Loading

0 commit comments

Comments
 (0)