In a followup PR, we need to add state to strictModeManager (the
number of suppressions). This is much simpler to do when this is defined
as a class rather than an object. However, when this is defined as a
class, `resetAfter` needs access to the strictModeManager. Instead of
passing it in as an argument, it made sense to move this function onto
the strictModeManager instead.
Since folks are used to calling:
```
StrictMode.ThreadPolicy.allowThreadDiskReads().resetAfter
```
We're going to have to add a lint check to prevent them from doing that.
I originally tried to create this PR leaving this as an object to keep
the change simple but it wasn't worth it - once the object started to
keep state, we'd need to manually reset the state between runs. Also,
the tests were already getting hacky with static mocking so it was
easier to address some of those issues this way too.
Additional branching introduces complexity so we should avoid it when
possible. This branch was also unused so it's more likely to have bugs
if we tried to use it after some refactor.
This is not the super fancy version yet - since we still need to restore into SessionManager and
haven't fully switched to BrowserStore yet. However AC having knowledge about "undo" and whether
it was performed or not, will help us with features like "recently closed tabs". And once we
can improve "undo", Fenix will get all the nice things automatically.
Requires:
https://github.com/mozilla-mobile/android-components/pull/8449
* Remove search fragment
* Use new folder to search dialog
* Rebase and lint
* Update tests with search dialog nav directions
* Rename interactor to match naming convention. Remove old controller and point everything to the dialog controller.
Initially we did this to avoid a duplicated task right after the migration from Fennec. We'd end up
with the original task from Fennec and the new one from Fenix; with the Fennec task still showing
Fennec in the app switcher, but launching Fenix once selected.
Anyhow, now on Android 11 this causes the Fenix task to get duplicated. The simple fix is to not
do any of that anymore. This may re-introduce the problem with the Fennec migration, but:
* We are at 100% rollout for quite some time. There are still users migrating, but the impact
of the bug is much lower.
* The bug after the migration was only temporary. This bug here is happening every time you
launch Fenix. So I'd rather fix this than a possible inconvenience right after the migration.