Skip to content

Commit dff5e8c

Browse files
committed
migrate spotdialog to loadingdialog (own dialog)
1 parent c0c5652 commit dff5e8c

9 files changed

Lines changed: 770 additions & 16 deletions

File tree

app/src/main/java/com/zero/devbase/MainActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ import android.util.Log
44
import com.zero.devbase.databinding.ActivityMainBinding
55
import com.zero.zerobase.presentation.utils.toast
66
import com.zero.zerobase.presentation.viewbinding.BaseActivity
7+
import com.zero.zerobase.ui.LoadingDialog
78

89
class MainActivity : BaseActivity<ActivityMainBinding>() {
10+
911
override fun initUI() {
1012
super.initUI()
13+
loadingDialog.show()
1114
}
1215
override fun initData() {
1316
super.initData()

zerobase/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff 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

6364
afterEvaluate {

zerobase/src/main/java/com/zero/zerobase/presentation/viewbinding/BaseActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package com.zero.zerobase.presentation.viewbinding
22

33
import android.os.Bundle
44
import androidx.appcompat.app.AppCompatActivity
5-
import com.zero.zerobase.R
65
import com.zero.zerobase.presentation.utils.getBinding
7-
import dmax.dialog.SpotsDialog
6+
import com.zero.zerobase.ui.LoadingDialog
87

98
abstract 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

zerobase/src/main/java/com/zero/zerobase/presentation/viewbinding/BaseBottomSheetFragment.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@ import android.os.Bundle
44
import android.view.LayoutInflater
55
import android.view.View
66
import android.view.ViewGroup
7-
import androidx.fragment.app.Fragment
87
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
9-
import com.zero.zerobase.R
108
import com.zero.zerobase.presentation.utils.getBinding
11-
import dmax.dialog.SpotsDialog
9+
import com.zero.zerobase.ui.LoadingDialog
1210

1311
abstract 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

zerobase/src/main/java/com/zero/zerobase/presentation/viewbinding/BaseFragment.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import android.view.LayoutInflater
55
import android.view.View
66
import android.view.ViewGroup
77
import androidx.fragment.app.Fragment
8-
import com.zero.zerobase.R
98
import com.zero.zerobase.presentation.utils.getBinding
10-
import dmax.dialog.SpotsDialog
9+
import com.zero.zerobase.ui.LoadingDialog
1110

1211
abstract 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
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
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>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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>

0 commit comments

Comments
 (0)