Tiger Oakes
f6b38552d2
Move MetricController to its own file
2020-07-31 14:14:45 -07:00
Kainalu Hagiwara
e1653f629e
For #13127 - Make sure tabPreview is added after browserLayout.
2020-07-31 14:14:05 -07:00
ekager
f14b6d0385
For #13117 - Don't show add to collections button in private tabs tray
2020-07-31 14:13:12 -07:00
Tiger Oakes
1d28f63737
Closes #12522 : Reuse exceptions code ( #13047 )
2020-07-31 13:24:14 -07:00
ekager
8b923fc7a4
For #13135 - Replace about top header with Firefox Daylight
2020-07-31 16:21:39 -04:00
prabhat3108
5e38ccc5e4
swapped deleted and save icon in bookmarks_edit menu. closes#11490
2020-07-31 16:19:02 -04:00
Kainalu Hagiwara
52e19ec743
For #12888 - Add highlight to current page in tab history.
2020-07-31 12:54:42 -07:00
Mihai Branescu
64072a1256
For #11498/#11499 - added/fixed unit tests
2020-07-31 21:42:57 +03:00
Mihai Branescu
ff50dae8e9
For #11498 - removed SignIn ViewHolder and unified with the Error one
2020-07-31 21:42:57 +03:00
Mihai Branescu
5d1aeb5ea7
For #11499 - replaced string for no tabs available
2020-07-31 21:42:57 +03:00
Mihai Branescu
bfc955cd40
For #11498 - add Sync tabs error view (including sign-in CTA)
2020-07-31 21:42:57 +03:00
Kadeem
78126122ad
For #12769 : Refactored Background Service Test into multiple test cases.
2020-07-31 10:47:11 -07:00
Mugurell
ab2ea8e682
For #13037 - Use email to sign in to fxa if device has no camera
...
App can be installed on devices with no camera modules. Like Android TV boxes.
Will skip presenting the option to sign in by scanning a qr code in this case
and default to login with email and password.
2020-07-31 20:02:23 +03:00
ekager
0f0aee5e97
For #6846 - Don't show ToolbarPopupWindow if nothing to show
2020-07-31 12:55:09 -04:00
Mihai Eduard Badea
58e24b81aa
For issue #12400 - Refresh swiped collection tab view
...
Item is now refreshed by calling notifyDataSetChanged on the adapter when the last tab from the collection has been swiped away and the user cancels the deletion by pressing the cancel button from the dialog.
Also added a "wasSwiped" flag to onCollectionRemoveTab in order to check if the tab was deleted from a swipe action and not by pressing the "X" button.
2020-07-31 12:48:32 -04:00
Mozilla L10n Automation Bot
29d07e8153
Import l10n.
2020-07-31 12:37:11 +03:00
Tiger Oakes
5ddf8beea7
Fix suggestions, extract layout for tab history
2020-07-30 17:54:09 -07:00
Tiger Oakes
6152469ffd
Add tests for tab history
2020-07-30 17:54:09 -07:00
Tiger Oakes
4c1e6eeb25
For #12887 : Use ListAdapter to diff history
2020-07-30 17:54:09 -07:00
ekager
6cdf304d10
No issue: Adds sameAs function for TopSiteList AdapterItem
2020-07-30 17:46:03 -04:00
ekager
3d3153039c
For #11690 - Add contentsSameAs to avoid rebind of items in SessionControlAdapter
2020-07-30 15:18:04 -04:00
Tiger Oakes
d8ff6179fe
For #7992 : Use favicon style from AC ( #12608 )
2020-07-30 11:21:17 -07:00
Tiger Oakes
e265bd7266
Use uplifted addon date code
2020-07-30 10:29:40 -07:00
jhugman
79c3f3c925
For #11664 — Fixup MissingResourceExceptions being thrown in exotic Locales ( #13124 )
...
Our kotlin code is not catching the `MissingResourceException` in the `LeanplumMetricsService` which results in the app crashing when the locale isn't known by the device.
Catches the exception, and falls back to the ISO 639 language code. This isn't a great solution, because ISO 639 isn't especially stable.
In practice however this is almost certainly never going to be a problem because Leanplum isn't going to be supported in such exotic locales.
In this case, using the ISO 639 language code allows the error message to be more informative.
2020-07-30 18:28:26 +01:00
ekager
0356bea50e
For #13117 - Hide save to collection button for private tabs in tab tray
2020-07-30 11:53:29 -04:00
mcarare
ed8a9bd1a0
For #12565 : Remove activity from DefaultTabTrayController constructor.
2020-07-30 13:33:02 +03:00
Mozilla L10n Automation Bot
ef4e865105
Import l10n.
2020-07-29 21:52:03 -04:00
Tiger Oakes
1a51b7f874
For #13084 - Use runBlockingTest
2020-07-29 21:51:28 -04:00
Kate Glazko
611adf83e5
remove unused import
2020-07-29 17:47:18 -07:00
Kate Glazko
151e8595b6
For AC #7673 Move DownloadStatus to DownloadState Fenix Side Changes
2020-07-29 17:47:18 -07:00
Tiger Oakes
0e3acfcd94
Move config to robolectric.properties
2020-07-29 17:46:26 -07:00
Jeff Boek
a72f9c75f0
For #12570 - Correctly removes search suggestions when search query and url is empty
2020-07-29 16:03:10 -07:00
Jeff Boek
12b95b4902
For #11579 - Adds telemetry for autoplay settings in Site Permissions
2020-07-29 15:10:25 -07:00
Tiger Oakes
f75be41d3a
Add metric tests
2020-07-29 14:58:48 -07:00
Kainalu Hagiwara
57c7955637
For #12865 , #12990 - Disable swipe to switch tabs gesture when the keyboard is visible.
2020-07-29 14:55:03 -07:00
mozilla-l10n-automation-bot
d5b105097e
Import l10n. ( #13088 )
2020-07-29 13:51:01 -07:00
Sawyer Blatz
4b646c03cb
For #9730 : Add Login Dialog Prompt telemetry
2020-07-29 12:59:35 -07:00
ekager
1497e4886e
For #13084 - Update SavedLoginsStorageControllerTest
2020-07-29 15:15:18 -04:00
ekager
19ffb84cf9
For #11654 - Adds leanplum ETP changed event
2020-07-29 13:35:16 -04:00
Sawyer Blatz
bb03049fb5
Add documentation
2020-07-29 13:35:16 -04:00
Sawyer Blatz
8bfc493568
For #12103 : Add ChangedDefaultBrowser event for leanplum
2020-07-29 13:35:16 -04:00
Sawyer Blatz
2b1122bc77
For #11531 : Add search widget installed leanplum event
2020-07-29 13:35:16 -04:00
ekager
6b6e1956ca
For #13071 - Only return to home when session doesn't have parent session to select
2020-07-29 09:50:58 -07:00
Antti Vainikka
579a69b477
Closes #12692 : Remove www. prefix in tab tray urls
...
Use separate imports instead of a wildcard import
Use toShortUrl String extension instead of removing prefix from url host
Add missing import
2020-07-29 12:16:32 -04:00
mcarare
048f6a49fe
For #12565 : Pass passwordsStorage instead of context in constructor.
2020-07-29 12:15:16 -04:00
ekager
87a7b6f9ec
For #12992 - Correctly notifies concat adapters about mode changes
2020-07-29 11:58:04 -04:00
Mozilla L10n Automation Bot
2c0511c92f
Import l10n.
2020-07-29 11:42:30 -04:00
ekager
6a27c209b5
For #13042 - Remove bottomSheetCallback in multiselect mode
2020-07-29 11:19:47 -04:00
Mihai Adrian Carare
ac870634ff
For #12533 : Align main settings categories according to specs. ( #12534 )
2020-07-29 10:08:00 -05:00
mcarare
4b74ff186b
For #12565 : Remove context from DeleteBrowsingDataController constructor
2020-07-29 17:46:43 +03:00
mozilla-l10n-automation-bot
e2e684b4d4
Import l10n. ( #13048 )
2020-07-28 18:37:50 -07:00
sraturi
537d95c04d
for #11830 created class containing the logic for sending AllStartup telemetry logic
...
lint check
renamed the intentReceived telemetry to appOpenedAllSource
added comments
removed unused code
moved lifecycle process to AppAllSourceStartTelemetry
moved tracking event out of init function
lint fix
moved appAllStartTelemetry to components
added bit more info about the metrics
added the onReceivedIntent metric back
minor fix
change discriptions based on the comments frm MR
wrote test cases for AppAllSourceStartTelemetry.kt
lint fix
test case to mock application going background
post rebase:
post rebase:
fixed nit from comments
fixed nit from comments
fixed nit from comments
lint fix
lint fix
2020-07-28 17:09:42 -07:00
Sachin
6a618aa318
for #11698 added on demand workmanager initialization ( #12739 )
2020-07-28 16:26:18 -07:00
Kainalu Hagiwara
bef98698cb
For #12904 - Conditionally inflate SwipeGestureLayout in BaseBrowserFragment.
...
Changing the root view of BaseBrowserFragment from a CoordinatorLayout
to a SwipeGestureLayout has caused some regressions, particularly in
snackbar behavior. Lets prevent those regressions from occuring in
builds where the feature flag for gestures is off by only adding the
SwipeGestureLayout when the feature flag is on.
2020-07-28 14:54:18 -07:00
Leonardo Murça
0c8c87e56d
For #12755 - Replace @+id by @id when referencing already declared ids
...
When referencing an Android resource ID, you do not need the
plus-symbol if you declared before.
Caution: make sure that the resource you are referring to
is defined EARLIER and not LATER.
2020-07-28 14:46:09 -07:00
Kainalu Hagiwara
6aa70977e7
For #12861 - Swap order of tabs for tab switching gesture.
2020-07-28 14:37:45 -07:00
amkcpu
af020d0af1
For #12706 - Add vertical scrollbar to bookmarks screen
2020-07-28 16:47:18 -04:00
amkcpu
791eac50f3
For #12704 - Add vertical scrollbar to history screen
2020-07-28 16:47:09 -04:00
amkcpu
210f1ab898
For #12707 - Add vertical scrollbar to search suggestions
2020-07-28 16:46:51 -04:00
Tiger Oakes
8d1bd10e6b
Test paged history provider
2020-07-28 12:35:34 -07:00
Jonathan Almeida
239e3de5e9
For #12856 : Add save to collections button to Tabs Tray
...
Using the ConcatAdapter, we're now able to insert multiple data sources
of information into one RecyclerView and preserve layout/scrolling in
addition to adding the 'Save to Collection' button.
2020-07-28 11:14:08 -07:00
ekager
33bb86b1aa
For #12992 - Hide tab close button while in multiselect mode
2020-07-28 11:10:45 -07:00
Hakkı Kaan Çalışkan
12e68ac18d
For #12622 : Visually indicate different types of suggestions in the search screen
2020-07-28 11:08:35 -07:00
Aaron Train
5b997ff1d8
Closes #13021 : Fix verifyAboutFirefoxPreview UI test
2020-07-28 11:02:21 -07:00
Kainalu Hagiwara
272c380755
For #13028 - Add feature flag for tab history.
2020-07-28 11:01:59 -07:00
Roger Yang
b7fabdd2f1
Closes #12670 : Add lastUri as a parameter in RequestInterceptor
2020-07-28 13:24:03 -04:00
Oana Horvath
b0dfdd57dc
For #12968 : Re-enables Search settings tests ( #13020 )
2020-07-28 09:22:46 -04:00
Jonathan Almeida
53a4f63393
For #12983 : Fix deep link scheme for nightly builds
...
When we simplified our variants, our deep link scheme for nightly was
lost.
2020-07-28 08:31:12 -04:00
Mozilla L10n Automation Bot
33db252797
Import l10n.
2020-07-27 21:05:00 -04:00
ekager
0657bf41d3
For #12991 - Set height to recommended touch target size for collect button
2020-07-27 20:17:48 -04:00
Elise Richards
b7325a3833
For #12571 : Rename shortcuts to search engine on search screen ( #12839 )
...
* Rename shortcuts to search engine on search screen
* Remove deprecated pref key
* Re-add deprecated string
2020-07-27 17:19:31 -05:00
Tiger Oakes
5d772337a8
Fix AccountUiView ui failures
2020-07-27 17:40:15 -04:00
Elise Richards
52a9acf87d
Enable editing saved logins on all channels ( #12841 )
2020-07-27 15:48:28 -05:00
Jeff Boek
46f010f247
For #2681 - Adds ability to bypass cache when reloading
2020-07-27 12:11:11 -07:00
Tiger Oakes
57ac6fc36d
Extract navigation subgraphs
2020-07-27 15:04:28 -04:00
Tiger Oakes
61d6b333de
Update LongParameterList baseline
2020-07-27 14:20:34 -04:00
Tiger Oakes
eab9660146
For #1146 : Extract AccountUiView from settings
2020-07-27 21:05:47 +03:00
Tiger Oakes
d640f58316
For #12565 - Clean up controller and add tests
2020-07-27 10:40:09 -07:00
Mugurell
596300591e
For #12772 - Opt-out of scoped storage
...
Targeting Android 10 means we need to support scoped storage or we need to
opt-out of that using requestLegacyExternalStorage="true".
This patch adds the opting-out leaving investigations for what changes we need
for fully supporting scoped storage to be done in issue #12822 .
2020-07-27 10:39:47 -07:00
ekager
e5e62fa79a
For #6846 : Added quick actions for nav bar in home
2020-07-27 13:28:28 -04:00
ekager
1d604d327c
For #12966 - Fixes session removal show home logic
2020-07-27 10:27:39 -07:00
Tiger Oakes
52de2b8f38
Fix license on remaining files
2020-07-27 13:04:55 -04:00
Mihai Eduard Badea
b1e7e60665
For issue #12181 - Convert String to sentence case
...
Changed the string values capitalization to sentence case.
2020-07-27 12:31:13 -04:00
Kadeem M
1353e157cd
Created UI tests for Addon Settings ( #9258 )
2020-07-27 11:00:35 -04:00
ekager
9c4fba4565
Closes #12954 - Remove all ConstraintLayout casts in SearchEngineListPreference
2020-07-27 09:49:43 -04:00
Oana Horvath
808584b75f
For: #12894 , #12899 , #12968 , #11239 , disables failing UI tests
2020-07-27 13:34:56 +03:00
Mihai Branescu
1cbc4eec52
For #7716 - modified xml to let 'Learn more' button have min 48dp for a11y
...
Added a margin top of 20dp as well on the buttons so as not to change UI
2020-07-27 10:16:31 +03:00
ekager
6f5faa332d
For #12947 - Adjust tab selected state on bind
2020-07-25 20:07:30 -04:00
Tiger Oakes
6ea94fd9af
Add concept-menu dependency
2020-07-25 19:38:35 -04:00
ekager
058f44e82d
For #12721 - Remove SessionManager usages in TabCounter
2020-07-25 18:37:45 -04:00
Hakkı Kaan Çalışkan
3be6393ea5
For #12929 : Change cast to LinearLayout
2020-07-25 10:14:48 -04:00
Hakkı Kaan Çalışkan
b3b7566fcf
For #12804 : Set min height for search engine radio button
2020-07-24 22:10:24 -04:00
ekager
46511d6f8e
For #10163 - Adds tab multiselect mode
2020-07-24 18:18:26 -04:00
Jonathan Almeida
d15b8381a6
For #10925 : Fix breaking APIs in tabs tray
2020-07-24 16:52:06 -04:00
Tiger Oakes
8c1d3dc827
For #12871 - Use local TWA DAL API ( #12872 )
2020-07-24 13:08:24 -07:00
Kainalu Hagiwara
cac0be43e6
For #12880 - Pass a CoordinatorLayout to Snackbars created by the context menu.
2020-07-24 12:30:46 -07:00
Sawyer Blatz
95d786a79f
No issue: fix master
2020-07-24 15:06:38 -04:00
ekager
6edbb82591
For #12364 - Improve PWA onboarding timing logic
2020-07-24 14:43:28 -04:00
Sawyer Blatz
9c56e1905b
For #12793 : Improve snackbars for tabs tray
2020-07-24 10:56:54 -07:00
Sawyer Blatz
6c58098fef
For #12791 : Fix issue with undo snackbar last tab
2020-07-24 10:56:54 -07:00
Sawyer Blatz
c48159d76f
For #10997 : Remove scrolling from home ( #12866 )
2020-07-24 10:43:53 -07:00
Michael Comella
923d841403
For #12345 : replace Activity.reportFullyDrawnSafe with a-c impl.
2020-07-24 10:30:03 -07:00
Oana Horvath
a07f8a5041
For #12893 : Disables failing deleteAllHistoryTest ( #12902 )
2020-07-24 11:47:59 -04:00
Oana Horvath
a116950fc8
For #12473 : Disable failing verifyContextCopyLink ( #12891 )
2020-07-24 10:29:22 -04:00
mcarare
3883703ed5
For #10026 : Update scroll flags on a11y state change.
2020-07-24 10:35:33 +03:00
mcarare
e7a5613afb
For #10026 : Add a11y state listener to BaseBrowserFragment.
2020-07-24 10:35:33 +03:00
mcarare
cf0126e079
For #10026 : Add Context extension to get AccessibilityManager.
2020-07-24 10:35:33 +03:00
Kainalu Hagiwara
8f32b18dfa
For #12868 - Fix tab counter menu snackbar position.
2020-07-23 18:30:04 -07:00
Sawyer Blatz
0e438ef9a7
For #12430 : Hide the mic when not using Google
2020-07-23 19:29:26 -04:00
Tiger Oakes
d3a07e95c9
For #12565 : Don't pass contest to SortingStrategy
2020-07-23 19:05:11 -04:00
Aaron Train
aa495b4526
No issue: Fix recent UI test breakage ( #12869 )
2020-07-23 14:17:54 -07:00
Tiger Oakes
652af79e95
Migrate from Session.toTab to BrowserStore ( #12221 )
2020-07-23 12:27:39 -07:00
Tiger Oakes
9af167ba0a
Add tests for some classes in home/browser ( #12837 )
2020-07-23 11:17:52 -07:00
Tiger Oakes
0d77f761e9
Test sync adapter ( #12810 )
2020-07-23 11:16:11 -07:00
Arturo Mejia
6530a45eb9
For issue #11676 : Features phone that doesn't a site permission exception shouldn't be shown ( #12855 )
...
exception shouldn't be shown
2020-07-23 09:12:22 -07:00
Mozilla L10n Automation Bot
7f829e1752
Import l10n.
2020-07-23 10:40:10 +03:00
Tiger Oakes
8f5a37733d
Create ToolbarPosition enum ( #12747 )
2020-07-22 19:23:38 -07:00
Jonathan Almeida
c143f95819
Issue #11333 : Set ContentBlocking settings directly on GeckoRuntime
...
We set the ContentBlockingSettings directly on the GeckoRuntime now to
improve the startup of the engine.
This change has requirements from Android Components and GeckoView, so
we would only see the full perf benefits in Nightly as the changes ride
the train, although we might start to see some of them as we're updating
the GeckoProvider for the `geckoBeta` variant as well.
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
2020-07-22 16:28:18 -04:00
Kainalu Hagiwara
b26e39906d
No issue - Fix compilation error caused by removed extension function.
2020-07-22 13:00:07 -07:00
Kainalu Hagiwara
58ccc64386
Fix UI tests.
...
We need to pass a CoordinatorLayout instead of a SwipeGestureLayout to
FenixSnackbar.make() in BaseBrowserFragment to prevent UI tests from
breaking. We also need to remove a few view IDs from the tab preview.
2020-07-22 11:26:15 -07:00
Kainalu Hagiwara
e7dc5580b2
For #3481 - Implement swipe on toolbar to switch tabs.
2020-07-22 11:26:15 -07:00
Mozilla L10n Automation Bot
9a2da5bb0f
Import l10n.
2020-07-22 11:25:16 -07:00
Kainalu Hagiwara
921b16233b
For #1048 - Add ability to view tab history by long-pressing the back or forward button.
2020-07-22 11:20:47 -07:00
Hakkı Kaan Çalışkan
2a0a11f740
For #12571 : Rename 'Shortcuts' to 'Search engines'
...
Co-Authored-By: Khushraj Rathod <khushrajrathod@gmail.com>
2020-07-22 11:05:04 -07:00
Tiger Oakes
c2d940cf06
Use AC RunWhenReadyQueue ( #12800 )
2020-07-22 09:48:36 -07:00
Tiger Oakes
d9357f1e32
For #12801 - Extra debug menu trigger, disable if already triggered
2020-07-22 19:28:48 +03:00
Jonathan Almeida
d5fbc17ccf
Update to Android Components 52.0.20200722023149
...
Fixes breaking APIs in SyncedTabsFeature and
BookmarksStorageSuggestionProvider
2020-07-22 10:52:14 -04:00
Michael Comella
2ae88aec81
No issue: add missing newline.
2020-07-21 15:52:34 -07:00
Michael Comella
6e06c7fda1
No issue: clean up initVisualCompletenessQueue... method.
...
A no-op clean up.
2020-07-21 15:52:34 -07:00
Michael Comella
633bc4f2f2
No issue: extract initVisualCompletenessQueueAndQueueTasks.
...
This refactor, done entirely by IDE, is a no-op cleanup.
2020-07-21 15:52:34 -07:00
Michael Comella
169071ac61
No issue: extract startMetricsIfEnabled function.
...
This refactor, done entirely by IDE, is a no-op clean-up of this file.
2020-07-21 15:52:34 -07:00
Jeff Boek
11e2137fab
For #12806 - Adds unit tests to cover `ToolbarView.update()` ( #12807 )
2020-07-21 14:34:07 -07:00
Jonathan Almeida
99354174a9
For #12797 : Use measured height/width for loading a thumbnail
...
Using `onNextLayout` has the side-effect of showing the thumbnail with
the tab.id from a recycled view.
The root cause of needing that call is to retrieve the measured
height/width from the view first before requesting. A simpler solution
to avoid the complexity is to retrieve these values from the dimen
resources.
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
2020-07-21 16:38:49 -04:00
Sawyer Blatz
b483067bd9
For #12461 : Update content description for tabs tray open tab count
2020-07-21 15:48:38 -04:00
Sebastian Kaspari
96121a79fa
Issue #7877 : Add SearchActionProvider for faster responses that mirror entered text.
2020-07-21 14:41:00 -04:00
Tiger Oakes
c08d375c18
Move settings in components ( #12675 )
2020-07-21 10:47:10 -07:00
Mihai Eduard Badea
c3041bcb64
For issue #12387 - Display tab tray using .show
...
Replaced the global navigation action used for displaying the tab tray with the .show() function.
2020-07-21 10:31:24 -07:00
mcarare
8826f99ef7
For #9722 : Refactor onboarding buttons with text.
...
Add title and description to button text, remove extra Textviews.
2020-07-21 10:28:45 -07:00
Tiger Oakes
0abb2c4f8b
Add tests for web push integration
2020-07-21 10:12:06 -07:00
mcarare
9a7154e95e
For android-l10n #241 : Mark a11y link type as not translatable.
2020-07-21 17:59:17 +03:00
Johan Lorenzo
7e7d69cb8e
Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta ( #12225 )
2020-07-21 16:42:08 +02:00
TejaswiKarasani
899f6e63ad
No issue: verify ETP toolbar shield icon is not displayed if ETP is OFF globally in ETP UI tests ( #12623 )
2020-07-21 09:33:06 -04:00
Oana Horvath
6ab6f3efe9
Fix UI tests from #12752 #12637 #12764 ( #12779 )
...
* For #12752 & #12764 : Fixes tabs tray behavior in UI tests
* For #12637 : fixes goBackTest
2020-07-21 08:49:24 -04:00
Tiger Oakes
e809df0858
Pass settings and metrics to CFR
2020-07-21 09:01:09 +03:00
mozilla-l10n-automation-bot
80b3b2dd82
Import l10n. ( #12766 )
2020-07-20 18:26:00 -07:00
Richard Pappalardo
41c256e474
Fixes #12752 , #12764 - Temp disable openHistoryInNewTabTest intermittent UI test failures ( #12754 )
...
* Fixes #12752 - Temp disable intermittent failing test
2020-07-20 18:09:01 -07:00
Kainalu Hagiwara
02a929a926
No issue - Suppress new warnings from detekt update
2020-07-20 17:01:50 -07:00
Sawyer Blatz
284ec7b58f
For #12461 : Add tab count to tab tray
2020-07-20 19:16:47 -04:00
Tiger Oakes
f73411b924
For #5499 - Unify CFR drawables and dimens ( #12749 )
2020-07-20 16:00:57 -07:00
Hakkı Kaan Çalışkan
aeabd3e91b
For #12532 : Quick fix for radio button alignment ( #12691 )
2020-07-20 15:33:32 -07:00