Merge pull request #6205 from vector-im/johannes/fatal
Use fatalError instead of NPE
This commit is contained in:
commit
8e5c96adf5
@ -24,11 +24,14 @@ import androidx.annotation.VisibleForTesting
|
|||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
|
import im.vector.app.core.error.fatalError
|
||||||
import im.vector.app.core.utils.checkPermissions
|
import im.vector.app.core.utils.checkPermissions
|
||||||
import java.lang.NullPointerException
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class WebviewPermissionUtils @Inject constructor() {
|
class WebviewPermissionUtils @Inject constructor(
|
||||||
|
private val vectorPreferences: VectorPreferences,
|
||||||
|
) {
|
||||||
|
|
||||||
private var permissionRequest: PermissionRequest? = null
|
private var permissionRequest: PermissionRequest? = null
|
||||||
private var selectedPermissions = listOf<String>()
|
private var selectedPermissions = listOf<String>()
|
||||||
@ -75,7 +78,11 @@ class WebviewPermissionUtils @Inject constructor() {
|
|||||||
|
|
||||||
fun onPermissionResult(result: Map<String, Boolean>) {
|
fun onPermissionResult(result: Map<String, Boolean>) {
|
||||||
if (permissionRequest == null) {
|
if (permissionRequest == null) {
|
||||||
throw NullPointerException("permissionRequest was null! Make sure to call promptForPermissions first.")
|
fatalError(
|
||||||
|
message = "permissionRequest was null! Make sure to call promptForPermissions first.",
|
||||||
|
failFast = vectorPreferences.failFast()
|
||||||
|
)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
val grantedPermissions = filterPermissionsToBeGranted(selectedPermissions, result)
|
val grantedPermissions = filterPermissionsToBeGranted(selectedPermissions, result)
|
||||||
if (grantedPermissions.isNotEmpty()) {
|
if (grantedPermissions.isNotEmpty()) {
|
||||||
|
@ -19,6 +19,7 @@ package im.vector.app.features.widgets
|
|||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.webkit.PermissionRequest
|
import android.webkit.PermissionRequest
|
||||||
import im.vector.app.features.widgets.webview.WebviewPermissionUtils
|
import im.vector.app.features.widgets.webview.WebviewPermissionUtils
|
||||||
|
import im.vector.app.test.fakes.FakeVectorPreferences
|
||||||
import org.amshove.kluent.shouldBeEqualTo
|
import org.amshove.kluent.shouldBeEqualTo
|
||||||
import org.junit.FixMethodOrder
|
import org.junit.FixMethodOrder
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
@ -30,7 +31,8 @@ import org.junit.runners.MethodSorters
|
|||||||
@FixMethodOrder(MethodSorters.JVM)
|
@FixMethodOrder(MethodSorters.JVM)
|
||||||
class WebviewPermissionUtilsTest {
|
class WebviewPermissionUtilsTest {
|
||||||
|
|
||||||
private val utils = WebviewPermissionUtils()
|
private val prefs = FakeVectorPreferences()
|
||||||
|
private val utils = WebviewPermissionUtils(prefs.instance)
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun filterPermissionsToBeGranted_selectedAndGrantedNothing() {
|
fun filterPermissionsToBeGranted_selectedAndGrantedNothing() {
|
||||||
|
Loading…
Reference in New Issue
Block a user