mcarare
278fa80cc2
Bug 1824717 - Remove unnecessary AndroidJUnit4 runner.
2023-04-05 12:44:13 +00:00
Ryan VanderMeulen
0e5e70291c
Bug 1820233 - Remove unneeded kotlin_stdlib inclusions and re-enable Werror in detekt build.gradle
2023-03-07 00:12:18 +00:00
mcarare
1f589a2e0b
Bug 1802817 - Set namespace via DSL in gradle build files.
...
See https://developer.android.com/studio/build/configure-app-module#set-namespace
and https://issuetracker.google.com/issues/172361895
2023-03-02 17:13:09 +00:00
mcarare
922b5f6643
Bug 1802817 - Rename AC Dependencies to ComponentsDependencies.
...
This change is needed in order to avoid clashes with Dependencies class introduced
in Gradle from 7.6 version.
2023-03-02 17:13:09 +00:00
Christian Sadilek
4091b14a33
Fix android lint in composite builds
2022-11-21 13:40:53 -05:00
mcarare
4ad330adbc
[components] For https://github.com/mozilla-mobile/android-components/issues/12489 : Upgrade kotlin, coroutines, compose compiler to latest versions.
...
Upgrade kotlin to 1.7.20, coroutines to 1.6.4 and compose compiler to 1.3.2.
Replace deprecated Xopt-in with op-in.
Replace deprecated Xjvm-default=enable with Xjvm-default=all.
Remove useIR property that is now default true.
2022-10-18 08:20:59 +00:00
Gabriel Luong
d9d783b698
[components] Issue https://github.com/mozilla-mobile/android-components/issues/12939 : Address all ktlint issues
2022-10-17 17:07:40 -04:00
Roger Yang
6f0fe82a42
[components] No issue: Do not save "about:crashparent" tab when saving state
2022-08-08 14:49:49 +00:00
mcarare
30e5a6f476
[components] For https://github.com/mozilla-mobile/android-components/issues/12402 : Run Robolectric with SDK 32.
2022-06-29 16:31:33 +00:00
mcarare
2a1c468edc
[components] For https://github.com/mozilla-mobile/android-components/issues/12376 : Run Robolectric with SDK 31.
...
Current Robolectric version does not support SDK 32.
2022-06-28 13:42:14 +00:00
Mugurell
d78b06b6bf
[components] For https://github.com/mozilla-mobile/android-components/pull/11175 - Migrate runBlocking and runBlockingTest to runTest in unit tests
...
Used `runTestOnMain` where `MainCoroutineRule` was used or needed to be used,
`runTest` elsewhere.
Extra effort for removing all `runBlocking` occurrences in unit tests.
`kotlinx.coroutines.test.runTest` is a test specific API that seems like a more
appropriate way for running tests in a coroutine than the general
`kotlinx.coroutines.runBlocking` api.
2022-05-10 13:45:03 +00:00
Mugurell
2963708053
[components] For https://github.com/mozilla-mobile/android-components/issues/11755 - Replace TestCoroutineDispatcher with UnconfinedTestDispatcher
...
- Refactor out all usages of TestCoroutineDispatcher and TestCoroutineScope
- Refactor MainCoroutineRule to now use UnconfinedTestDispatcher by default.
This dispatcher will eagerly enter all launch or async blocks being more suited
to our codebase.
2022-05-10 13:45:03 +00:00
mcarare
2275e49731
[components] For https://github.com/mozilla-mobile/android-components/issues/9684 : Run tests on sdk 30.
2022-04-28 08:33:29 +00:00
Grigory Kruglov
03794ddc5b
[components] Avoid eagerly rehydrating EngineSessionState for recently closed tabs
...
This change splits out tab-specific data from RecoverableTab data class
into a separate TabState (so, it doesn't have the EngineSessionState).
Then, once we have the simplified TabState, everything that touches RecentlyClosedTabs
is converted to use that instead of its more expensive sibling.
This way we avoid having to eagerly process EngineSessionState simply to populate BrowserState.closedTabs.
This saves us from having to hit disk (where the EngineSessionState is persisted) on initializing BrowserState (so, startup in most cases).
It also saves us from having to parse/rehydrate that persisted state.
At the point we actually need the EngineSessionState for a tab we'd like to restore, we can read/process it.
2022-02-14 14:54:00 -08:00
Matt Tighe
320db82e76
[components] remove deprecated lifecycle usages
2022-01-13 21:27:08 +00:00
Sebastian Kaspari
c92b48efaf
[components] Create support-test-fakes component and move FakeEngine implementation to it
2021-12-06 15:19:50 +00:00
Sebastian Kaspari
90ec41fc3a
[components] Update Kotlin and Jetpack Compose versions.
2021-10-25 10:58:07 +00:00
Roger Yang
f92d25401a
[components] Close https://github.com/mozilla-mobile/android-components/issues/10984 : Persist search term in content state
2021-09-15 15:56:34 +00:00
Grisha Kruglov
47a5196e6a
[components] Make sure to preserve private state when recreating a RecoverableTab
...
regression from https://github.com/mozilla-mobile/android-components/pull/10711/files
2021-08-05 15:53:27 -07:00
Grisha Kruglov
2cb270feed
[components] Introduced 'restored' content state for tracking tab restoration
2021-08-05 11:47:54 -07:00
Grisha Kruglov
14a116801f
[components] Support for tracking external sources
...
Mainly, does two things:
- refactors SessionState.Source into a richer form (splitting sources
into Internal and External, where External ones track information
about originating package)
- adds persistence of External sources into tab session state; we don't
want to persist Internal sources as that was explicitly removed before
for causing various issues (e.g. UI behaving incorrectly after
restoring tabs with various internal sources set)
2021-08-05 11:47:54 -07:00
codrut.topliceanu
3bd5ddb4a0
[components] For https://github.com/mozilla-mobile/android-components/issues/10603 - Adds createdAt to TabSessionState
2021-08-02 10:07:38 +00:00
Sebastian Kaspari
ce323400dd
[components] Run ktlintFormat to fix new ktlint errors.
2021-07-28 12:03:23 +00:00
Mugurell
d67a681ba6
[components] For https://github.com/mozilla-mobile/android-components/issues/10632 - Add a new mediaSessionActive property to LastMediaAccessState
...
This new property helps with separating the current responsibilities of
lastMediaAccess such that after this:
- lastMediaAccess is only updated when media starts playing allowing clients to
order media tabs and find the first / last tab with in progress media.
- lastHadMediaSessionActive indicates whether a MediaSession should be active
for this tab and serves as a backup for lastMediaUrl for the situations where a
website might allow media to continue playing even when the users accesses
another page (with another URL) in that same HTML document.
2021-07-21 19:10:46 +00:00
Mugurell
58cf65e681
[components] For https://github.com/mozilla-mobile/android-components/issues/10632 - Persist and restore tab LastMediaAccessState
2021-07-21 19:10:46 +00:00
Mugurell
0c7b4d7866
[components] For https://github.com/mozilla-mobile/android-components/issues/10632 - Migrate TabSessionState's lastMediaAccess to LastMediaAccessState
...
LastMediaAccessState contains both
- lastMediaAccess - timestamp for the last time media started playing
(which is reset to 0 when GV deactivates the MediaSession)
- lastMediaUrl - tab url when media started playing
By combining this two properties we'll know that a tab has in progress media
even when:
- the user navigates to another page in the same document
but media continues to play, MediaSession exists, lastMediaAccess is not reset,
- media starts playing in another tab
but the previous media tab has the same url as lastMediaUrl.
After media starting to play in a tab only if
- user navigated to another website and
- MediaSession is deactivated (happens when navigating to another website or
when media starts playing in another tab)
will we consider that this tab doesn't anymore have in progress media.
2021-07-21 19:10:46 +00:00
Sebastian Kaspari
28a76101be
[components] Update Kotlin to 1.5.10 (and Coroutines to 1.5.0 and Room to 2.3.0).
2021-07-19 09:32:44 +00:00
Mugurell
4e14471fa6
[components] For https://github.com/mozilla-mobile/android-components/issues/10470 - Persist and restore lastMediaAccess of TabSessionState
2021-07-08 17:08:25 +00:00
Sebastian Kaspari
b7d77a521d
[components] Complete migration from browser-session to browser-state.
...
* Issue https://github.com/mozilla-mobile/android-components/issues/10197 : Move EngineObserver and EngineMiddleware to browser-state and refactor SessionManager dependency away.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : Migrate TabsUseCases to use BrowserStore exclusively.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate SessionUseCases to use BrowserStore exclusively.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 , https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate components to use new UseCase APIs.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate UndoMiddleware to use BrowserStore.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : Migrate CustomTabsUseCases to use BrowserStore.
* Issue https://github.com/mozilla-mobile/android-components/issues/10211 : Migrate sample-browser to not depend on browser-session.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Remove browser-session dependency.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : feature-tabs: Remove browser-session dependency.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Fix UndoMiddlewareTest
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Refactor SessionUseCasesTest to not use SessionManager.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Fix SessionFeatureTest.
* Refactor support-migration tests to not use SessionManager.
* Fix tests in feature-contextmenu.
* Refactor feature-recentlyclosed tests to not use SessionManager
* Refactor browser-session-storage tests to not use SessionManager
* Refactor feature-intent tests to not use SessionManager
* Refactor feature-tabs tests to not use SessionManager pt. 1
* Refactor feature-customtabs tests to not depend on browser-session.
* Make sure initial load url flags are correct
* Refactor feature-tabs tests to not use SessionManager pt. 2
* Refactor browser-state tests to not depend on browser-session.
* SearchUseCasesTest: Use addTab use case instead of addPrivateTab.
* Samples Browser: Remove unused drawable.
* Fix feature-pwa tests
* Remove browser-session.
* Make sure engine session is linked for window requests
* Make sure engine session is linked when provided with tab
* Make sure engine session is linked when provided with tab pt. 2
* Prevent engine session from being created multiple times
* Prevent engine session from being created multiple times pt. 2
* Prevent engine session from being created multiple times pt. 3
* Part 4: REFACTOR ALL THE THINGS
* Update tests.
* Add additional test for multiple CreateEngineSessionAction dispatching.
* Refactor, some docs and tests
* Fix CustomTabs tests...
2021-06-08 14:44:09 +00:00
Sebastian Kaspari
ff784931ec
[components] Revert "Complete migration from browser-session to browser-state."
...
This reverts commit c5474f00085cf5011e06e3826f611831c50c95b0.
2021-06-07 13:14:34 -04:00
Sebastian Kaspari
230c3e8a4b
[components] Complete migration from browser-session to browser-state.
...
* Issue https://github.com/mozilla-mobile/android-components/issues/10197 : Move EngineObserver and EngineMiddleware to browser-state and refactor SessionManager dependency away.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : Migrate TabsUseCases to use BrowserStore exclusively.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate SessionUseCases to use BrowserStore exclusively.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 , https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate components to use new UseCase APIs.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Migrate UndoMiddleware to use BrowserStore.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : Migrate CustomTabsUseCases to use BrowserStore.
* Issue https://github.com/mozilla-mobile/android-components/issues/10211 : Migrate sample-browser to not depend on browser-session.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Remove browser-session dependency.
* Issue https://github.com/mozilla-mobile/android-components/issues/3532 : feature-tabs: Remove browser-session dependency.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Fix UndoMiddlewareTest
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Refactor SessionUseCasesTest to not use SessionManager.
* Issue https://github.com/mozilla-mobile/android-components/issues/10209 : Fix SessionFeatureTest.
* Refactor support-migration tests to not use SessionManager.
* Fix tests in feature-contextmenu.
* Refactor feature-recentlyclosed tests to not use SessionManager
* Refactor browser-session-storage tests to not use SessionManager
* Refactor feature-intent tests to not use SessionManager
* Refactor feature-tabs tests to not use SessionManager pt. 1
* Refactor feature-customtabs tests to not depend on browser-session.
* Make sure initial load url flags are correct
* Refactor feature-tabs tests to not use SessionManager pt. 2
* Refactor browser-state tests to not depend on browser-session.
* SearchUseCasesTest: Use addTab use case instead of addPrivateTab.
* Samples Browser: Remove unused drawable.
* Fix feature-pwa tests
* Remove browser-session.
* Make sure engine session is linked for window requests
* Make sure engine session is linked when provided with tab
* Make sure engine session is linked when provided with tab pt. 2
* Prevent engine session from being created multiple times
* Prevent engine session from being created multiple times pt. 2
* Prevent engine session from being created multiple times pt. 3
* Part 4: REFACTOR ALL THE THINGS
* Update tests.
* Add additional test for multiple CreateEngineSessionAction dispatching.
* Refactor, some docs and tests
* Fix CustomTabs tests...
2021-06-07 15:29:14 +00:00
Christian Sadilek
5e611f396b
[components] Persist history metadata tab state
2021-06-01 21:02:36 +00:00
Sebastian Kaspari
6b7d487589
[components] Issue https://github.com/mozilla-mobile/android-components/issues/10070 : Only keep one GeckoView component (tracking Nightly)
2021-04-20 18:51:39 +00:00
Michael Comella
89c283dac1
[components] For https://github.com/mozilla-mobile/android-components/issues/9638 : name threads in Executors.new* calls.
...
I omitted:
- Store, as its a super-class
- Fennec migration code
2021-02-10 00:35:59 +00:00
Sebastian Kaspari
8753b66468
[components] Closes https://github.com/mozilla-mobile/android-components/issues/8370 : Remove EngineSessionState.toJSON().
2021-01-08 15:02:53 +00:00
Christian Sadilek
332672fb3a
[components] Fix unit test classpath in browser-session-storage
2021-01-07 17:31:51 +00:00
Christian Sadilek
ea26229608
[components] Closes https://github.com/mozilla-mobile/android-components/issues/9323 : Add ability to filter tabs to TabsUseCases.restore
2021-01-07 15:04:58 +00:00
Sebastian Kaspari
8c9479eb8c
[components] GeckoEngineSessionState: Handle empty engine session state.
2021-01-05 12:16:46 +00:00
Sebastian Kaspari
7964ec0108
[components] RecoverableBrowserState: Update kdoc.
2021-01-05 12:16:46 +00:00
Sebastian Kaspari
76621f83a6
[components] Add additional test cases to RestoringBrowsingSessionsTest.
2021-01-05 12:16:46 +00:00
Christian Sadilek
8522c7ccb0
[components] Closes https://github.com/mozilla-mobile/android-components/issues/9292 : Crash when deserializing sessions with source field
2021-01-05 12:16:46 +00:00
Sebastian Kaspari
cf5dbc3cd0
[components] PR https://github.com/mozilla-mobile/android-components/pull/9250 : Address review comments.
2021-01-05 12:16:46 +00:00
Sebastian Kaspari
bfbe4e5945
[components] Closes https://github.com/mozilla-mobile/android-components/issues/9183 , https://github.com/mozilla-mobile/android-components/issues/9199 : Move SessionStorage from browser-session to browser-session-storage.
...
This is one piece of browser-session that we want to keep and moving it out allows more components to
not depend on browser-session anymore.
Multiple things are in this patch:
* Storage related code moved from browser-session to browser-session-storage
* BrowserStateSerializer gets split into BrowserStateWriter and BrowserStateReader
* SessionManager.Snapshot has been removed and we now save and restore independened from SessionManager.
We already saved BrowserState. Now we restore into a generic `BrowsingSession`.
* feature-tab-collections no longer depends on browser-session.
* All restore code now goes through TabsUseCases instead of SessionManager directly.
2021-01-05 12:16:46 +00:00