Skip to content

Commit 3f5ca81

Browse files
committed
#4 Make the dialog singleton proper
1 parent aac49e6 commit 3f5ca81

File tree

9 files changed

+50
-119
lines changed

9 files changed

+50
-119
lines changed

app/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ dependencies {
2828
testImplementation 'junit:junit:4.13.2'
2929
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
3030
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
31-
/*implementation project(path: ':easy-loading')*/
32-
implementation 'com.github.Gkemon:Easy-Android-Loading:v1.0'
31+
/*
32+
implementation project(path: ':easy-loading')
33+
*/
34+
implementation 'com.github.Gkemon:Easy-Android-Loading:1.1'
3335

3436
implementation "androidx.core:core-ktx:1.3.2"
3537
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1'

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@
1414
android:label="@string/title_activity_second"
1515
android:theme="@style/AppTheme.NoActionBar">
1616
</activity>
17-
<activity
18-
android:name="com.gk.emon.easyLoadingDemo.ThirdActivity"
19-
android:label="@string/title_activity_second"
20-
android:theme="@style/AppTheme.NoActionBar">
21-
</activity>
2217
<activity android:name="com.gk.emon.easyLoadingDemo.MainActivity">
2318
<intent-filter>
2419
<action android:name="android.intent.action.MAIN" />

app/src/main/java/com/gk/emon/easyLoadingDemo/MainActivity.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.gk.emon.easyLoadingDemo
22

3+
import android.content.Intent
34
import android.graphics.PorterDuff
45
import android.graphics.PorterDuffColorFilter
56
import android.os.Bundle
@@ -39,12 +40,18 @@ class MainActivity : AppCompatActivity() {
3940
getInstance(this)
4041
.customLoading()
4142
.setCustomViewID(R.layout.layout_my_custom_loading, android.R.color.holo_red_dark)
42-
.doIntentionalDelay()
43-
.setDelayDurationInMillSec(1000)
43+
.noIntentionalDelay()
4444
.setBackgroundOpacity(70)
4545
.build()
4646

4747

48+
LoadingPopup.showLoadingPopUp()
49+
50+
Handler(Looper.getMainLooper()).postDelayed({
51+
startActivity(Intent(this,SecondActivity::class.java))
52+
}, 2000)
53+
54+
4855
}
4956

5057
private fun doConfigureAndShowDefaultLovelyLoading() {

app/src/main/java/com/gk/emon/easyLoadingDemo/SecondActivity.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.gk.emon.easyLoadingDemo
2+
3+
import android.os.Bundle
4+
import android.os.Handler
5+
import android.os.Looper
6+
import androidx.appcompat.app.AppCompatActivity
7+
import com.gk.emon.lovelyLoading.LoadingPopup
8+
9+
class SecondActivity : AppCompatActivity() {
10+
override fun onCreate(savedInstanceState: Bundle?) {
11+
super.onCreate(savedInstanceState)
12+
setContentView(R.layout.activity_second)
13+
14+
Handler(Looper.getMainLooper()).postDelayed({
15+
LoadingPopup.hideLoadingPopUp()
16+
}, 2000)
17+
18+
}
19+
}

app/src/main/java/com/gk/emon/easyLoadingDemo/ThirdActivity.java

Lines changed: 0 additions & 21 deletions
This file was deleted.

app/src/main/res/layout/activity_third.xml

Lines changed: 0 additions & 26 deletions
This file was deleted.

app/src/main/res/layout/content_third.xml

Lines changed: 0 additions & 23 deletions
This file was deleted.

easy-loading/src/main/java/com/gk/emon/lovelyLoading/LoadingPopup.kt

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class LoadingPopup(context: Context) : Dialog(context) {
123123
fun build()
124124
}
125125

126-
class LoadingBuilder(activity: Activity) : FinalStep, TypeStep, DelayDurationStep, DelayStep, CustomLayoutStep {
126+
class LoadingBuilder(private val activity: Activity) : FinalStep, TypeStep, DelayDurationStep, DelayStep, CustomLayoutStep {
127127
private var isAutoCancelable = false
128128
private var intentionalDelayInMillSec: Long = 0
129129
var dialog: LoadingPopup? = null
@@ -168,7 +168,7 @@ class LoadingPopup(context: Context) : Dialog(context) {
168168
}
169169

170170
override fun build() {
171-
dialog?.apply {
171+
getDialog(activity)?.apply {
172172
setIntentionalDelayInMillSec(intentionalDelayInMillSec)
173173
if (isAutoCancelable) setCancelable()
174174
setCustomViewID(customLayoutID, backgroundColor)
@@ -201,29 +201,22 @@ class LoadingPopup(context: Context) : Dialog(context) {
201201
private fun registerActivityChangeListener(activity: Activity?) {
202202
if (activity != null && activity.application != null) {
203203
activity.application
204-
.registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
205-
override fun onActivityCreated(activity: Activity, bundle: Bundle?) {
206-
dialog?.hide()
207-
dialog = null
208-
dialog = getDialog(activity)
209-
}
210-
211-
override fun onActivityStarted(activity: Activity) {}
212-
override fun onActivityResumed(activity: Activity) {
213-
dialog = getDialog(activity)
214-
build()
215-
}
216-
217-
override fun onActivityPaused(activity: Activity) {}
218-
override fun onActivityStopped(activity: Activity) {}
219-
override fun onActivitySaveInstanceState(
220-
activity: Activity,
221-
bundle: Bundle
222-
) {
223-
}
224-
225-
override fun onActivityDestroyed(activity: Activity) {}
226-
})
204+
.registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
205+
override fun onActivityCreated(activity: Activity, bundle: Bundle?) {
206+
dialog?.hide()
207+
dialog = null
208+
dialog = getDialog(activity)
209+
}
210+
override fun onActivityStarted(activity: Activity) {}
211+
override fun onActivityResumed(activity: Activity) {
212+
dialog = getDialog(activity)
213+
build()
214+
}
215+
override fun onActivityPaused(activity: Activity) {}
216+
override fun onActivityStopped(activity: Activity) {}
217+
override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {}
218+
override fun onActivityDestroyed(activity: Activity) {}
219+
})
227220
}
228221
}
229222

0 commit comments

Comments
 (0)