Skip to content

Commit 0d71c23

Browse files
authored
Fix NPE on binding in setOnRefreshListener (#63)
1 parent 15d7c76 commit 0d71c23

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.os.Bundle
77
import android.os.Handler
88
import android.os.Looper
99
import android.util.Log
10-
import android.view.Gravity
1110
import android.view.LayoutInflater
1211
import android.view.View
1312
import android.view.ViewGroup
@@ -25,7 +24,6 @@ import androidx.preference.PreferenceManager
2524
import androidx.recyclerview.widget.LinearLayoutManager
2625
import androidx.recyclerview.widget.RecyclerView
2726
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
28-
import androidx.transition.Slide
2927
import com.bumptech.glide.Glide
3028
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader
3129
import com.bumptech.glide.load.model.GlideUrl
@@ -312,30 +310,32 @@ class FilesFragment : Fragment() {
312310
filesAdapter.selected.clear()
313311
Log.i("File[refreshLayout]", "3 - getFiles: ON REFRESH")
314312
getFiles(perPage, true)
315-
binding.refreshLayout.isRefreshing = false
316-
binding.refreshLayout.isEnabled = false
317-
Log.d("File[refreshLayout]", "DONE")
318-
// Fade In
319-
binding.refreshBanner.post {
320-
binding.refreshBanner.translationY = -binding.refreshBanner.height.toFloat()
321-
binding.refreshBanner.visibility = View.VISIBLE
322-
binding.refreshBanner.animate()
323-
.alpha(1f)
324-
.translationY(0f)
325-
.setDuration(400)
326-
.start()
313+
_binding?.let {
314+
it.refreshLayout.isRefreshing = false
315+
it.refreshLayout.isEnabled = false
316+
Log.d("File[refreshLayout]", "DONE")
317+
// Fade In
318+
it.refreshBanner.post {
319+
it.refreshBanner.translationY = -it.refreshBanner.height.toFloat()
320+
it.refreshBanner.visibility = View.VISIBLE
321+
it.refreshBanner.animate()
322+
.alpha(1f)
323+
.translationY(0f)
324+
.setDuration(400)
325+
.start()
326+
}
327+
Handler(Looper.getMainLooper()).postDelayed({
328+
// Fade Out
329+
it.refreshBanner.animate()
330+
.alpha(0f)
331+
.translationY(-it.refreshBanner.height.toFloat())
332+
.setDuration(400)
333+
.withEndAction {
334+
it.refreshBanner.visibility = View.GONE
335+
}
336+
.start()
337+
}, 1600)
327338
}
328-
Handler(Looper.getMainLooper()).postDelayed({
329-
// Fade Out
330-
binding.refreshBanner.animate()
331-
.alpha(0f)
332-
.translationY(-binding.refreshBanner.height.toFloat())
333-
.setDuration(400)
334-
.withEndAction {
335-
binding.refreshBanner.visibility = View.GONE
336-
}
337-
.start()
338-
}, 1600)
339339
}
340340
}
341341
})

0 commit comments

Comments
 (0)