From f4f5e4b663ab005dff7e4722d6c17bd0a7a0caca Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Wed, 10 Feb 2021 15:31:54 +0100 Subject: [PATCH] Issue #17174: Remove usage of old media APIs. --- app/src/main/AndroidManifest.xml | 3 -- .../fenix/browser/BaseBrowserFragment.kt | 3 -- .../collections/CollectionCreationStore.kt | 7 +--- .../collections/CollectionCreationView.kt | 4 +- .../org/mozilla/fenix/ext/BrowserState.kt | 16 -------- .../mozilla/fenix/home/HomeFragmentStore.kt | 4 +- .../org/mozilla/fenix/media/MediaService.kt | 16 -------- ...DefaultCollectionCreationControllerTest.kt | 7 ++-- .../org/mozilla/fenix/ext/BrowserStateTest.kt | 37 ------------------- 9 files changed, 7 insertions(+), 90 deletions(-) delete mode 100644 app/src/main/java/org/mozilla/fenix/ext/BrowserState.kt delete mode 100644 app/src/main/java/org/mozilla/fenix/media/MediaService.kt delete mode 100644 app/src/test/java/org/mozilla/fenix/ext/BrowserStateTest.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 660175dfc..b1b84e842 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -232,9 +232,6 @@ - - diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 5f3de347c..7530c2ceb 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -124,7 +124,6 @@ import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.utils.allowUndo import org.mozilla.fenix.wifi.SitePermissionsWifiIntegration import java.lang.ref.WeakReference -import mozilla.components.feature.media.fullscreen.MediaFullscreenOrientationFeature import mozilla.components.feature.session.behavior.EngineViewBrowserToolbarBehavior import mozilla.components.feature.webauthn.WebAuthnFeature import mozilla.components.support.base.feature.ActivityResultHandler @@ -172,8 +171,6 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit private val sitePermissionWifiIntegration = ViewBoundFeatureWrapper() private val secureWindowFeature = ViewBoundFeatureWrapper() - private var fullScreenMediaFeature = - ViewBoundFeatureWrapper() private var fullScreenMediaSessionFeature = ViewBoundFeatureWrapper() private val searchFeature = ViewBoundFeatureWrapper() diff --git a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt index c9fffedb8..8e45a1d72 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt @@ -15,7 +15,6 @@ import mozilla.components.lib.state.State import mozilla.components.lib.state.Store import org.mozilla.fenix.collections.CollectionCreationAction.StepChanged import org.mozilla.fenix.components.TabCollectionStorage -import org.mozilla.fenix.ext.getMediaStateForSession import org.mozilla.fenix.ext.toShortUrl import org.mozilla.fenix.home.Tab @@ -87,12 +86,11 @@ internal fun BrowserState.getTabs( ): List { return tabIds ?.mapNotNull { id -> findTab(id) } - ?.map { it.toTab(this, publicSuffixList) } + ?.map { it.toTab(publicSuffixList) } .orEmpty() } private fun TabSessionState.toTab( - state: BrowserState, publicSuffixList: PublicSuffixList ): Tab { val url = readerState.activeUrl ?: content.url @@ -102,8 +100,7 @@ private fun TabSessionState.toTab( hostname = url.toShortUrl(publicSuffixList), title = content.title, selected = null, - icon = content.icon, - mediaState = state.getMediaStateForSession(this.id) + icon = content.icon ) } diff --git a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationView.kt b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationView.kt index 0edcb6c29..63abf3c19 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationView.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationView.kt @@ -19,7 +19,6 @@ import androidx.transition.Transition import androidx.transition.TransitionManager import kotlinx.android.extensions.LayoutContainer import kotlinx.android.synthetic.main.component_collection_creation.* -import mozilla.components.browser.state.state.MediaState import mozilla.components.feature.tab.collections.TabCollection import mozilla.components.support.ktx.android.view.hideKeyboard import mozilla.components.support.ktx.android.view.showKeyboard @@ -197,8 +196,7 @@ class CollectionCreationView( sessionId = tab.id.toString(), url = tab.url, hostname = tab.url.toShortUrl(publicSuffixList), - title = tab.title, - mediaState = MediaState.State.NONE + title = tab.title ) }.let { tabs -> collectionCreationTabListAdapter.updateData(tabs, tabs.toSet(), true) diff --git a/app/src/main/java/org/mozilla/fenix/ext/BrowserState.kt b/app/src/main/java/org/mozilla/fenix/ext/BrowserState.kt deleted file mode 100644 index 3339b01b1..000000000 --- a/app/src/main/java/org/mozilla/fenix/ext/BrowserState.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.ext - -import mozilla.components.browser.state.state.BrowserState -import mozilla.components.browser.state.state.MediaState - -fun BrowserState.getMediaStateForSession(sessionId: String): MediaState.State { - return if (media.aggregate.activeTabId == sessionId) { - media.aggregate.state - } else { - MediaState.State.NONE - } -} diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragmentStore.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragmentStore.kt index dc6b78d7d..f1284ee6a 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragmentStore.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragmentStore.kt @@ -5,7 +5,6 @@ package org.mozilla.fenix.home import android.graphics.Bitmap -import mozilla.components.browser.state.state.MediaState import mozilla.components.feature.tab.collections.TabCollection import mozilla.components.feature.top.sites.TopSite import mozilla.components.lib.state.Action @@ -28,8 +27,7 @@ data class Tab( val hostname: String, val title: String, val selected: Boolean? = null, - val icon: Bitmap? = null, - val mediaState: MediaState.State + val icon: Bitmap? = null ) /** diff --git a/app/src/main/java/org/mozilla/fenix/media/MediaService.kt b/app/src/main/java/org/mozilla/fenix/media/MediaService.kt deleted file mode 100644 index 32a1ce2da..000000000 --- a/app/src/main/java/org/mozilla/fenix/media/MediaService.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.media - -import mozilla.components.browser.state.store.BrowserStore -import mozilla.components.feature.media.service.AbstractMediaService -import org.mozilla.fenix.ext.components - -/** - * [AbstractMediaService] implementation for injecting [BrowserStore] singleton. - */ -class MediaService : AbstractMediaService() { - override val store: BrowserStore by lazy { components.core.store } -} diff --git a/app/src/test/java/org/mozilla/fenix/collections/DefaultCollectionCreationControllerTest.kt b/app/src/test/java/org/mozilla/fenix/collections/DefaultCollectionCreationControllerTest.kt index 5af2f79a6..5d04f96b6 100644 --- a/app/src/test/java/org/mozilla/fenix/collections/DefaultCollectionCreationControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/collections/DefaultCollectionCreationControllerTest.kt @@ -15,7 +15,6 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestCoroutineScope import kotlinx.coroutines.test.runBlockingTest import mozilla.components.browser.state.action.TabListAction -import mozilla.components.browser.state.state.MediaState import mozilla.components.browser.state.state.createTab import mozilla.components.browser.state.store.BrowserStore import mozilla.components.feature.tab.collections.TabCollection @@ -80,8 +79,8 @@ class DefaultCollectionCreationControllerTest { ).joinBlocking() val tabs = listOf( - Tab("session-1", "", "", "", mediaState = MediaState.State.NONE), - Tab("null-session", "", "", "", mediaState = MediaState.State.NONE) + Tab("session-1", "", "", ""), + Tab("null-session", "", "", "") ) controller.saveCollectionName(tabs, "name") @@ -173,7 +172,7 @@ class DefaultCollectionCreationControllerTest { ).joinBlocking() val tabs = listOf( - Tab("session-1", "", "", "", mediaState = MediaState.State.NONE) + Tab("session-1", "", "", "") ) val collection = mockk() diff --git a/app/src/test/java/org/mozilla/fenix/ext/BrowserStateTest.kt b/app/src/test/java/org/mozilla/fenix/ext/BrowserStateTest.kt deleted file mode 100644 index 7c2c0a1d1..000000000 --- a/app/src/test/java/org/mozilla/fenix/ext/BrowserStateTest.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.ext - -import mozilla.components.browser.state.state.BrowserState -import mozilla.components.browser.state.state.MediaState -import mozilla.components.browser.state.state.createTab -import org.junit.Assert.assertEquals -import org.junit.Test - -private const val SESSION_ID_MOZILLA = "0" -private const val SESSION_ID_BCC = "1" -private const val SESSION_ID_BAD = "not a real session id" - -class BrowserStateTest { - - private val sessionMozilla = createTab(url = "www.mozilla.org", id = SESSION_ID_MOZILLA) - private val sessionBcc = createTab(url = "www.bcc.co.uk", id = SESSION_ID_BCC) - - @Test - fun `return media state if it matches tab id`() { - val state = BrowserState( - tabs = listOf(sessionBcc, sessionMozilla), - media = MediaState( - MediaState.Aggregate( - state = MediaState.State.PLAYING, - activeTabId = SESSION_ID_MOZILLA - )) - ) - - assertEquals(MediaState.State.PLAYING, state.getMediaStateForSession(SESSION_ID_MOZILLA)) - assertEquals(MediaState.State.NONE, state.getMediaStateForSession(SESSION_ID_BCC)) - assertEquals(MediaState.State.NONE, state.getMediaStateForSession(SESSION_ID_BAD)) - } -}