ManualDownloadSheet: Migrate to navigation component
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -91,7 +91,6 @@ import com.aurora.store.view.epoxy.views.details.ScreenshotView
|
|||||||
import com.aurora.store.view.epoxy.views.details.ScreenshotViewModel_
|
import com.aurora.store.view.epoxy.views.details.ScreenshotViewModel_
|
||||||
import com.aurora.store.view.ui.commons.BaseFragment
|
import com.aurora.store.view.ui.commons.BaseFragment
|
||||||
import com.aurora.store.view.ui.sheets.InstallErrorDialogSheet
|
import com.aurora.store.view.ui.sheets.InstallErrorDialogSheet
|
||||||
import com.aurora.store.view.ui.sheets.ManualDownloadSheet
|
|
||||||
import com.aurora.store.view.ui.sheets.PermissionBottomSheet
|
import com.aurora.store.view.ui.sheets.PermissionBottomSheet
|
||||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
import com.aurora.store.viewmodel.details.DetailsClusterViewModel
|
import com.aurora.store.viewmodel.details.DetailsClusterViewModel
|
||||||
@@ -384,9 +383,10 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
R.id.menu_download_manual -> {
|
R.id.menu_download_manual -> {
|
||||||
val sheet = ManualDownloadSheet.newInstance(app)
|
findNavController().navigate(
|
||||||
sheet.isCancelable = false
|
AppDetailsFragmentDirections
|
||||||
sheet.show(childFragmentManager, ManualDownloadSheet.TAG)
|
.actionAppDetailsFragmentToManualDownloadSheet(app)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.menu_download_manager -> {
|
R.id.menu_download_manager -> {
|
||||||
|
|||||||
@@ -26,10 +26,9 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.aurora.Constants
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.aurora.extensions.load
|
import com.aurora.extensions.load
|
||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.gplayapi.data.models.App
|
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetManualDownloadBinding
|
import com.aurora.store.databinding.SheetManualDownloadBinding
|
||||||
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
||||||
@@ -40,25 +39,9 @@ import kotlinx.coroutines.launch
|
|||||||
class ManualDownloadSheet : BaseBottomSheet() {
|
class ManualDownloadSheet : BaseBottomSheet() {
|
||||||
|
|
||||||
private lateinit var B: SheetManualDownloadBinding
|
private lateinit var B: SheetManualDownloadBinding
|
||||||
private lateinit var app: App
|
|
||||||
|
|
||||||
private val viewModel: SheetsViewModel by viewModels()
|
private val viewModel: SheetsViewModel by viewModels()
|
||||||
|
private val args: ManualDownloadSheetArgs by navArgs()
|
||||||
companion object {
|
|
||||||
|
|
||||||
const val TAG = "ManualDownloadSheet"
|
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun newInstance(
|
|
||||||
app: App
|
|
||||||
): ManualDownloadSheet {
|
|
||||||
return ManualDownloadSheet().apply {
|
|
||||||
arguments = Bundle().apply {
|
|
||||||
putString(Constants.STRING_APP, gson.toJson(app))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateContentView(
|
override fun onCreateContentView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
@@ -71,17 +54,11 @@ class ManualDownloadSheet : BaseBottomSheet() {
|
|||||||
|
|
||||||
override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
val bundle = arguments
|
|
||||||
bundle?.let {
|
isCancelable = false
|
||||||
val rawApp = bundle.getString(Constants.STRING_APP, "{}")
|
|
||||||
app = gson.fromJson(rawApp, App::class.java)
|
inflateData()
|
||||||
if (app.packageName.isNotEmpty()) {
|
attachActions()
|
||||||
inflateData()
|
|
||||||
attachActions()
|
|
||||||
} else {
|
|
||||||
dismissAllowingStateLoss()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
@@ -99,17 +76,17 @@ class ManualDownloadSheet : BaseBottomSheet() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun inflateData() {
|
private fun inflateData() {
|
||||||
B.imgIcon.load(app.iconArtwork.url) {
|
B.imgIcon.load(args.app.iconArtwork.url) {
|
||||||
placeholder(R.drawable.bg_placeholder)
|
placeholder(R.drawable.bg_placeholder)
|
||||||
transform(RoundedCorners(32))
|
transform(RoundedCorners(32))
|
||||||
}
|
}
|
||||||
|
|
||||||
B.txtLine1.text = app.displayName
|
B.txtLine1.text = args.app.displayName
|
||||||
B.txtLine2.text = app.packageName
|
B.txtLine2.text = args.app.packageName
|
||||||
B.txtLine3.text = ("${app.versionName} (${app.versionCode})")
|
B.txtLine3.text = ("${args.app.versionName} (${args.app.versionCode})")
|
||||||
|
|
||||||
B.versionCodeLayout.hint = "${app.versionCode}"
|
B.versionCodeLayout.hint = "${args.app.versionCode}"
|
||||||
B.versionCodeLayout.editText?.setText("${app.versionCode}")
|
B.versionCodeLayout.editText?.setText("${args.app.versionCode}")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun attachActions() {
|
private fun attachActions() {
|
||||||
@@ -118,7 +95,7 @@ class ManualDownloadSheet : BaseBottomSheet() {
|
|||||||
if (customVersionString.isEmpty())
|
if (customVersionString.isEmpty())
|
||||||
B.versionCodeInp.error = "Enter version code"
|
B.versionCodeInp.error = "Enter version code"
|
||||||
else {
|
else {
|
||||||
viewModel.purchase(requireContext(), app, customVersionString.toInt())
|
viewModel.purchase(requireContext(), args.app, customVersionString.toInt())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,9 @@
|
|||||||
app:argType="com.aurora.gplayapi.data.models.App"
|
app:argType="com.aurora.gplayapi.data.models.App"
|
||||||
app:nullable="true"
|
app:nullable="true"
|
||||||
android:defaultValue="@null" />
|
android:defaultValue="@null" />
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_appDetailsFragment_to_manualDownloadSheet"
|
||||||
|
app:destination="@id/manualDownloadSheet" />
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/categoryBrowseFragment"
|
android:id="@+id/categoryBrowseFragment"
|
||||||
@@ -369,4 +372,13 @@
|
|||||||
android:name="com.aurora.store.view.ui.sheets.FilterSheet"
|
android:name="com.aurora.store.view.ui.sheets.FilterSheet"
|
||||||
android:label="FilterSheet"
|
android:label="FilterSheet"
|
||||||
tools:layout="@layout/sheet_filter" />
|
tools:layout="@layout/sheet_filter" />
|
||||||
|
<dialog
|
||||||
|
android:id="@+id/manualDownloadSheet"
|
||||||
|
android:name="com.aurora.store.view.ui.sheets.ManualDownloadSheet"
|
||||||
|
android:label="ManualDownloadSheet"
|
||||||
|
tools:layout="@layout/sheet_manual_download">
|
||||||
|
<argument
|
||||||
|
android:name="app"
|
||||||
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
||||||
|
</dialog>
|
||||||
</navigation>
|
</navigation>
|
||||||
|
|||||||
Reference in New Issue
Block a user