Commit Graph

3307 Commits (ac13f0dd468b37773c591485ceba88d997476dbe)

Author SHA1 Message Date
Mihai Adrian Carare 3bb074b133
For #13522: Also remove history entries from tab history. (#17392)
* For #13522: Also remove history entries from tab history.

* For #13522: Test that deleting history also removes it from tab history.
4 years ago
mcarare 4e736625bd For #8716: Authentication custom tab now considers browsing mode. 4 years ago
Christian Sadilek cef56bef17 Update Android Components version to 71.0.20210108190105 4 years ago
Mugurell 484f167714 For #16249 - ClipboardHandler cleans up returned text 4 years ago
mcarare d110464a91 For #17117: Use proper custom tab session for custom tab toolbar menu. 4 years ago
Arturo Mejia 0aa44c93cd Closes issue #16945 Refactor TrackingProtectionOverlay to observe session via store. 4 years ago
Christian Sadilek 9a53054b28 Use new RestoreUseCase in A-C to handle tab timeouts 4 years ago
Arturo Mejia 743ba6918f Closes issue #16944 Refactor TrackingProtectionPanelDialogFragment to observe session via store. 4 years ago
mcarare 156dee29d8 For #15464: Always dismiss search dialog on url committed. 4 years ago
Hakkı Kaan Çalışkan e41cc5a414 For #17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
4 years ago
Gabriel Luong d0fc086fc4
For #16790 - Allow top sites to have an empty name when renamed (#17290) 4 years ago
Roger Yang afa0454f2b
Closes #16603: Disable pull down when in fullscreen (#17314) 4 years ago
Sebastian Kaspari 1b6cebf4d4 Switch to new SessionStorage / session restore API. 4 years ago
ekager d5f625c945 For #17177 - Do not show PBM CFR if entering search on home, make sure fragment attached before showing 4 years ago
Roger Yang 7527851cf0
Closes #17298: Turn on new MediaSession feature for all builds (#17302) 4 years ago
MarcLeclair 24bce64e0b
16373 Count the # of inflations done on startup (#16778)
* For #16373: Added performance Inflater to counter # of inflations

This class is quite straight forward. The only thing that I have to point out is the onCreateView method. It usually
calls its super if you don't override it. The problem with that is that the super.onCreateView actually uses
android.view. as a prefix for the XML element it tries to inflate. So if we have an element that isn't part
of that package, it'll crash. As I said in the code, a good example is ImageButton. Calling android.view.ImageButton
will make the app crash. The method is implemented the same way that PhoneLayoutInflater does (Another example
is the AsyncLayoutInflater)

* For #16373: Added test for PerformanceInflater

This test got quite awkward / complicated fast.  I wanted to test the  to make sure we don't break *any* of our layouts
and to do so, I decided to just retrieve all our XML in our /res/layout folder. However, this gets quite a bit outside of a unit test scope.
The point was to get every layouts and get their LayoutID through the resources using the testContext we have. It gets even weirder, since some
of the XML tags have special implementation in android. One of them is the <fragment> tag. That tag actually is inflated by the OS using the Factory2
that the Activity.java implements. In order to get around the fragment issue, we just return a basic FrameLayout since the system LayoutInflater doesn't deal
won't ever get a <fragment> tag to inflate. Another issue was the <merge> tag. In order to inflate those, you need 1) a root view and 2) attach your view to it.
In order to be able to test those layouts file, I had to create an empty FrameLayout and use it as the root view for testing. Again, I know this is beyond the spirit of a unit test but if we use this inflater, I think it should make sure that no layouts are broken by it.

* For #16373: Overrode getSystemService to return PerformanceInflater

This allows PerformanceInflater to be called in every inflation to keep track of the number of inflations we do.

* For #16373: Added UI test for # of inflations

* For #16373: Lint fix

* For #167373: Changed the LayoutInflater cloneInContext to take this instead of inflater

The inflater parameter is set on the first call from the OS from  the Window object. However, the activity itself sets multiple factories on the inflater
during its creation (usually through AppCompatDelegateImpl.java). This means that, once we initially set the inflater with a null check, we pass an inflater
that has no factory initially. However, since we keep a reference to it, when cloneInContext was called, it cloned the inflater with the original inflater
which didn't have any factories set up. This meant that the app would crash on either browserFragment creation or any thing that required appCompat (such as
ImageView and ImageButton). Now, passing itself with a cloneInContext means we keep all the factories initially set by the activity or the fragment.

* For #16373: Fixed code issues for PR. No behavior change

* For #16373: fixed some code nits
4 years ago
mcarare 2d1df018ff For #15061: Fix error text color in SyncedTabsFragment. 4 years ago
Codrut Topliceanu c0f0c401f3
For #11580 - Tracks text selection context menu usage (#16968)
* For #11580 - Tracks text selection context menu usage

Tracks Copy, Search, Select All and Share items from the text selection context menu. Uses AC's DefaultSelectionActionDelegate to achieve this.

Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
Arturo Mejia 81f208bda1 For issue #13981 Use DEEP_LINK_SCHEME instead of hard-coded fenix 4 years ago
Elise Richards 6dadecacc2
For #15703 and #17133: allow ETP redirect trackers setting to be customized (#17137)
* Remove ETP redirect trackers feature flag. Add category to ETP panel view.

* Add redirect tracker category to ETP custom settings
4 years ago
ekager d3e1045ab9 For #17165 - Use application context to get notification localized strings 4 years ago
Christian Sadilek 36a6d364a7 For #17086 #17143: Temporarily turn off Nimbus 4 years ago
jhugman 4565d7381b
No bug- protect nimbus init from StrictMode (#17033) r=christian 4 years ago
Christian Sadilek 0b99669753 Closes #16949: Refactor OpenInAppOnboardingObserver to use browser store 4 years ago
Sebastian Kaspari d2b8decaeb Switch to new feature-tab-collections API. 4 years ago
ekager 30df43d057
For #13321 - Do not hide toolbar when opening multiple bookmarks (#17038) 4 years ago
mcarare 04bd9c61a6 For #16483: Rotate edit arrow when toolbar position is set to bottom. 4 years ago
mcarare e24ec1c941 For #16068: Update SUMO links. 4 years ago
mcarare e0c3193162 For #17061: Prevent appBarLayout from leaking. 4 years ago
Christian Sadilek 5157a3f50e Closes #17045: Crash caused by calling consumeFlow on wrong thread 4 years ago
ekager 419f895364 For #16973 - Use controller handled action instead of toolbar focus 4 years ago
Gabriel Luong 846d618c06
For #16941 - [Telemetry] Bookmark Counts (#16942) 4 years ago
Christian Sadilek d8f3127e08 Closes #16946: Refactor PwaOnboardingObserver to use browser store 4 years ago
Sebastian Kaspari 46813dd89c
Add search current/home region to debug screen. (#17015) 4 years ago
Codrut Topliceanu d0b09b7d69
For #15368 - Adds telemetry for fullscreen, pip (#16833) 4 years ago
mcarare 01db5160ee For #16827: Add copy url from long press metrics. 4 years ago
mcarare 93b13ac977 For #15369: Add synced tabs usage metrics. 4 years ago
mcarare d233229ce4 For #15366: Add recently closed tabs metrics from history fragment. 4 years ago
mcarare 2f360eb474 For #15366: Add recently closed tabs metrics. 4 years ago
mcarare a59195e2ee For #16422: Handle theme for tab history bottom sheet. 4 years ago
Mugurell 574eac4636
For #15367 - DownloadsFragment telemetry (#16728)
Adds a counter for how many times the user does the following action:
- opens the Downloads section inside the app
- tap to open an item from inside Downloads / from the download dialog
- tap to delete one or more downloads at once
4 years ago
Mugurell d5b33aec43
For #11578 - Add telemetry for how many times we download something (#16730) 4 years ago
Michael Debertol 95860eba49
For #4333: Open the keyboard when a search engine is selected (#14353)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
Arturo Mejia f263b7333a For issue #16847 Show the autoplay icon in the toolbar 4 years ago
ekager 3b0e70a856 For #16937 - Ensure FIP is removed on navigation 4 years ago
Jeff Boek cf61c10c39
For #15403 - Adds a secret debug info screen in settings (#15540)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
ekager 1ca34a2bc9 For #16807 - Make sure there's only one instance of search dialog 4 years ago
Elise Richards 813693f1d3
Remove hidden fab in tabs tray (#16972) 4 years ago
Codrut Topliceanu 556fea5591
For #15636 - Focus a11y collection on snackbar view tap (#16853)
With accessibility enabled, when adding a site to a collection and tapping "View" on the snackbar, we send a request for focus and an `AccessibilityEvent.TYPE_VIEW_FOCUSED` to the specified collection.
4 years ago
jhugman 9a984f10f1
Add withExperiment extension method to Nimbus (#16926) r=christian, sebastian
* Fixes #16925 Add withExperiment extension method to Nimbus
* Don't call Nimbus at all if not enabled by FeatureFlag
4 years ago
Roger Yang ca605d8a95
Closes #16075: Add distribution_id in telemetry startup metrics (#16821) 4 years ago
Christian Sadilek f0078097f8 Prepare for A-C Session[Manager] observable deprecation 4 years ago
ekager dd2615b554
For #16442 - Check if fragment is still attached before updating site permissions rules (#16954) 4 years ago
jhugman 459f1e970f
Fixes #16948: call nimbus.updateExperiments on startup (#16950) r=gl 4 years ago
mcarare a2ad9f7a27 For #16894: Handle adding voice search button depending on state. 4 years ago
mcarare 0a77f4bccf For #16775: Fallback to light mode drawable when ui mode is not resolved 4 years ago
mcarare b4a81c2219 For #15640: Remove private resources from RadioButtonPreference. 4 years ago
mcarare fa08afbc03 For #15640: Remove private resources from TextPercentageSeekBarPref. 4 years ago
ekager 2bb7bea258 For #16668 - Fix keyboard show/hide from search dialog fragment 4 years ago
Kate Glazko ef01cdcefe For #16541: Download UX Updates 4 years ago
Christian Sadilek faf765a57d Update IntentProcessors after breaking API change 4 years ago
Emilio Cobos Álvarez 9d5afd501e Add support for EME permission.
This accompanies the changes in mozilla-mobile/android-components#9121.

Closes #1175
4 years ago
Mugurell f2191bdbb5 For #13427 - Disable the "selected tab" decoration when in Multiselect
Selecting a tab while in Multiselect would add a different decoration to the one
already set for the last tab opened and this would confuse users.
Let's avoid this.
4 years ago
Christian Sadilek d1345e8f93 Closes #11290: Refactor ToolbarMenu to use browser store 4 years ago
Roger Yang 2ff7ba75c7
Closes #16896: Integrate new MediaSession API to nightly or debug builds (#16909) 4 years ago
Elise Richards 948db6f77b
Reload restored tabs from collection (#16865) 4 years ago
Sebastian Kaspari 2cada405d8 Update Android Components to 69.0.20201207103252. 4 years ago
ekager e428694a51 For #16397 - Fixes SignOutFragment crash and invisible button 4 years ago
Mugurell c89a7193f5
For #16248 - Cleanup error pages of inlined code (#16834)
Also streamlined the js code.
The errorPageScripts.js from AC had too much or too little of what we needed.
4 years ago
Roger Yang 3c3ddb4f44
For #16133: Simplify OpenInAppOnboardingObserver condition (#16851) 4 years ago
Philipp Klein 2be3fd05f2
For #15362: Remove swipe to delete for bookmarks (#16646)
Removed now obsolete feature flag and tests.
Removed obsolete swipe refresh state from BookmarkFragmentState
Also adapted tests and remove obsolete ones.
4 years ago
Elise Richards 77f061c362 Closes #8791: Use A-C tab counter and upgrades to A-C 69.0.20201203202830
Upgrades to A-C 69.0.20201203202830 and addresses breaking changes:
- Upgrades androidx workmanager to 2.4.0 in line with A-C.
- RecordingDevicesNotificationFeature was removed
- SearchUseCases accept parent session ID instead of session itself
4 years ago
Codrut Topliceanu 79d1c08402
For #16629 - Fix for collection snackbar View button (#16679) 4 years ago
Jonathan Almeida c99b2157fb Fix breaking changes from FCM SDK update 4 years ago
jhugman ea9f692007
Nimbus-SDK-119 Get Nimbus server endpoint at build time. (#16682)
This PR builds on [AC##9024][1], and implements setting the Nimbus endpoints from [a secret set at build time][2].

For production use, this requires a secret named `nimbus_url` to be put into CI.

Note: Nimbus is currently behind a feature flag.

If developers wish to use a Nimbus server for local development, you can set the url by adding an entry into local.properties, e.g.:

```
nimbus.remote-settings.url=https://settings.stage.moz4ws.net
```

Without setting server, Nimbus will be able to function, except no experimental definitions will be fetched, and features under experiment will be configured as if not enrolled in the experiment.

[1]: https://github.com/mozilla-mobile/android-components/pull/9024
[2]: https://groups.google.com/a/mozilla.com/g/android-components-team/c/lAGVKQy8aiA/m/rY3uGAwhBAAJ
4 years ago
jhugman 3cd4ff9ac8
Adding menu configuration for A/A experiment and A/B experiment (#16692) 4 years ago
Christian Sadilek 3722033a5c For #16032: Support installing recommended add-ons from AMO 4 years ago
Roger Yang 26051f7c0e
Closes #16603: Disable pull down refresh when activity is in immersive mode (#16793) 4 years ago
Sebastian Kaspari 57ebc0cb99 ExternalAppBrowserActivity: Add additional test cases. 4 years ago
Sebastian Kaspari 788a8309c2 Issue #16435: Open custom tab in Fenix: Force launch outside of and remove current task. 4 years ago
Sebastian Kaspari 776b64f959 Issue #16435: Finish ExternalAppBrowserActivity and remove task if linked tab doesn't exist anymore.
This doesn't fix the underlying issue of #16435, but a symptom we have seen quite often in different
situations: When the ExternalAppBrowserActivity is not linked to a tab anymore then it falls back
to displaying a (partially broken) browser UI. With multiple browser activities at the same time
sooner or later we crash with a "display already acquired" error because both activities try to
render the same tab.
4 years ago
mcarare 0bd3654bc7 For #16759: Prevent crash on showing info banner. 4 years ago
Sebastian Kaspari 055c76b7ba FenixApplication: Remove unused kinto endpoint. 4 years ago
Sebastian Kaspari d84b8ebdc6 Issue #12731: Log and record breadcrumb when onTrimMemory() gets invoked. 4 years ago
Mihai Adrian Carare 34b4dad614
For #16735 - Do not show grid view CFR if grid view is already selected. (#16740) 4 years ago
ekager d49d710343 For #16676 - Do not switch mode on last private tab via tab context menu 4 years ago
Codrut Topliceanu 4b56aeb12f
For #16592 - Fix missing collection snackbar for a11y (#16593)
Set null anchor for snackbar when using a11y services
4 years ago
mcarare f823a5d246 For #16353: Avoid strict mode death on reading onboarding preference. 4 years ago
mcarare de1fa74ac1 For #16353: Add unit tests for onboarding finishing conditions. 4 years ago
mcarare 089c79f868 For #16353: Finish onboarding on loading a web page, with exceptions. 4 years ago
mcarare 451f60b095 For #16353: Do not finish onboarding on search dialog opening. 4 years ago
ekager b9737bde95 For #16351 - Add divider lines for search dialog 4 years ago
Sebastian Kaspari 2b759e9d6f Integrate new search code from Android Components into Fenix. 4 years ago
MickeyMoz 2904ca8ac0 Update Android Components version to 68.0.20201120125142. 4 years ago
jhugman 9cdfb6db4a
Nimbus Global Opt Out (#16543) r=gl 4 years ago
ekager b7fe809ae4 For #16351 - Make homescreen interactive when search dialog is up 4 years ago
mcarare cf162c69d1 For #15788: Remove nested layouts in search dialog layout. 4 years ago
Jonathan Almeida cebab81e07
Update Android Components to 67.0.20201117165227 (#16619) 4 years ago
ekager f520586dcd
For #12062 - Remove feature flag for return to browser (#16622) 4 years ago
Mugurell ef5846dc3e
For #16614 - Ensure a stable order for the items in tabs tray. (#16618)
Items should follow the following ordering:
- current session open tabs
- collections options - currently the "Select tabs" button
- synced tabs items

This order should also be kept after returning from Multiselect mode.
4 years ago