File tree Expand file tree Collapse file tree 4 files changed +25
-3
lines changed
app/src/main/kotlin/me/tylerbwong/stack/ui Expand file tree Collapse file tree 4 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ import me.tylerbwong.stack.ui.BaseFragment
1414import me.tylerbwong.stack.ui.home.HomeItemDiffCallback
1515import me.tylerbwong.stack.ui.profile.ProfileActivity.Companion.USER_ID
1616import me.tylerbwong.stack.ui.utils.ViewHolderItemDecoration
17+ import me.tylerbwong.stack.ui.utils.serializable
1718import me.tylerbwong.stack.ui.utils.showSnackbar
1819
1920@AndroidEntryPoint
@@ -27,8 +28,8 @@ class ProfilePageFragment : BaseFragment<ProfilePageFragmentBinding>(
2728 override fun onCreate (savedInstanceState : Bundle ? ) {
2829 super .onCreate(savedInstanceState)
2930 viewModel.userId = arguments?.getInt(USER_ID )
30- viewModel.currentPage =
31- arguments?.getSerializable( PAGE_EXTRA ) as ProfileViewModel .ProfilePage
31+ viewModel.currentPage = arguments?.serializable( PAGE_EXTRA )
32+ ? : ProfileViewModel .ProfilePage . QUESTIONS
3233 }
3334
3435 override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ import me.tylerbwong.stack.api.model.WEEK
2323import me.tylerbwong.stack.databinding.ActivityQuestionsBinding
2424import me.tylerbwong.stack.ui.BaseActivity
2525import me.tylerbwong.stack.ui.utils.ViewHolderItemDecoration
26+ import me.tylerbwong.stack.ui.utils.serializable
2627import me.tylerbwong.stack.ui.utils.showSnackbar
2728
2829@AndroidEntryPoint
@@ -45,7 +46,7 @@ class QuestionsActivity : BaseActivity<ActivityQuestionsBinding>(
4546 finish()
4647 }
4748
48- val page = intent.getSerializableExtra (PAGE_EXTRA ) as QuestionPage
49+ val page = intent.serializable< QuestionPage > (PAGE_EXTRA ) ? : QuestionPage . LINKED
4950
5051 setUpPageForKey(page, key)
5152
Original file line number Diff line number Diff line change 1+ package me.tylerbwong.stack.ui.utils
2+
3+ import android.os.Build
4+ import android.os.Bundle
5+ import java.io.Serializable
6+
7+ inline fun <reified T : Serializable > Bundle.serializable (key : String ): T ? = when {
8+ Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU -> getSerializable(key, T ::class .java)
9+ else -> @Suppress(" DEPRECATION" ) getSerializable(key) as ? T
10+ }
Original file line number Diff line number Diff line change 1+ package me.tylerbwong.stack.ui.utils
2+
3+ import android.content.Intent
4+ import android.os.Build
5+ import java.io.Serializable
6+
7+ inline fun <reified T : Serializable > Intent.serializable (key : String ): T ? = when {
8+ Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU -> getSerializableExtra(key, T ::class .java)
9+ else -> @Suppress(" DEPRECATION" ) getSerializableExtra(key) as ? T
10+ }
You can’t perform that action at this time.
0 commit comments