File tree Expand file tree Collapse file tree
app/src/main/java/com/zero/devbase Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4,10 +4,13 @@ import android.util.Log
44import com.zero.devbase.databinding.ActivityMainBinding
55import com.zero.zerobase.presentation.utils.toast
66import com.zero.zerobase.presentation.viewbinding.BaseActivity
7+ import com.zero.zerobase.ui.LoadingDialog
78
89class MainActivity : BaseActivity <ActivityMainBinding >() {
10+
911 override fun initUI () {
1012 super .initUI()
13+ loadingDialog.show()
1114 }
1215 override fun initData () {
1316 super .initData()
Original file line number Diff line number Diff line change @@ -45,9 +45,6 @@ dependencies {
4545 // Glide
4646 implementation ' com.github.bumptech.glide:glide:4.14.2'
4747
48- // Dialog
49- implementation ' com.github.d-max:spots-dialog:0.7@aar'
50-
5148 // Super BottomSheet
5249 implementation ' com.github.andrefrsousa:SuperBottomSheet:2.0.0'
5350
@@ -58,6 +55,10 @@ dependencies {
5855 // Library RxJava
5956 implementation ' io.reactivex.rxjava2:rxandroid:2.1.1'
6057 implementation ' io.reactivex.rxjava2:rxjava:2.2.21'
58+
59+ // Lottie
60+ implementation " com.airbnb.android:lottie:3.4.0"
61+
6162}
6263
6364afterEvaluate {
Original file line number Diff line number Diff line change @@ -2,14 +2,14 @@ package com.zero.zerobase.presentation.viewbinding
22
33import android.os.Bundle
44import androidx.appcompat.app.AppCompatActivity
5- import com.zero.zerobase.R
65import com.zero.zerobase.presentation.utils.getBinding
7- import dmax.dialog.SpotsDialog
6+ import com.zero.zerobase.ui.LoadingDialog
87
98abstract class BaseActivity <T : androidx.viewbinding.ViewBinding > : AppCompatActivity () {
109 val binding by lazy { getBinding() }
11- val spotsDialogWait: SpotsDialog by lazy {
12- SpotsDialog (this , getString(R .string.title_spot_dialog_wait))
10+
11+ val loadingDialog: LoadingDialog by lazy {
12+ LoadingDialog (this )
1313 }
1414
1515 val TAG : String = this ::class .java.simpleName
Original file line number Diff line number Diff line change @@ -4,16 +4,14 @@ import android.os.Bundle
44import android.view.LayoutInflater
55import android.view.View
66import android.view.ViewGroup
7- import androidx.fragment.app.Fragment
87import com.google.android.material.bottomsheet.BottomSheetDialogFragment
9- import com.zero.zerobase.R
108import com.zero.zerobase.presentation.utils.getBinding
11- import dmax.dialog.SpotsDialog
9+ import com.zero.zerobase.ui.LoadingDialog
1210
1311abstract class BaseBottomSheetFragment <T : androidx.viewbinding.ViewBinding > : BottomSheetDialogFragment () {
1412 val binding by lazy { getBinding() }
15- val spotsDialogWait : SpotsDialog by lazy {
16- SpotsDialog (requireContext(), getString( R .string.title_spot_dialog_wait ))
13+ val loadingDialog : LoadingDialog by lazy {
14+ LoadingDialog (requireContext())
1715 }
1816
1917 private val TAG : String = this ::class .java.simpleName
Original file line number Diff line number Diff line change @@ -5,14 +5,14 @@ import android.view.LayoutInflater
55import android.view.View
66import android.view.ViewGroup
77import androidx.fragment.app.Fragment
8- import com.zero.zerobase.R
98import com.zero.zerobase.presentation.utils.getBinding
10- import dmax.dialog.SpotsDialog
9+ import com.zero.zerobase.ui.LoadingDialog
1110
1211abstract class BaseFragment <T : androidx.viewbinding.ViewBinding > : Fragment () {
1312 val binding by lazy { getBinding() }
14- val spotsDialogWait: SpotsDialog by lazy {
15- SpotsDialog (requireContext(), getString(R .string.title_spot_dialog_wait))
13+
14+ val loadingDialog: LoadingDialog by lazy {
15+ LoadingDialog (requireContext())
1616 }
1717
1818 val TAG : String = this ::class .java.simpleName
Original file line number Diff line number Diff line change 1+ package com.zero.zerobase.ui
2+
3+ import android.app.Dialog
4+ import android.content.Context
5+ import android.os.Bundle
6+ import android.view.LayoutInflater
7+ import android.view.Window
8+ import com.zero.zerobase.databinding.DialogLoadingBinding
9+
10+ class LoadingDialog (context : Context , private val cancelable : Boolean = false ) : Dialog(context) {
11+
12+ private lateinit var binding: DialogLoadingBinding
13+
14+ override fun onCreate (savedInstanceState : Bundle ? ) {
15+ super .onCreate(savedInstanceState)
16+ requestWindowFeature(Window .FEATURE_NO_TITLE )
17+
18+ binding = DialogLoadingBinding .inflate(LayoutInflater .from(context))
19+ setContentView(binding.root)
20+
21+ setCancelable(cancelable)
22+ setCanceledOnTouchOutside(false )
23+
24+ window?.setBackgroundDrawableResource(android.R .color.transparent)
25+ }
26+ }
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <shape xmlns : android =" http://schemas.android.com/apk/res/android" >
3+ <corners android : radius =" 20dp" />
4+ <solid android : color =" @android:color/white" />
5+ <padding android : left =" 8dp" android : top =" 8dp" android : right =" 8dp" android : bottom =" 8dp" />
6+ </shape >
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <LinearLayout xmlns : android =" http://schemas.android.com/apk/res/android"
3+ xmlns : app =" http://schemas.android.com/apk/res-auto"
4+ android : layout_width =" match_parent"
5+ android : layout_height =" match_parent"
6+ android : orientation =" vertical"
7+ android : background =" @drawable/rounded_dialog_background"
8+ android : gravity =" center" >
9+
10+ <com .airbnb.lottie.LottieAnimationView
11+ android : id =" @+id/animationView"
12+ android : layout_width =" 70dp"
13+ android : layout_height =" 70dp"
14+ app : lottie_rawRes =" @raw/loading_animation"
15+ app : lottie_autoPlay =" true"
16+ app : lottie_loop =" true" />
17+
18+ </LinearLayout >
You can’t perform that action at this time.
0 commit comments