@@ -4,7 +4,6 @@ import android.app.Activity
4
4
import android.os.Bundle
5
5
import android.util.Log
6
6
import android.view.View
7
- import android.widget.Toast
8
7
import androidx.activity.result.contract.ActivityResultContracts
9
8
import com.google.android.play.core.appupdate.AppUpdateManager
10
9
import com.google.android.play.core.appupdate.AppUpdateOptions
@@ -15,12 +14,15 @@ import sopt.uni.data.datasource.local.SparkleStorage
15
14
import sopt.uni.databinding.TitleAction2DialogBinding
16
15
import sopt.uni.util.binding.BindingDialogFragment
17
16
import sopt.uni.util.extension.setOnSingleClickListener
17
+ import sopt.uni.util.extension.showSnackbar
18
18
import javax.inject.Inject
19
19
20
20
@AndroidEntryPoint
21
21
class UpdateDialogFragment :
22
22
BindingDialogFragment <TitleAction2DialogBinding >(R .layout.title_action2_dialog) {
23
23
24
+ lateinit var updateDialogListener: UpdateDialogListener
25
+
24
26
@Inject
25
27
lateinit var appUpdateManager: AppUpdateManager
26
28
@@ -34,6 +36,7 @@ class UpdateDialogFragment :
34
36
btnRight.setText(getString(R .string.update_dialog_ok))
35
37
btnLeft.setOnSingleClickListener {
36
38
dismiss()
39
+ updateDialogListener.onDialogDismissed()
37
40
}
38
41
btnRight.setOnSingleClickListener {
39
42
updateSparkle()
@@ -52,18 +55,23 @@ class UpdateDialogFragment :
52
55
private val startForResult =
53
56
registerForActivityResult(ActivityResultContracts .StartIntentSenderForResult ()) {
54
57
if (it.resultCode != Activity .RESULT_OK ) {
55
- Toast .makeText(requireContext(), " 업데이트에 실패했습니다. 다시 시도해주세요." , Toast .LENGTH_SHORT )
56
- .show()
58
+ showSnackbar(binding.root, " 업데이트에 실패했습니다. 다시 시도해주세요." )
57
59
Log .e(" update" , it.resultCode.toString())
58
60
} else {
59
61
SparkleStorage .setUpdateAvailableBoolean(
60
62
IS_UPDATE_AVAILABLE ,
61
63
true ,
62
64
)
65
+ updateDialogListener.onUpdateComplete()
63
66
}
64
67
}
65
68
66
69
companion object {
67
70
const val IS_UPDATE_AVAILABLE = " IS_UPDATE_AVAILABLE"
68
71
}
72
+
73
+ interface UpdateDialogListener {
74
+ fun onUpdateComplete ()
75
+ fun onDialogDismissed ()
76
+ }
69
77
}
0 commit comments