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