Migrate EditorStreamBrowseActivity to fragment
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -115,7 +115,6 @@
|
||||
<activity android:name=".view.ui.details.DetailsExodusActivity" />
|
||||
<activity android:name=".view.ui.details.DevAppsActivity" />
|
||||
<activity android:name=".view.ui.commons.ExpandedStreamBrowseActivity" />
|
||||
<activity android:name=".view.ui.commons.EditorStreamBrowseActivity" />
|
||||
|
||||
<service android:name=".data.service.NotificationService" />
|
||||
<service android:name=".data.installer.InstallerService" />
|
||||
|
||||
@@ -72,9 +72,8 @@ open class BaseFragment : Fragment {
|
||||
}
|
||||
|
||||
fun openEditorStreamBrowseActivity(browseUrl: String, title: String = "") {
|
||||
val intent = Intent(requireContext(), EditorStreamBrowseActivity::class.java)
|
||||
intent.putExtra(Constants.BROWSE_EXTRA, browseUrl)
|
||||
intent.putExtra(Constants.STRING_EXTRA, title)
|
||||
startActivity(intent, requireContext().getEmptyActivityBundle())
|
||||
findNavController().navigate(
|
||||
MobileNavigationDirections.actionGlobalEditorStreamBrowseFragment(title, browseUrl)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,14 @@
|
||||
package com.aurora.store.view.ui.commons
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.airbnb.epoxy.EpoxyModel
|
||||
import com.aurora.Constants
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.MainActivity
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
import com.aurora.store.view.epoxy.groups.CarouselHorizontalModel_
|
||||
import com.aurora.store.view.epoxy.views.EditorHeadViewModel_
|
||||
@@ -35,58 +39,46 @@ import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_
|
||||
import com.aurora.store.viewmodel.editorschoice.EditorBrowseViewModel
|
||||
|
||||
|
||||
class EditorStreamBrowseActivity : BaseActivity() {
|
||||
class EditorStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
private val args: EditorStreamBrowseFragmentArgs by navArgs()
|
||||
|
||||
lateinit var B: ActivityGenericRecyclerBinding
|
||||
lateinit var VM: EditorBrowseViewModel
|
||||
lateinit var title: String
|
||||
|
||||
override fun onConnected() {
|
||||
hideNetworkConnectivitySheet()
|
||||
}
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
override fun onDisconnected() {
|
||||
showNetworkConnectivitySheet()
|
||||
}
|
||||
|
||||
override fun onReconnected() {
|
||||
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
B = ActivityGenericRecyclerBinding.inflate(layoutInflater)
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
VM = ViewModelProvider(this)[EditorBrowseViewModel::class.java]
|
||||
|
||||
setContentView(B.root)
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.apply {
|
||||
txtTitle.text = args.title
|
||||
imgActionPrimary.setOnClickListener {
|
||||
findNavController().navigateUp()
|
||||
}
|
||||
}
|
||||
|
||||
attachToolbar()
|
||||
|
||||
VM.liveData.observe(this) {
|
||||
VM.liveData.observe(viewLifecycleOwner) {
|
||||
updateController(it)
|
||||
}
|
||||
|
||||
intent.apply {
|
||||
getStringExtra(Constants.BROWSE_EXTRA)?.let {
|
||||
VM.getEditorStreamBundle(it)
|
||||
}
|
||||
getStringExtra(Constants.STRING_EXTRA)?.let {
|
||||
B.layoutToolbarAction.txtTitle.text = it
|
||||
}
|
||||
}
|
||||
|
||||
VM.getEditorStreamBundle(args.browseUrl)
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
private fun attachToolbar() {
|
||||
B.layoutToolbarAction.imgActionPrimary.setOnClickListener {
|
||||
finishAfterTransition()
|
||||
}
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(appList: MutableList<App>?) {
|
||||
B.recycler.withModels {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
if (appList == null) {
|
||||
for (i in 1..6) {
|
||||
@@ -107,7 +99,10 @@ class EditorStreamBrowseActivity : BaseActivity() {
|
||||
.artwork(artwork)
|
||||
.callback(object : MiniScreenshotView.ScreenshotCallback {
|
||||
override fun onClick(position: Int) {
|
||||
openScreenshotActivity(app, position)
|
||||
(activity as MainActivity).openScreenshotActivity(
|
||||
app,
|
||||
position
|
||||
)
|
||||
}
|
||||
})
|
||||
)
|
||||
@@ -120,10 +120,23 @@
|
||||
android:name="browseUrl"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/editorStreamBrowseFragment"
|
||||
android:name="com.aurora.store.view.ui.commons.EditorStreamBrowseFragment"
|
||||
tools:layout="@layout/activity_generic_recycler" >
|
||||
<argument android:name="title"
|
||||
app:argType="string" />
|
||||
<argument
|
||||
android:name="browseUrl"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<action
|
||||
android:id="@+id/action_global_appDetailsFragment"
|
||||
app:destination="@id/appDetailsFragment" />
|
||||
<action
|
||||
android:id="@+id/action_global_categoryBrowseFragment"
|
||||
app:destination="@id/categoryBrowseFragment" />
|
||||
<action
|
||||
android:id="@+id/action_global_editorStreamBrowseFragment"
|
||||
app:destination="@id/editorStreamBrowseFragment" />
|
||||
</navigation>
|
||||
|
||||
Reference in New Issue
Block a user