For issue #11676: Features phone that doesn't a site permission exception shouldn't be shown (#12855)
exception shouldn't be shownmaster
parent
7f829e1752
commit
6530a45eb9
|
@ -17,7 +17,15 @@ import org.mozilla.fenix.utils.Settings
|
||||||
fun PhoneFeature.shouldBeVisible(
|
fun PhoneFeature.shouldBeVisible(
|
||||||
sitePermissions: SitePermissions?,
|
sitePermissions: SitePermissions?,
|
||||||
settings: Settings
|
settings: Settings
|
||||||
) = getStatus(sitePermissions, settings) != SitePermissions.Status.NO_DECISION
|
): Boolean {
|
||||||
|
// We have to check if the site have a site permission exception,
|
||||||
|
// if it doesn't the feature shouldn't be visible
|
||||||
|
return if (sitePermissions == null) {
|
||||||
|
false
|
||||||
|
} else {
|
||||||
|
getStatus(sitePermissions, settings) != SitePermissions.Status.NO_DECISION
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common [PhoneFeature] extensions used for **quicksettings**.
|
* Common [PhoneFeature] extensions used for **quicksettings**.
|
||||||
|
|
|
@ -27,6 +27,8 @@ class PhoneFeatureExtKtTest {
|
||||||
assertFalse(PhoneFeature.CAMERA.shouldBeVisible(noDecisionForPermission, mockk()))
|
assertFalse(PhoneFeature.CAMERA.shouldBeVisible(noDecisionForPermission, mockk()))
|
||||||
assertTrue(PhoneFeature.CAMERA.shouldBeVisible(userAllowedPermission, mockk()))
|
assertTrue(PhoneFeature.CAMERA.shouldBeVisible(userAllowedPermission, mockk()))
|
||||||
assertTrue(PhoneFeature.CAMERA.shouldBeVisible(userBlockedPermission, mockk()))
|
assertTrue(PhoneFeature.CAMERA.shouldBeVisible(userBlockedPermission, mockk()))
|
||||||
|
// The site doesn't have a site permission exception
|
||||||
|
assertFalse(PhoneFeature.CAMERA.shouldBeVisible(null, mockk()))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue