This allows us to exclude in-progress downloads from copy.
Will update Downloads in a followup CL to flag active downloads.
Bug: 27526321
Change-Id: I50d1db5cfb69bc6b47e10cc0f520a51e3d3cb43e
Fixes a crash that happens when you turn of the screen
while moving the finger. Some touches still come in even
when the screen went to sleep. No need to get upset over
those.
Bug: 27595423
Change-Id: If75ae3b6c2c83a87f38daaf8777f89d8c74a9cd1
When an app request access to a scoped directory which the user already
denied access, it will display a "Do not ask again" checkbox; if the
user checks that option, further requests will be automatically
rejected.
The history of denials is stored in the shared property file.
The UI is not polished yet, the style will be fixed in a future change.
BUG: 26750152
Change-Id: I181923adfb6a1c7c1c17e305d6838314280417fc
This CL prevents allocating new strings just due to the prefix,
which also simplifies the code.
Bug: 27286016
Change-Id: I3d0ea9e4ede68814c78404bd9ac820b8900851f5
Previously we assume the home root exists always, but while migrating
internal storage, the home root is temporary removed from Android. Since
we open donwnloads root by default now, the CL lets Files app move to
the downloads directory instead of home root when the current directory
is removed.
BUG=27570929
Change-Id: I89efb1ae32ba8ae7269b3242035d5b67114fcb54
Previously if DocumentsProvider found timeout when terminatnig
RootScanner's background thread, it just output it in error log. Thus
the timeout is not regarded as an error in MtpDocumentsProviderTest, and
it makes flaky PipeManagerTest which runs just after
MtpDocumentsProviderTest.
The CL
* lets MtpDocumentsProvider throw TimeoutException for timeout.
* removes redundant resumeRootScanner calls to avoid timeout of
RootScanner#pause.
Also the CL did cleanup the logic that pauses RootScanner when we don't
find any devices. Previously the logic was in
MtpDocumentsProvider#closeInternal but it is not efficient because we
invokes RootScanner#resume just after
MtpDocumentsProvider#closeInternal. Now the CL moves the logic to
RootScanner so that it can pause itself automatically.
BUG=27638500
Change-Id: Ic11bca67c099cbb0f46679db2f035988045d67d6
Hides the wallpaper when it's not needed and fixes
the unlock animation to not unnecessairly show the
wallpaper if neither the Keyguard nor the underlying
app need it.
Also fixes a bug where the enter animation had a background
set, which led to uglyness when no wallpaper is involved.
Bug: 27533740
Change-Id: I667c6f7ca6c0e1ff7e9f793c6ddc13f6da8387b1
We check the value of disabledByAdmin state in setEnabled, so update it
first before calling setEnabled.
Bug: 27642236
Change-Id: Ie6c805b85a3afb87ffdaad0b80dbadc172b62d49
The listener only needs to be added to one of the translating views
but was added to all of them, this CL changes it to add to the
listener to the first view.
This CL also handles cancelling the animation.
Change-Id: Ifda0f7f04bae1608250e9d2f008b4f21c1745bc6
There are a handful of core system services that collect data from
third-party ContentProviders by spinning them up and then caching the
results locally in memory. However, if those apps are killed due to
low-memory pressure, they lose that cached data and have to collect
it again from scratch. It's impossible for those apps to maintain a
correct cache when not running, since they'll miss out on Uri change
notifications.
To work around this, this change introducing a narrowly-scoped
caching mechanism that maps from Uris to Bundles. The cache is
isolated per-user and per-calling-package, and internally it's
optimized to keep the Uri notification flow as fast as possible.
Each Bundle is invalidated whenever a notification event for a Uri
key is sent, or when the package hosting the provider is changed.
This change also wires up DocumentsUI to use this new mechanism,
which improves cold-start performance from 3300ms to 1800ms. The
more DocumentsProviders a system has, the more pronounced this
benefit is. Use BOOT_COMPLETED to build the cache at boot.
Add more permission docs, send a missing extra in DATA_CLEARED
broadcast.
Bug: 18406595
Change-Id: If3eae14bb3c69a8b83a65f530e081efc3b34d4bc
File extensions contain more information to determine mime type than MTP
format codes. The CL lets MtpDocumentsProvider return mime type from
file extensions if it's not inconsitent with format code.
BUG=27004954
Change-Id: I08a4a91235b1d3f48e77b70b28c8c5aedf8d601d
Second attempt. Still need to add strict mode violation checks and
logging.
Bug: 21901286
This reverts commit bf33bd4d31cfec895c96990525b0cb856407c8d6.
Change-Id: I5d73343544c32ce4fc4c377ba44db8e677a1287d
This reverts commit 88eca2aa0e707c06731fc273af4e6181ad743c3c.
It additionally fixes an issue with notification scrolling after gear is displayed
by indicating that the user is no longer swiping by calling onDragCancelled
Change-Id: Ieba0cea35bba9c383d8b5fdca08cb5ff083666c3
This guarantees the retry/delete support in the downloads
trampoline can do its thing.
Allow APKs not in downloads to go directly to pakcage
manager via VIEW intent.
Add test coverage for retry dialog.
Bug: 27539337
Change-Id: I75c5db8915e24a7648c7990136d39ed86d407637