* For #4844: add test cases for url elision
* For 4844: implement toShortUrl to pass test cases
* For 4844: update plumbing to use toShortUrl
* For 4844: adds/handles suggested url elision test case
Removed label from nav_graph that caused label to be set for each navigation
Removed title setting in onCreate() called for each navigation
Changed logic for checking current root when setting UI for normal mode
When bookmark fragment is opened from homeFragment, libraryFragment does not
exists so the popBackStack(R.id.libraryFragment, true) would have failed. So
the solution for this was to pop back stack to homeFragment when the
bookmarks/history fragments are opened from homeFragment.
- Moved toolbar coloring to extension method
- Refactored classes using it
- Removed selection mode colouring for EditBookmarkFragment toolbar,
making it only black and white (normal mode)
* Closes mozilla-mobile#2435 Change edit icon to share icon on the bookmark toolbar
* Closes mozilla-mobile#2435 Changed raw string to string resources
* Pass bookmark arguments to share fragment
* Closes mozilla-mobile#2435 add orEmpty
5908: Closes#5876: Removed @ObsoleteCoroutinesApi in tests r=sblatz a=shldhll
### Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [ ] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [ ] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [ ] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features
### After merge
- [ ] **Milestone**: Make sure issues finished by this pull request are added to the [milestone](https://github.com/mozilla-mobile/fenix/milestones) of the version currently in development.
### To download an APK when reviewing a PR:
1. click on Show All Checks,
2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
3. click on the "Fenix - assemble" task, then click "Run Artifacts".
4. the APK links should be on the left side of the screen, named for each CPU architecture
Co-authored-by: shldhll <iam.shldhll@gmail.com>
Moved the deletion to a CoroutineScope(IO) to decouple from fragment lifecycle
Used local val tempStorage to keep reference to bookmarkStorage of outside class
Ran deletions with awaitAll to avoid concurrency issues on storage
This was added to the state object as a top level param because it could reasonably coexist with any value of `tree` or `mode`. Even if we don't now, we may someday want to display a loading indicator while also showing cached bookmarks.
For now, we set isLoading to false whenever we receive any bookmarks
The mismatch here was creating potentially inconsistent states. When first put into a CREATED or STARTED state, the listener would not be active, however after going through onResume it would then stay active until destroyed.
We should only be navigating to bookmarks when in a RESUMED state, so this change should be safe. I tried it a few times to verify. But I've been wrong before!
* For #2754 Add tab cards to share sheet
* For #2754: Fix background near rounded corners and ShareButtonAppearanceTest
* Add license to share_tab_item
Show or hide overflow menu for entire list is triggered when mode is changed
For bookmarks, due to implementation of selection and diffUtil,
additional check is necessary for current item (last selected) that is redrawn