@@ -23,7 +23,7 @@ import java.util.concurrent.Executors
2323
2424class LettersFragment : Fragment () {
2525
26- private var lettersViewModel: LettersViewModel ? = null
26+ private lateinit var lettersViewModel: LettersViewModel
2727 private lateinit var binding: FragmentLettersBinding
2828
2929 private val TAG = javaClass.name
@@ -32,14 +32,12 @@ class LettersFragment : Fragment() {
3232 inflater : LayoutInflater ,
3333 container : ViewGroup ? ,
3434 savedInstanceState : Bundle ?
35- ): View ? {
35+ ): View {
3636 Log .i(TAG , " onCreateView" )
3737
38- lettersViewModel = ViewModelProvider (this ).get(
39- LettersViewModel ::class .java
40- )
38+ lettersViewModel = ViewModelProvider (this )[LettersViewModel ::class .java]
4139 binding = FragmentLettersBinding .inflate(layoutInflater)
42- lettersViewModel!! .getText().observe(viewLifecycleOwner, object : Observer <String ?> {
40+ lettersViewModel.getText().observe(viewLifecycleOwner, object : Observer <String ?> {
4341 override fun onChanged (s : String? ) {
4442 Log .i(TAG , " onChanged" )
4543 binding.textLetters.text = s
@@ -53,7 +51,7 @@ class LettersFragment : Fragment() {
5351 super .onStart()
5452
5553 // Download Letters from REST API, and store them in the database
56- val baseApplication = activity!! .application as BaseApplication
54+ val baseApplication = activity? .application as ? BaseApplication ? : return
5755 val retrofit = baseApplication.retrofit
5856 val lettersService = retrofit.create(LettersService ::class .java)
5957 val letterGsonsCall = lettersService.listLetters()
@@ -67,7 +65,7 @@ class LettersFragment : Fragment() {
6765
6866 Log .i(TAG , " response: $response " )
6967 if (response.isSuccessful) {
70- val letterGsons = response.body()!!
68+ val letterGsons = response.body() ? : return
7169 Log .i(TAG , " letterGsons.size(): " + letterGsons.size)
7270
7371 if (letterGsons.size > 0 ) {
@@ -124,7 +122,7 @@ class LettersFragment : Fragment() {
124122 // Update the UI
125123 val letters = letterDao.loadAllOrderedByUsageCount()
126124 Log .i(TAG , " letters.size(): " + letters.size)
127- activity!! .runOnUiThread {
125+ activity? .runOnUiThread {
128126 binding.textLetters.text = " letters.size(): " + letters.size
129127 Snackbar .make(
130128 binding.textLetters,
0 commit comments