tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 7e9a95716cce4f683794501f3c8dc62fba2c4e08
parent f9fe9395dbf57a4b83058ad420a721531c97e20c
Author: Ryan VanderMeulen <rvandermeulen@mozilla.com>
Date:   Wed, 29 Oct 2025 14:29:57 +0000

Bug 1997101 - Remove redundant null-safety after prior null checks. r=android-reviewers,geckoview-reviewers,mcarare,ohall

Newer Kotlin flags ?. and !! as redundant when a value has already
been checked for null: "Unnecessary safe call on a non-null receiver
of type X". Rely on smart casts and use direct access instead.

Also addresses various "Elvis operator (?:) always returns the left
operand of non-nullable type" warnings.

Differential Revision: https://phabricator.services.mozilla.com/D270511

Diffstat:
Mmobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/permission/GeckoSitePermissionsStorage.kt | 18+++++++++---------
Mmobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabCounterButton.kt | 2+-
Mmobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabList.kt | 2+-
Mmobile/android/android-components/components/feature/customtabs/src/main/java/mozilla/components/feature/customtabs/CustomTabConfigHelper.kt | 6+++---
Mmobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/SaveLoginDialogFragment.kt | 4++--
Mmobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DomainMatcher.kt | 2+-
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt | 4++--
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/home/HomeSectionHeader.kt | 5++---
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/crashes/UnsubmittedCrashDialog.kt | 6+++---
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/WallpaperOnboardingDialogFragment.kt | 4++--
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/address/AddressManagementFragment.kt | 2+-
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt | 14+++++++-------
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt | 2+-
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineShortcuts.kt | 2+-
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/wallpaper/WallpaperSettingsFragment.kt | 4++--
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogFragment.kt | 12++++++------
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguagesPreference.kt | 2+-
Mmobile/android/focus-android/app/src/main/java/org/mozilla/focus/navigation/MainActivityNavigation.kt | 2+-
Mmobile/android/focus-android/app/src/main/java/org/mozilla/focus/topsites/TopSitesOverlay.kt | 2+-
Mmobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/MediaSessionTest.kt | 36++++++++++++++++++------------------
Mmobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/PermissionDelegateTest.kt | 10+++++-----
21 files changed, 70 insertions(+), 71 deletions(-)

diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/permission/GeckoSitePermissionsStorage.kt b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/permission/GeckoSitePermissionsStorage.kt @@ -299,43 +299,43 @@ class GeckoSitePermissionsStorage( * has been changed otherwise we favor the values [onDiskPermissions]. */ if (geckoNotification != null && geckoNotification.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( notification = geckoNotification.value.toStatus(), ) } if (geckoLocation != null && geckoLocation.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( location = geckoLocation.value.toStatus(), ) } if (geckoMedia != null && geckoMedia.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( mediaKeySystemAccess = geckoMedia.value.toStatus(), ) } if (geckoStorage != null && geckoStorage.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( localStorage = geckoStorage.value.toStatus(), ) } if (geckoCrossOriginStorageAccess != null && geckoCrossOriginStorageAccess.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( crossOriginStorageAccess = geckoCrossOriginStorageAccess.value.toStatus(), ) } if (geckoLocalDeviceAccess != null && geckoLocalDeviceAccess.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( localDeviceAccess = geckoLocalDeviceAccess.value.toStatus(), ) } if (geckoLocalNetworkAccess != null && geckoLocalNetworkAccess.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( localNetworkAccess = geckoLocalNetworkAccess.value.toStatus(), ) } @@ -345,13 +345,13 @@ class GeckoSitePermissionsStorage( * the gecko storage we trust it. */ if (geckoAudible != null && geckoAudible.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( autoplayAudible = geckoAudible.value.toAutoPlayStatus(), ) } if (geckoInAudible != null && geckoInAudible.value != VALUE_PROMPT) { - combinedPermissions = combinedPermissions?.copy( + combinedPermissions = combinedPermissions.copy( autoplayInaudible = geckoInAudible.value.toAutoPlayStatus(), ) } diff --git a/mobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabCounterButton.kt b/mobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabCounterButton.kt @@ -41,7 +41,7 @@ fun TabCounterButton( val backgroundColor = MaterialTheme.colorScheme.primaryContainer val foregroundColor = contentColorFor(backgroundColor) val tabs = store.observeAsComposableState { state -> state.tabs.filter(tabsFilter) } - val count = tabs.value?.size ?: 0 + val count = tabs.value.size Image( painter = painterResource(R.drawable.mozac_tabcounter_background), diff --git a/mobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabList.kt b/mobile/android/android-components/components/compose/tabstray/src/main/java/mozilla/components/compose/tabstray/TabList.kt @@ -35,7 +35,7 @@ fun TabList( val tabs = store.observeAsComposableState { state -> state.tabs.filter(tabsFilter) } val selectedTabId = store.observeAsComposableState { state -> state.selectedTabId } TabList( - tabs.value ?: emptyList(), + tabs.value, modifier, selectedTabId.value, onTabSelected, diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/java/mozilla/components/feature/customtabs/CustomTabConfigHelper.kt b/mobile/android/android-components/components/feature/customtabs/src/main/java/mozilla/components/feature/customtabs/CustomTabConfigHelper.kt @@ -179,9 +179,9 @@ fun BrowserMenuBuilder.addCustomMenuItems( } } - val safeCustomMenuInsertIndex = customTabMenuInsertIndex.coerceIn(0, this?.items?.size ?: 0) - val defaultMenuItems = this?.items ?: emptyList() - val defaultMenuExtras = this?.extras ?: emptyMap() + val safeCustomMenuInsertIndex = customTabMenuInsertIndex.coerceIn(0, this.items.size) + val defaultMenuItems = this.items + val defaultMenuExtras = this.extras return BrowserMenuBuilder( items = defaultMenuItems.toMutableList().apply { diff --git a/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/SaveLoginDialogFragment.kt b/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/SaveLoginDialogFragment.kt @@ -318,7 +318,7 @@ internal class SaveLoginDialogFragment : PromptDialogFragment() { val validationDelegate = feature?.loginValidationDelegate ?: return@validate validateDeferred = validationDelegate.shouldUpdateOrCreateAsync(entry) - val result = validateDeferred?.await() + val result = validateDeferred.await() withContext(Main) { when (result) { Result.CanBeCreated -> { @@ -351,7 +351,7 @@ internal class SaveLoginDialogFragment : PromptDialogFragment() { } validateStateUpdate?.invokeOnCompletion { if (it is CancellationException) { - validateDeferred?.cancel() + validateDeferred.cancel() } } } diff --git a/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DomainMatcher.kt b/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DomainMatcher.kt @@ -52,7 +52,7 @@ private fun findUrlMatchingText(url: String, text: String): String? { var urlSansProtocol = uri?.host urlSansProtocol += uri?.port?.orEmpty() + uri?.path - urlSansProtocol?.let { + urlSansProtocol.let { if (it.startsWith(text) || it.noCommonSubdomains().startsWith(text)) { return url } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -2564,9 +2564,9 @@ abstract class BaseBrowserFragment : } saveLoginJob?.await() } - saveLoginJob?.invokeOnCompletion { + saveLoginJob.invokeOnCompletion { if (it is CancellationException) { - saveLoginJob?.cancel() + saveLoginJob.cancel() } } } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/home/HomeSectionHeader.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/home/HomeSectionHeader.kt @@ -57,10 +57,9 @@ fun HomeSectionHeader( val wallpaperState = components.appStore .observeAsComposableState { state -> state.wallpaperState }.value - val wallpaperAdaptedTextColor = wallpaperState?.currentWallpaper?.textColor?.let { Color(it) } + val wallpaperAdaptedTextColor = wallpaperState.currentWallpaper.textColor?.let { Color(it) } - val isWallpaperDefault = - (wallpaperState?.currentWallpaper ?: Wallpaper.Default) == Wallpaper.Default + val isWallpaperDefault = wallpaperState.currentWallpaper == Wallpaper.Default HomeSectionHeaderContent( headerText = headerText, diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/crashes/UnsubmittedCrashDialog.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/crashes/UnsubmittedCrashDialog.kt @@ -115,7 +115,7 @@ private fun CrashCard( dispatcher(CrashAction.PromptShown) val msg = if (requestedByDevs) { - if (crashIDs?.size == 1) { + if (crashIDs.size == 1) { stringResource( R.string.unsubmitted_crash_requested_by_devs_dialog_title, stringResource(R.string.app_name), @@ -123,7 +123,7 @@ private fun CrashCard( } else { stringResource( R.string.unsubmitted_crashes_requested_by_devs_dialog_title, - crashIDs!!.size, + crashIDs.size, stringResource(R.string.app_name), ) } @@ -271,7 +271,7 @@ private fun CrashCard( dispatcher( CrashAction.ReportTapped( automaticallySendChecked = false, - crashIDs = crashIDs ?: listOf(), + crashIDs = crashIDs, ), ) dismiss() diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/WallpaperOnboardingDialogFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/WallpaperOnboardingDialogFragment.kt @@ -97,10 +97,10 @@ class WallpaperOnboardingDialogFragment : BottomSheetDialogFragment() { FirefoxTheme { val wallpapers = appStore.observeAsComposableState { state -> state.wallpaperState.availableWallpapers.getWallpapersForOnboarding() - }.value ?: listOf() + }.value val currentWallpaper = appStore.observeAsComposableState { state -> state.wallpaperState.currentWallpaper - }.value ?: Wallpaper.Default + }.value val coroutineScope = rememberCoroutineScope() diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/address/AddressManagementFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/address/AddressManagementFragment.kt @@ -61,7 +61,7 @@ class AddressManagementFragment : Fragment() { val addresses = store.observeAsComposableState { state -> state.addresses } AddressList( - addresses = addresses.value ?: emptyList(), + addresses = addresses.value, onAddressClick = { interactor.onSelectAddress(it) Addresses.managementAddressTapped.record(NoExtras()) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt @@ -47,7 +47,7 @@ open class SavedLoginsStorageController( deleteLoginJob = async { passwordsStorage.delete(loginId) } - deleteLoginJob?.await() + deleteLoginJob.await() deleteLoginFromState(loginId) withContext(Dispatchers.Main) { navController.popBackStack(R.id.savedLoginsFragment, false) @@ -76,7 +76,7 @@ open class SavedLoginsStorageController( saveLoginJob = async { id = add(loginEntryForAdd(originText, usernameText, passwordText)) } - saveLoginJob?.await() + saveLoginJob.await() withContext(Dispatchers.Main) { if (id.isNullOrEmpty()) { navController.popBackStack(R.id.savedLoginsFragment, false) @@ -89,7 +89,7 @@ open class SavedLoginsStorageController( } saveLoginJob?.invokeOnCompletion { if (it is CancellationException) { - saveLoginJob?.cancel() + saveLoginJob.cancel() } } } @@ -130,7 +130,7 @@ open class SavedLoginsStorageController( saveLoginJob = async { save(loginId, loginEntryForSave(loginId, usernameText, passwordText)) } - saveLoginJob?.await() + saveLoginJob.await() withContext(Dispatchers.Main) { val directions = EditLoginFragmentDirections.actionEditLoginFragmentToLoginDetailFragment( @@ -141,7 +141,7 @@ open class SavedLoginsStorageController( } saveLoginJob?.invokeOnCompletion { if (it is CancellationException) { - saveLoginJob?.cancel() + saveLoginJob.cancel() } } } @@ -256,8 +256,8 @@ open class SavedLoginsStorageController( deferredLogins = async { passwordsStorage.list() } - val logins = deferredLogins?.await() - logins?.let { + val logins = deferredLogins.await() + logins.let { withContext(Dispatchers.Main) { loginsFragmentStore.dispatch( LoginsAction.UpdateLoginsList( diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt @@ -174,7 +174,7 @@ class DefaultQuickSettingsController( } val sitePermissions = autoplayValue.createSitePermissionsFromCustomRules(origin, settings) - handleAutoplayAdd(sitePermissions, tab?.content?.private ?: false) + handleAutoplayAdd(sitePermissions, tab.content.private) sitePermissions } else { val newPermission = autoplayValue.updateSitePermissions(permissions) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineShortcuts.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineShortcuts.kt @@ -74,7 +74,7 @@ fun SearchEngineShortcuts( onDeleteEngineClicked: (SearchEngine) -> Unit, onAddEngineClicked: () -> Unit, ) { - val searchState = store.observeAsComposableState { it.search }.value ?: SearchState() + val searchState = store.observeAsComposableState { it.search }.value val searchEngines = with(searchState) { regionSearchEngines + additionalSearchEngines + availableSearchEngines + customSearchEngines } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/wallpaper/WallpaperSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/wallpaper/WallpaperSettingsFragment.kt @@ -51,10 +51,10 @@ class WallpaperSettingsFragment : Fragment() { FirefoxTheme { val wallpapers = appStore.observeAsComposableState { state -> state.wallpaperState.availableWallpapers - }.value ?: listOf() + }.value val currentWallpaper = appStore.observeAsComposableState { state -> state.wallpaperState.currentWallpaper - }.value ?: Wallpaper.Default + }.value val coroutineScope = rememberCoroutineScope() diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogFragment.kt @@ -144,9 +144,9 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() { SupportUtils.SumoTopic.TRANSLATIONS, ) - isTranslationInProgress = translationsDialogState?.isTranslationInProgress + isTranslationInProgress = translationsDialogState.isTranslationInProgress - if (translationsDialogState?.dismissDialogState is DismissDialogState.Dismiss) { + if (translationsDialogState.dismissDialogState is DismissDialogState.Dismiss) { dismissDialog() } @@ -174,7 +174,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() { } }, ) { - translationsDialogState?.let { + translationsDialogState.let { TranslationsDialogContent( learnMoreUrl = learnMoreUrl, showPageSettings = FxNimbus.features.translations.value().pageSettingsEnabled, @@ -204,8 +204,8 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() { TranslationsOptionsDialogContent( learnMoreUrl = learnMoreUrl, showGlobalSettings = FxNimbus.features.translations.value().globalSettingsEnabled, - isTranslated = translationsDialogState?.isTranslated == true, - initialFrom = translationsDialogState?.initialFrom, + isTranslated = translationsDialogState.isTranslated == true, + initialFrom = translationsDialogState.initialFrom, onBackClicked = { translationsVisibility = true }, onTranslate = { translate( @@ -222,7 +222,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() { } if (showDownloadLanguageFileDialog) { - translationsDialogState?.translationDownloadSize?.size?.let { fileSize -> + translationsDialogState.translationDownloadSize?.size?.let { fileSize -> DownloadLanguageFileDialog( fileSize = fileSize, fileSizeFormatter = requireComponents.core.fileSizeFormatter, diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguagesPreference.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguagesPreference.kt @@ -224,7 +224,7 @@ fun DownloadLanguagesPreference( // The pivot model may be deleted when all of the other models are deleted and it may // always be downloaded pivotLanguage?.enabled = downloadedItems.size == 1 || - pivotLanguage?.languageModel?.status == ModelState.NOT_DOWNLOADED + pivotLanguage.languageModel.status == ModelState.NOT_DOWNLOADED } @Composable diff --git a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/navigation/MainActivityNavigation.kt b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/navigation/MainActivityNavigation.kt @@ -80,7 +80,7 @@ class MainActivityNavigation( // and the session was removed while the app was in the background (e.g. via the // notification). In this case we do not want to show the content and remove the // browser fragment immediately. - val shouldAnimate = isShowingBrowser && browserFragment!!.isResumed + val shouldAnimate = isShowingBrowser && browserFragment.isResumed if (shouldAnimate) { transaction.setCustomAnimations(0, R.anim.erase_animation) diff --git a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/topsites/TopSitesOverlay.kt b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/topsites/TopSitesOverlay.kt @@ -35,7 +35,7 @@ import org.mozilla.focus.state.AppAction fun TopSitesOverlay(modifier: Modifier = Modifier) { val components = components val topSitesState = components.appStore.observeAsComposableState { state -> state.topSites } - val topSites = topSitesState.value ?: listOf() + val topSites = topSitesState.value val showRenameDialog: MutableState<Boolean> = remember { mutableStateOf(false) } val topSiteItem: MutableState<TopSite?> = remember { mutableStateOf(null) } diff --git a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/MediaSessionTest.kt b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/MediaSessionTest.kt @@ -358,32 +358,32 @@ class MediaSessionTest : BaseSessionTest() { mediaSession1!!.pause() sessionRule.waitForResult(completedStep3) - mediaSession1!!.play() + mediaSession1.play() sessionRule.waitForResult(completedStep4) sessionRule.waitForResult(completedStep5) - mediaSession1!!.pause() - mediaSession1!!.nextTrack() - mediaSession1!!.play() + mediaSession1.pause() + mediaSession1.nextTrack() + mediaSession1.play() sessionRule.waitForResult(completedStep6) - mediaSession1!!.pause() - mediaSession1!!.nextTrack() - mediaSession1!!.play() + mediaSession1.pause() + mediaSession1.nextTrack() + mediaSession1.play() sessionRule.waitForResult(completedStep7) - mediaSession1!!.pause() + mediaSession1.pause() sessionRule.waitForResult(completedStep8a) - mediaSession1!!.previousTrack() - mediaSession1!!.play() + mediaSession1.previousTrack() + mediaSession1.play() sessionRule.waitForResult(completedStep8b) sessionRule.waitForResult(completedStep9) - mediaSession1!!.play() + mediaSession1.play() sessionRule.waitForResult(completedStep10) - mediaSession1!!.stop() + mediaSession1.stop() sessionRule.waitForResult(completedStep11) } @@ -476,7 +476,7 @@ class MediaSessionTest : BaseSessionTest() { mediaSession1!!.pause() sessionRule.waitForResult(completedStep3) - mediaSession1!!.play() + mediaSession1.play() sessionRule.waitForResult(completedStep4) sessionRule.waitForResult(completedStep5) @@ -607,7 +607,7 @@ class MediaSessionTest : BaseSessionTest() { assertThat( "Should be active", - mediaSession1?.isActive, + mediaSession1.isActive, equalTo(true), ) } @@ -741,7 +741,7 @@ class MediaSessionTest : BaseSessionTest() { ) assertThat( "Should be active", - mediaSession2!!.isActive, + mediaSession2.isActive, equalTo(true), ) } @@ -818,9 +818,9 @@ class MediaSessionTest : BaseSessionTest() { mediaSession2!!.pause() sessionRule.waitForResult(completedStep6) - mediaSession1!!.pause() - mediaSession1!!.nextTrack() - mediaSession1!!.play() + mediaSession1.pause() + mediaSession1.nextTrack() + mediaSession1.play() sessionRule.waitForResult(completedStep7) sessionRule.waitForResult(completedStep8) } diff --git a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/PermissionDelegateTest.kt b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/PermissionDelegateTest.kt @@ -1198,11 +1198,11 @@ class PermissionDelegateTest : BaseSessionTest() { val importedPerm = ContentPermission.fromJson(jsonPerm!!) assertThat("JSON import should not be null", importedPerm, notNullValue()) - assertThat("URIs should match", importedPerm?.uri, equalTo(notificationPerm?.uri)) - assertThat("Types should match", importedPerm?.permission, equalTo(notificationPerm?.permission)) - assertThat("Values should match", importedPerm?.value, equalTo(notificationPerm?.value)) - assertThat("Context IDs should match", importedPerm?.contextId, equalTo(notificationPerm?.contextId)) - assertThat("Private mode should match", importedPerm?.privateMode, equalTo(notificationPerm?.privateMode)) + assertThat("URIs should match", importedPerm?.uri, equalTo(notificationPerm.uri)) + assertThat("Types should match", importedPerm?.permission, equalTo(notificationPerm.permission)) + assertThat("Values should match", importedPerm?.value, equalTo(notificationPerm.value)) + assertThat("Context IDs should match", importedPerm?.contextId, equalTo(notificationPerm.contextId)) + assertThat("Private mode should match", importedPerm?.privateMode, equalTo(notificationPerm.privateMode)) } @Test