PermissionBottomSheet: Migrate to navigation components
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.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
|
||||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
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) {
|
private fun inflateAppPermission(B: LayoutDetailsPermissionsBinding, app: App) {
|
||||||
B.headerPermission.addClickListener {
|
B.headerPermission.addClickListener {
|
||||||
if (app.permissions.size > 0) {
|
if (app.permissions.size > 0) {
|
||||||
PermissionBottomSheet.newInstance(app)
|
findNavController().navigate(
|
||||||
.show(childFragmentManager, PermissionBottomSheet.TAG)
|
AppDetailsFragmentDirections.actionAppDetailsFragmentToPermissionBottomSheet(
|
||||||
|
app
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
B.txtPermissionCount.text = ("${app.permissions.size} permissions")
|
B.txtPermissionCount.text = ("${app.permissions.size} permissions")
|
||||||
|
|||||||
@@ -27,10 +27,9 @@ import android.view.LayoutInflater
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import com.aurora.Constants
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.aurora.extensions.hide
|
import com.aurora.extensions.hide
|
||||||
import com.aurora.extensions.show
|
import com.aurora.extensions.show
|
||||||
import com.aurora.gplayapi.data.models.App
|
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetPermissionsBinding
|
import com.aurora.store.databinding.SheetPermissionsBinding
|
||||||
import com.aurora.store.view.custom.layouts.PermissionGroup
|
import com.aurora.store.view.custom.layouts.PermissionGroup
|
||||||
@@ -39,24 +38,9 @@ import java.util.*
|
|||||||
class PermissionBottomSheet : BaseBottomSheet() {
|
class PermissionBottomSheet : BaseBottomSheet() {
|
||||||
|
|
||||||
private lateinit var B: SheetPermissionsBinding
|
private lateinit var B: SheetPermissionsBinding
|
||||||
private lateinit var app: App
|
|
||||||
private lateinit var packageManager: PackageManager
|
private lateinit var packageManager: PackageManager
|
||||||
|
|
||||||
companion object {
|
private val args: PermissionBottomSheetArgs by navArgs()
|
||||||
|
|
||||||
const val TAG = "PermissionBottomSheet"
|
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun newInstance(
|
|
||||||
app: App
|
|
||||||
): PermissionBottomSheet {
|
|
||||||
return PermissionBottomSheet().apply {
|
|
||||||
arguments = Bundle().apply {
|
|
||||||
putString(Constants.STRING_APP, gson.toJson(app))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateContentView(
|
override fun onCreateContentView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
@@ -69,16 +53,7 @@ class PermissionBottomSheet : 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
|
inflateData()
|
||||||
bundle?.let {
|
|
||||||
val rawApp = bundle.getString(Constants.STRING_APP, "{}")
|
|
||||||
app = gson.fromJson(rawApp, App::class.java)
|
|
||||||
if (app.packageName.isNotEmpty()) {
|
|
||||||
inflateData()
|
|
||||||
} else {
|
|
||||||
dismissAllowingStateLoss()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun inflateData() {
|
private fun inflateData() {
|
||||||
@@ -86,7 +61,7 @@ class PermissionBottomSheet : BaseBottomSheet() {
|
|||||||
|
|
||||||
val permissionGroupWidgets: MutableMap<String, PermissionGroup?> =
|
val permissionGroupWidgets: MutableMap<String, PermissionGroup?> =
|
||||||
HashMap<String, PermissionGroup?>()
|
HashMap<String, PermissionGroup?>()
|
||||||
for (permissionName in app.permissions) {
|
for (permissionName in args.app.permissions) {
|
||||||
|
|
||||||
val permissionInfo = getPermissionInfo(permissionName) ?: continue
|
val permissionInfo = getPermissionInfo(permissionName) ?: continue
|
||||||
val permissionGroupInfo = getPermissionGroupInfo(permissionInfo)
|
val permissionGroupInfo = getPermissionGroupInfo(permissionInfo)
|
||||||
@@ -162,4 +137,4 @@ class PermissionBottomSheet : BaseBottomSheet() {
|
|||||||
}
|
}
|
||||||
return permissionGroupInfo
|
return permissionGroupInfo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,6 +189,9 @@
|
|||||||
<action
|
<action
|
||||||
android:id="@+id/action_appDetailsFragment_to_manualDownloadSheet"
|
android:id="@+id/action_appDetailsFragment_to_manualDownloadSheet"
|
||||||
app:destination="@id/manualDownloadSheet" />
|
app:destination="@id/manualDownloadSheet" />
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_appDetailsFragment_to_permissionBottomSheet"
|
||||||
|
app:destination="@id/permissionBottomSheet" />
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/categoryBrowseFragment"
|
android:id="@+id/categoryBrowseFragment"
|
||||||
@@ -381,4 +384,12 @@
|
|||||||
android:name="app"
|
android:name="app"
|
||||||
app:argType="com.aurora.gplayapi.data.models.App" />
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
||||||
</dialog>
|
</dialog>
|
||||||
|
<dialog
|
||||||
|
android:id="@+id/permissionBottomSheet"
|
||||||
|
android:name="com.aurora.store.view.ui.sheets.PermissionBottomSheet"
|
||||||
|
tools:layout="@layout/sheet_permissions">
|
||||||
|
<argument
|
||||||
|
android:name="app"
|
||||||
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
||||||
|
</dialog>
|
||||||
</navigation>
|
</navigation>
|
||||||
|
|||||||
Reference in New Issue
Block a user