Skip to content

Commit

Permalink
Remove deprecated requestPermissions and onRequestPermissionsResult.
Browse files Browse the repository at this point in the history
  • Loading branch information
mcarare committed May 7, 2024
1 parent 59fac9d commit baf0f75
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 39 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,13 @@ import mozilla.components.feature.sitepermissions.SitePermissionsFeature
import mozilla.components.feature.tabs.WindowFeature
import mozilla.components.feature.webauthn.WebAuthnFeature
import mozilla.components.support.base.feature.ActivityResultHandler
import mozilla.components.support.base.feature.PermissionsFeature
import mozilla.components.support.base.feature.UserInteractionHandler
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.ktx.android.view.enterImmersiveMode
import mozilla.components.support.ktx.android.view.exitImmersiveMode
import mozilla.components.ui.widgets.behavior.EngineViewClippingBehavior
import mozilla.components.ui.widgets.behavior.EngineViewScrollingBehavior
import org.mozilla.reference.browser.AppPermissionCodes.REQUEST_CODE_APP_PERMISSIONS
import org.mozilla.reference.browser.AppPermissionCodes.REQUEST_CODE_DOWNLOAD_PERMISSIONS
import org.mozilla.reference.browser.AppPermissionCodes.REQUEST_CODE_PROMPT_PERMISSIONS
import org.mozilla.reference.browser.BuildConfig
import org.mozilla.reference.browser.R
import org.mozilla.reference.browser.addons.WebExtensionPromptFeature
Expand Down Expand Up @@ -93,6 +89,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
fullScreenFeature,
findInPageIntegration,
toolbarIntegration,

sessionFeature,
)

Expand All @@ -106,11 +103,13 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit

protected var webAppToolbarShouldBeVisible = true

private lateinit var requestPermissionLauncher: ActivityResultLauncher<Array<String>>
private lateinit var requestDownloadPermissionsLauncher: ActivityResultLauncher<Array<String>>
private lateinit var requestSitePermissionsLauncher: ActivityResultLauncher<Array<String>>
private lateinit var requestPromptsPermissionsLauncher: ActivityResultLauncher<Array<String>>

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestPermissionLauncher =
requestDownloadPermissionsLauncher =
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { results ->
val permissions = results.keys.toTypedArray()
val grantResults =
Expand All @@ -121,6 +120,30 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
it.onPermissionsResult(permissions, grantResults)
}
}

requestSitePermissionsLauncher =
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { results ->
val permissions = results.keys.toTypedArray()
val grantResults =
results.values.map {
if (it) PackageManager.PERMISSION_GRANTED else PackageManager.PERMISSION_DENIED
}.toIntArray()
sitePermissionFeature.withFeature {
it.onPermissionsResult(permissions, grantResults)
}
}

requestPromptsPermissionsLauncher =
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { results ->
val permissions = results.keys.toTypedArray()
val grantResults =
results.values.map {
if (it) PackageManager.PERMISSION_GRANTED else PackageManager.PERMISSION_DENIED
}.toIntArray()
promptsFeature.withFeature {
it.onPermissionsResult(permissions, grantResults)
}
}
}

final override fun onCreateView(
Expand Down Expand Up @@ -209,7 +232,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
notificationsDelegate = requireComponents.notificationsDelegate,
),
onNeedToRequestPermissions = { permissions ->
requestPermissionLauncher.launch(permissions)
requestDownloadPermissionsLauncher.launch(permissions)
},
),
owner = this,
Expand Down Expand Up @@ -239,9 +262,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
fileUploadsDirCleaner = requireComponents.core.fileUploadsDirCleaner,
fragmentManager = parentFragmentManager,
onNeedToRequestPermissions = { permissions ->
// The Fragment class wants us to use registerForActivityResult
@Suppress("DEPRECATION")
requestPermissions(permissions, REQUEST_CODE_PROMPT_PERMISSIONS)
requestPromptsPermissionsLauncher.launch(permissions)
},
),
owner = this,
Expand Down Expand Up @@ -294,9 +315,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
sessionId = sessionId,
storage = requireComponents.core.geckoSitePermissionsStorage,
onNeedToRequestPermissions = { permissions ->
// The Fragment class wants us to use registerForActivityResult
@Suppress("DEPRECATION")
requestPermissions(permissions, REQUEST_CODE_APP_PERMISSIONS)
requestSitePermissionsLauncher.launch(permissions)
},
onShouldShowRequestPermissionRationale = { shouldShowRequestPermissionRationale(it) },
store = requireComponents.core.store,
Expand Down Expand Up @@ -394,20 +413,6 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
}
}

final override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<String>,
grantResults: IntArray,
) {
val feature: PermissionsFeature? = when (requestCode) {
REQUEST_CODE_DOWNLOAD_PERMISSIONS -> downloadsFeature.get()
REQUEST_CODE_PROMPT_PERMISSIONS -> promptsFeature.get()
REQUEST_CODE_APP_PERMISSIONS -> sitePermissionFeature.get()
else -> null
}
feature?.onPermissionsResult(permissions, grantResults)
}

companion object {
private const val SESSION_ID = "session_id"

Expand Down

0 comments on commit baf0f75

Please sign in to comment.