This will permit us to plug in other HomeScreen implementations as needed.
MozReview-Commit-ID: Dvmyk1sdBT6
--HG--
extra : rebase_source : bf8acdf84e35f9b2dbeaa2445121c1cfa6d974e4
This is to help keep the terminology more clear: this container will allow displaying any of our
home screen implementations, and not just the HomePager.
MozReview-Commit-ID: 4kqNipgvQ5I
--HG--
extra : rebase_source : 831090edf10be23baf358d778934e73534b720f2
GET_SERVICES is already implicit in this method name. Using lint running against
sdk 24 we get a warning that GET_SERVICES isn't a permitted flag. (Previous sdks
didn't yet contain a list of allowable flags.)
MozReview-Commit-ID: LINassWOTfc
--HG--
extra : rebase_source : f3e654849fff8a1bd0e10566e5382991d47cefb4
extra : histedit_source : 1c3545c90e4351147fe2da072814c2c6b53f19d9
We're still building with the 23 sdk, but lint is now giving us errors based
on the 24 sdk. We therefore need to explicitly suppress the error (even though
in reality we don't want to suppress the error so that we don't miss adding the
@Override annotation when we switch to 24).
MozReview-Commit-ID: 3RqLMhiyAFh
--HG--
extra : rebase_source : 0d298d5f1245286f5946d544422b87e6a51c04ed
extra : histedit_source : 3e5e2dfb28cf9a55c006803a8df68a7942381a54
We want to be able to detect when we've opened a reader view item. Note: this is
independent of whether or not we're in the Reading List smartfolder: it's possible
to open reader view bookmarks from any real bookmark folder, or the smartfolder.
MozReview-Commit-ID: KhqclodWSji
--HG--
extra : amend_source : 96460a430de900920dc2858dc171544657771abb
That way, the section headers (e.g. "Today", "Yesterday", "Last 7 days" etc.) blend better with the following item.
The correct hiding of the divider depends on the view type reported for the respective RecylerView child items. Because the view type is stored a simple number, this means that any other RecylerView wanting to use this divider decoration implementation must use the same item types as the history panel in order to remain compatible, otherwise the divider could be unexpectedly hidden. Therefore, we rename the DividerItemDecoration to underline its intended usage scope.
MozReview-Commit-ID: 8JUS6ke3RBL
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/widget/DividerItemDecoration.java => mobile/android/base/java/org/mozilla/gecko/widget/HistoryDividerItemDecoration.java
extra : transplant_source : %E8%B7%8E%9F%C9%E5%CCmX%22r%D7%D2%8A%DF%2A%D0%83%9Bw
Just watching for a SessionRestoreException during startup can introduce some false positives, because that exception is triggered in any case where we can't restore tabs, not just when the session file has been damaged, e.g.:
- on first startup
- on builds affected by bug 1228593, users who are (theoretically) restoring their tabs, but clearing their history on exist end up with a deleted sessionstore.js
- should we implement bug 1275662, we'd hit that exception in that case, too.
Therefore we only send the telemetry event if we hit that exception even though a sessionstore.js file is present. We also exclude the case where the file size of sessionstore.js is 14 bytes, because that is most likely corresponding to a file containing only {"windows":[]}, which means that the session store intentionally wanted to write a file containing no tabs.
Currently this is only the case for users who are clearing their history on exit and are also *not* restoring tabs, however if bug 1275662 should get implemented, we'd probably encounter those empty files for users who have their restore setting set to "Always restore", too.
Because of bug 1261008, we can also end up with no restored tabs (and a SessionRestoreException) if the session file contains only about:home tabs with no history, because we're skipping those and not restoring them. To detect that case and exclude it from telemetry, we have to include additional logic within the SessionParser instance used during startup and pass those results back to the calling site in GeckoApp.
MozReview-Commit-ID: 6pAhDU3d8QA
--HG--
extra : rebase_source : ebf4d902a616c17ba10c645ad8ef469ceafe8cce