CrOS FilesApp: Crostini UMAs

Added 3 FilesApp Crostini UMAs.

1/ Updated FileBrowser.MenuItemSelected to add 'Share with Linux'

2/ FileBrowser.CrostiniShareDialog reports either:
 * None - no dialog shown when using crostini app to open file.
   This indicates that the path is already shared.
 * Share before open - the share before open dialog is shown
 * Unable to open - shown when multiple files from different
   unshared directories are opened.

In order to implement this UMA correctly, the call to
maybeShowCrostiniShareDialog_ has been moved outside of
executeInternal_ so that these functions no longer call each
other recursively.

3/ FileBrowser.CrostiniSharedPaths.Depth.[downloads|drive|other]
tracks the depth from volume root of each path shared with crostini.
This is equivalent to how many '/' are in the path.  E.g. 'Downloads'
or 'My Drive' has depth 0.  'Downloads/foo/bar' has depth 2.

Currently dedicated histograms are created to track downloads and drive
with all other volumes captured together.  Dedicated histograms
can be created in the future for other volume types.

Bug: 878324
Change-Id: I0feb6d2652cce023d33aad254726068ad8da7e32
Reviewed-by: Luciano Pacheco <>
Reviewed-by: Ilya Sherman <>
Commit-Queue: Joel Hockey <>
Cr-Commit-Position: refs/heads/master@{#598631}
9 files changed