'Retrofit or Okhttp never called the link

So I got a problem, When the Main Page is shown, it's supposed to call the API to get the data from it. But, the API never called. What I find strange is, that before Main Page, there is a login page that successfully called the API for login. But, on Main Page, the Retrofit/Okhttp never called the Page to get the data. Do you guys know what's wrong? Here's my code screenshot:

StoryPageSource enter image description here

StoryRepository enter image description here

ViewModel enter image description here

StoryAdapter enter image description here enter image description here

MainActivity

class MainActivity : AppCompatActivity() {
    private lateinit var bind: ActivityMainBinding
    private lateinit var storyAdapter: StoryAdapter
    private val timelineStoryViewModel: TimelineStoryViewModel by viewModels {
        ViewModelFactory(this, application)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        bind = ActivityMainBinding.inflate(layoutInflater)
        setContentView(bind.root)


        showLoadingProcess(true)
        displayStories()
        bind.floatingActionButton.setOnClickListener {
            startActivity(Intent(this, AddStoryActivity::class.java))
        }
        supportActionBar?.setTitle(R.string.app_name)
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        val inflaterMenu = menuInflater
        inflaterMenu.inflate(R.menu.menus, menu)
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            R.id.app_bar_settings -> {
                val context = this
                val pref = context.getSharedPreferences(
                    R.string.token_pref.toString(),
                    Context.MODE_PRIVATE
                )
                val editor = pref.edit()
                editor.remove(R.string.token.toString())
                editor.remove(getString(R.string.email))
                editor.remove(getString(R.string.password))
                editor.apply()
                startActivity(Intent(this, LoginActivity::class.java))
            }
            R.id.app_bar_maps -> {
                startActivity(Intent(this, MapsActivity::class.java))
            }
        }
        return super.onOptionsItemSelected(item)
    }

    private fun displayStories() {
        showLoadingProcess(false)
        storyAdapter = StoryAdapter()
        bind.storyRV.layoutManager = LinearLayoutManager(this)
        bind.storyRV.adapter = storyAdapter
        timelineStoryViewModel.story().observe(this@MainActivity) { story ->
            storyAdapter.submitData(lifecycle, story)
        }
        storyAdapter.setOnProfileCallback(object : StoryAdapter.OnProfileCallback {
            override fun onProfileClicked(data: TimelineStory) {
                chosenProfile(data)
            }
        })
    }

    private fun chosenProfile(story: TimelineStory) {
        var name: TextView = findViewById(R.id.userName)
        var storyPict: ImageView = findViewById(R.id.userImageStory)
        val optionsCompat: ActivityOptionsCompat =
            ActivityOptionsCompat.makeSceneTransitionAnimation(
                this,
                Pair(storyPict, getString(R.string.imageStoryDetail)),
                Pair(name, getString(R.string.nama_pengguna)),
            )
        val sendData = Intent(this, StoryDetailActivity::class.java)
        sendData.putExtra(StoryDetailActivity.EXTRA_STORY, story)
        startActivity(sendData, optionsCompat.toBundle())
        Toast.makeText(this, "Memuat Story " + story.name, Toast.LENGTH_SHORT).show()
    }

    private fun showLoadingProcess(isLoading: Boolean) {
        if (isLoading) {
            bind.loading.visibility = View.VISIBLE
        } else {
            bind.loading.visibility = View.GONE
        }
    }
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source