2023-02-11 23:41:23 -06:00
|
|
|
package com.isolaatti.profile.ui
|
|
|
|
|
|
2023-07-28 21:36:38 -06:00
|
|
|
import android.content.Context
|
|
|
|
|
import android.content.Intent
|
2023-02-11 23:41:23 -06:00
|
|
|
import android.os.Bundle
|
2023-07-29 00:55:07 -06:00
|
|
|
import android.util.Log
|
2023-02-11 23:41:23 -06:00
|
|
|
import androidx.activity.addCallback
|
2023-07-15 20:58:57 -06:00
|
|
|
import androidx.activity.viewModels
|
2023-02-11 23:41:23 -06:00
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
2023-07-31 00:25:25 -06:00
|
|
|
import androidx.core.content.ContentProviderCompat.requireContext
|
2023-02-11 23:41:23 -06:00
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
|
import androidx.fragment.app.FragmentActivity
|
2023-08-06 22:11:28 -06:00
|
|
|
import androidx.fragment.app.activityViewModels
|
2023-07-15 20:58:57 -06:00
|
|
|
import androidx.lifecycle.Observer
|
|
|
|
|
import androidx.lifecycle.ViewModelProvider
|
2023-07-31 00:25:25 -06:00
|
|
|
import androidx.navigation.findNavController
|
|
|
|
|
import androidx.navigation.fragment.NavHostFragment
|
|
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
2023-02-11 23:41:23 -06:00
|
|
|
import androidx.viewpager.widget.PagerAdapter
|
|
|
|
|
import androidx.viewpager2.adapter.FragmentStateAdapter
|
|
|
|
|
import androidx.viewpager2.adapter.FragmentViewHolder
|
2023-07-29 00:55:07 -06:00
|
|
|
import com.google.android.material.appbar.AppBarLayout
|
|
|
|
|
import com.google.android.material.appbar.AppBarLayout.OnOffsetChangedListener
|
2023-02-11 23:41:23 -06:00
|
|
|
import com.google.android.material.tabs.TabLayoutMediator
|
2023-07-31 00:25:25 -06:00
|
|
|
import com.isolaatti.BuildConfig
|
2023-02-11 23:41:23 -06:00
|
|
|
import com.isolaatti.R
|
|
|
|
|
import com.isolaatti.databinding.ActivityProfileBinding
|
2023-07-31 00:25:25 -06:00
|
|
|
import com.isolaatti.posting.common.domain.OnUserInteractedCallback
|
|
|
|
|
import com.isolaatti.posting.common.domain.OnUserInteractedWithPostCallback
|
|
|
|
|
import com.isolaatti.posting.posts.data.remote.FeedDto
|
|
|
|
|
import com.isolaatti.posting.posts.presentation.PostsRecyclerViewAdapter
|
2023-07-15 20:58:57 -06:00
|
|
|
import com.isolaatti.profile.data.remote.UserProfileDto
|
|
|
|
|
import com.isolaatti.profile.presentation.ProfileViewModel
|
2023-07-31 00:25:25 -06:00
|
|
|
import com.isolaatti.utils.PicassoImagesPluginDef
|
2023-07-15 20:58:57 -06:00
|
|
|
import com.isolaatti.utils.UrlGen
|
2023-02-11 23:41:23 -06:00
|
|
|
import com.squareup.picasso.Picasso
|
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
2023-07-31 00:25:25 -06:00
|
|
|
import io.noties.markwon.AbstractMarkwonPlugin
|
|
|
|
|
import io.noties.markwon.Markwon
|
|
|
|
|
import io.noties.markwon.MarkwonConfiguration
|
|
|
|
|
import io.noties.markwon.image.destination.ImageDestinationProcessorRelativeToAbsolute
|
|
|
|
|
import io.noties.markwon.linkify.LinkifyPlugin
|
2023-02-11 23:41:23 -06:00
|
|
|
|
|
|
|
|
@AndroidEntryPoint
|
2023-07-31 00:25:25 -06:00
|
|
|
class ProfileActivity : FragmentActivity() {
|
2023-02-11 23:41:23 -06:00
|
|
|
|
|
|
|
|
lateinit var viewBinding: ActivityProfileBinding
|
2023-07-29 00:55:07 -06:00
|
|
|
|
2023-02-11 23:41:23 -06:00
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
viewBinding = ActivityProfileBinding.inflate(layoutInflater)
|
|
|
|
|
setContentView(viewBinding.root)
|
2023-07-29 00:55:07 -06:00
|
|
|
|
2023-07-15 20:58:57 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|
const val EXTRA_USER_ID = "user_id"
|
2023-07-28 21:36:38 -06:00
|
|
|
|
|
|
|
|
fun startActivity(context: Context, userId: Int) {
|
|
|
|
|
context.startActivity(Intent(context, ProfileActivity::class.java).apply {
|
|
|
|
|
putExtra(EXTRA_USER_ID, userId)
|
|
|
|
|
})
|
|
|
|
|
}
|
2023-02-11 23:41:23 -06:00
|
|
|
}
|
|
|
|
|
}
|