-
Notifications
You must be signed in to change notification settings - Fork 183
/
AllCourseFragment.kt
67 lines (49 loc) 路 2.02 KB
/
AllCourseFragment.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.codingblocks.cbonlineapp.fragments
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.codingblocks.cbonlineapp.adapters.CourseDataAdapter
import com.codingblocks.cbonlineapp.R
import com.codingblocks.cbonlineapp.Utils.retrofitCallback
import com.codingblocks.cbonlineapp.ui.AllCourseFragmentUi
import com.codingblocks.onlineapi.Clients
import com.ethanhua.skeleton.Skeleton
import com.ethanhua.skeleton.SkeletonScreen
import org.jetbrains.anko.AnkoContext
import org.jetbrains.anko.AnkoLogger
import org.jetbrains.anko.support.v4.ctx
class AllCourseFragment : Fragment(), AnkoLogger {
val ui = AllCourseFragmentUi<Fragment>()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return ui.createView(AnkoContext.create(ctx, this))
}
private lateinit var courseDataAdapter: CourseDataAdapter
lateinit var skeletonScreen: SkeletonScreen
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
courseDataAdapter = CourseDataAdapter(ArrayList(),activity!!)
ui.rvCourses.layoutManager = LinearLayoutManager(ctx)
ui.rvCourses.adapter = courseDataAdapter
skeletonScreen = Skeleton.bind(ui.rvCourses)
.adapter(courseDataAdapter)
.shimmer(true)
.angle(20)
.frozen(true)
.duration(1200)
.count(4)
.load(R.layout.item_skeleton_course_card)
.show()
fetchAllCourses()
}
private fun fetchAllCourses() {
Clients.onlineV2PublicClient.getAllCourses().enqueue(retrofitCallback { t, resp ->
resp?.body()?.let {
courseDataAdapter.setData(it)
skeletonScreen.hide()
}
})
}
}