The reason we created the "generation" concept was as a replacement
for DATE_ADDED and DATE_MODIFIED, and we realized there is a use-case
for having both values, so this change splits our previous work into
GENERATION_ADDED and GENERATION_MODIFIED to match the other names.
Bug: 147666253, 140248585, 142698119
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: I09cc3f52946e91fa3e9aaa14b9fd6309f32712c4
Use full volume has been renamed to override DnD and
the toggle is now only available for certain countries. We
intended not to provide the ability to migrate this shared
preference as it might cause issue for users who already
changed the preference. After mainline migration, override
DnD should be always reset to default value of that country.
Test: Manual
Bug: 147426188
Merged-In: I5746fe32674131b474e784bd5dd62ecff76386d5
Change-Id: I5746fe32674131b474e784bd5dd62ecff76386d5
(cherry picked from commit bcbe46816c)
Defined systemAPI for interaction with legacy cellbroadcast app
Bug: 135956699
Test: Tested with cell broadcast receiver test app and confirmed data can be migrated.
Merged-In: I6e583672a3673fd226e14d33d7a7648f4fd03efb
Change-Id: I6e583672a3673fd226e14d33d7a7648f4fd03efb
(cherry picked from commit ad2f91fc6d)
Now that BiometricPrompt supports primary auth via device credential,
we want the high-level type of authentication used to be available to a
developer via the AuthenticationResult in onAuthenticationSucceeded.
Rather than include information about the strength of the biometric
sensor by reusing the existing Authenticators.Types constants, this
commit adds new integer constants that provide similar information but
at a lower level of granularity (device credential vs. biometric).
Test: atest com.android.server.biometrics
Test: atest com.android.systemui.biometrics
Test: Manually inspect new AuthenticationResult object on Pixel 3/4
Bug: 80525177
Bug: 141025588
Change-Id: Ic09ffdff995afe374f11721e6e777632de9ae867
The API is useful for NetworkFactories to select requests based on
capabilities.
This mirrors NetworkCapabilities#satisfiedByNetworkCapabilities
Test: m
Bug: 138306002
Change-Id: I1d4a928256951397cabde5c352a872fd48d85859
This CL adds API to get/set volume control ID for a session.
Volume control ID is set by volume providers (e.g. MediaRouter)
to notify which volume provider is used by the session
to other apps such as System UI, Settings.
Bug: 147528363
Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest
Change-Id: I9ecafeca8b5090b4c8a89029d1e6411fd48919cb
Add generation numbers to the metadata for each media item. This is
useful for apps that are attempting to quickly identify exactly
which media items have changed since a previous point in
time. Generation numbers are monotonically increasing over time, and
can be safely arithmetically compared.
Detecting media changes using generation numbers is more robust than
using DATE_MODIFIED, since those values may change in unexpected
ways when apps use File.setLastModified() or when the system clock
is set incorrectly.
This is implemented by ensuring that all mutations to go through
our local SQLiteQueryBuilder, which then forces those mutations to
always happen inside an active transaction. Then each time we
create a transaction, we increment the generation counter, and
force-copy the current generation into any mutation operations.
This design also means that all mutations that should affect the
generation counter must go through DatabaseHelper to ensure that
the logic above is applied; there's mechanical refactoring across
MediaProvider to accomplish this.
Fix bug in getWritableDatabase() that could return a readable
database. Fix bug in LegacyMediaProvider to create missing
directories. Adjust logging script to enable log cleaner SQL from
SQLQueryBuilder instead of noisy raw logs.
Bug: 140248585
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: If87f586e2340688ea1716682de20ee40c0d2b953