PermissionBottomSheet: Migrate to navigation components

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-08-07 11:18:10 +05:30
parent 7847a10007
commit f8da331da8
3 changed files with 21 additions and 33 deletions

View File

@@ -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.PermissionBottomSheet
import com.aurora.store.viewmodel.details.AppDetailsViewModel
import com.aurora.store.viewmodel.details.DetailsClusterViewModel
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
@@ -1163,8 +1162,11 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
private fun inflateAppPermission(B: LayoutDetailsPermissionsBinding, app: App) {
B.headerPermission.addClickListener {
if (app.permissions.size > 0) {
PermissionBottomSheet.newInstance(app)
.show(childFragmentManager, PermissionBottomSheet.TAG)
findNavController().navigate(
AppDetailsFragmentDirections.actionAppDetailsFragmentToPermissionBottomSheet(
app
)
)
}
}
B.txtPermissionCount.text = ("${app.permissions.size} permissions")

View File

@@ -27,10 +27,9 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import com.aurora.Constants
import androidx.navigation.fragment.navArgs
import com.aurora.extensions.hide
import com.aurora.extensions.show
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
import com.aurora.store.databinding.SheetPermissionsBinding
import com.aurora.store.view.custom.layouts.PermissionGroup
@@ -39,24 +38,9 @@ import java.util.*
class PermissionBottomSheet : BaseBottomSheet() {
private lateinit var B: SheetPermissionsBinding
private lateinit var app: App
private lateinit var packageManager: PackageManager
companion object {
const val TAG = "PermissionBottomSheet"
@JvmStatic
fun newInstance(
app: App
): PermissionBottomSheet {
return PermissionBottomSheet().apply {
arguments = Bundle().apply {
putString(Constants.STRING_APP, gson.toJson(app))
}
}
}
}
private val args: PermissionBottomSheetArgs by navArgs()
override fun onCreateContentView(
inflater: LayoutInflater,
@@ -69,16 +53,7 @@ class PermissionBottomSheet : 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()
} else {
dismissAllowingStateLoss()
}
}
inflateData()
}
private fun inflateData() {
@@ -86,7 +61,7 @@ class PermissionBottomSheet : BaseBottomSheet() {
val permissionGroupWidgets: MutableMap<String, PermissionGroup?> =
HashMap<String, PermissionGroup?>()
for (permissionName in app.permissions) {
for (permissionName in args.app.permissions) {
val permissionInfo = getPermissionInfo(permissionName) ?: continue
val permissionGroupInfo = getPermissionGroupInfo(permissionInfo)
@@ -162,4 +137,4 @@ class PermissionBottomSheet : BaseBottomSheet() {
}
return permissionGroupInfo
}
}
}