summaryrefslogtreecommitdiff
path: root/apex
AgeCommit message (Collapse)Author
2025-09-18[SP 2025-09-01] Move markMediaAsFavorite's logic from MediaStore to ↵ darshilshah
MediaProvider The content values retrieved from extras in the MediaProvider can have values preset by the calling app and can affect other fields set. Instead of retrieving the content values, we only retrieve a boolean field that says whether the is_favorite is to be set to true or false. All processing logic is shifted to MediaProvider. Bug: 417194323 Test: EXEMPT Bugfix Flag: EXEMPT Bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:17ebbe43efe36a7c00d3941513d5caf2db91f628) Merged-In: I0227139b0a04efcb7456557fbf2d47996c017bad Change-Id: I0227139b0a04efcb7456557fbf2d47996c017bad
2025-03-17Merge "[MediaProvider] Exclude unreliable storage from ↵ Riya Ghai
MediaStore.getExternalVolumeNames()." into main
2025-03-13Add API to bulk update oem_metadata Dipankar Bhardwaj
Created new API to bulk update oem_metadata. This can be done only with UPDATE_OEM_METADATA_PERMISSION which is signature and privileged. Triggering bulk update of oem_metadata column will mark it as null for rows with oem supported mime type till the next idle maintenance run re-fetches the values from OEMMetadataService. Also added support for OEM_METADATA update for a URI using update API. Test: atest OemMetadataServiceTest Bug: 352528913 Change-Id: If2ee9050304ab1f60ca402bf4205a34b58277e76 Flag: com.android.providers.media.flags.enable_oem_metadata_update
2025-03-12[MediaProvider] Exclude unreliable storage from “riyaghai”
MediaStore.getExternalVolumeNames(). Test: MediaProviderChangeIdTest Bug: 391360514 Flag: com.android.providers.media.flags.exclude_unreliable_volumes Change-Id: I137bd91ce8452754a32c6f048e6e24f191643ebe
2025-02-21Merge "Revert "[MediaProvider] Exclude unreliable storage from"" into main Riya Ghai
2025-02-20Revert "[MediaProvider] Exclude unreliable storage from" Riya Ghai
This reverts commit 804ffda5c53b853ef6b1d7297f8d4a0bf5354458. Reason for revert: gantry rollout caused breakages Change-Id: I8e118197c0dd8d3280d0af6500607d481979d7f5
2025-02-18Merge "Use fixed thread pool for calls to OemMetadataService" into main Dipankar Bhardwaj
2025-02-18Use fixed thread pool for calls to OemMetadataService Dipankar Bhardwaj
Instead of creating a new thread everytime we want to fetch OEM metadata, updating code to use a fixed thread pool of 3 threads. We do not expect lot of concurrent requests to this as scanner code is currently serialised, hence keeping thread pool size low. Also guarded oem metadata connection code with try-catch to avoid onCreate() crash. Test: atest OemMetadataServiceTest Bug: 377432406 Change-Id: I70a0b6ca6ae43f7ba7ab086103365cc16b3497fa Flag: EXEMPT minor fix
2025-02-17[MediaProvider] Exclude unreliable storage from “riyaghai”
MediaStore.getExternalVolumeNames(). Test: MediaProviderChangeIdTest Bug: 391360514 Flag: com.android.providers.media.flags.exclude_unreliable_volumes Change-Id: I3fc6c71b6466ca195f77daf63764a3b3c9a3fc9c
2025-01-31Revert "Add @Suppress("NewApi") annotation for new APIs" Dipankar Bhardwaj
This reverts commit 43ae6ab764cdd24e50524a12fc402e4788ec0fb9. Reason for revert: Mainline build failures due to API level change on aml-frc-release got fixed with ag/31505995 Change-Id: Idca225d82e2b83d3fefa5ee7c44109a204ddfab8
2025-01-29Add @Suppress("NewApi") annotation for new APIs Dipankar Bhardwaj
Test: n/a Bug: 393133909 Flag: EXEMPT lint fix Change-Id: I644143010ddc8ae5c76895430a7eea1f0147236f
2025-01-28Limit number of uris sent to a Bulk API Garvita Jain
Limit the number of uris sent to create(Delete/Write)Request bulk apis at 2000 BUG: 203408344 Test: atest StorageOtherFilesTest Flag: EXEMPT bugfix Change-Id: I8b94cd469d3f9ed83d0b6a4a113095156a8a3d78
2025-01-07Merge "Use readonly version of aconfig flag for text and stamp anotations" ↵ Aurimas Liutikas
into main
2025-01-06Use readonly version of aconfig flag for text and stamp anotations Gulshan Singh
Bug: 387223321 Test: Built Manually Flag: EXEMPT bugfix This has the same root cause as b/368409430. Use the readonly version of aconfig flag, so there will be no I/O involved in Isolated Processes which do not have permission for I/O. Change-Id: I5c61acde32364320c97d210bed69b048e306df90
2025-01-02Merge "Update the search suggestions timeout temporarily to unblock testing" ↵ Shubhi Saxena
into main
2025-01-02Merge "Get search global state and local state from Media Provider" into main Shubhi Saxena
2024-12-27Allow users to revoke app access to its created photos/vidoes. darshilshah
Started showing photos/videos that are owned by the app as preselected. Also, allowed the users to revoke app access to its created photos/videos in picker choice. All of this will be only happening for apps having targetSDK >= B Bug: 326579923 Test: com.android.providers.media.photopicker.v2.PickerDataLayerV2Test#testPreGrantsForOwnedPhotos Test: com.android.providers.media.photopicker.v2.PickerDataLayerV2Test#testPreGrantedCountForOwnedPhotos Test: com.android.providers.media.photopicker.v2.PickerDataLayerV2Test#testPreviewForOwnedPhotos Flag: com.android.providers.media.flags.revoke_access_owned_photos Change-Id: I976fc271113887dd59005754d8728d236be0f4fe
2024-12-24Update the search suggestions timeout temporarily to unblock testing Shubhi
Bug: 381819838 Test: Manual Flag: com.android.providers.media.flags.enable_photopicker_search Change-Id: Idd362838e3b203af83bbb6e171e14650674fc3c5
2024-12-23Get search global state and local state from Media Provider Shubhi
* Implement PrefetchDataService to get global search state from Media Provider across all available users. When search is enabled in any of the profiles, the search bar should be displayed. * Implement SearchDataService.userSearchStateInfo that gets search info from MediaProvider. * Additional provide the ability to determine if local search is enabled or cloud or both. Bug: 381819838 Test: atest PrefetchDataServiceImplTest Flag: com.android.providers.media.flags.enable_photopicker_search Change-Id: I2500d965958e9840ac689f0699e34c07f1e131b3
2024-12-11Merge "Implement search suggestions API in SearchDataService" into main Treehugger Robot
2024-12-11Implement search suggestions API in SearchDataService Shubhi
* Fetch search suggestions in a background thread with a timeout from Picker backend. Bug: 381820020 Test: pending Flag: com.android.providers.media.flags.enable_photopicker_search Change-Id: I4bc2a50dcdd2882ae168546094ba563ceb0f0268
2024-12-10Schedule media in media sets worker. Ishneet Ahuja
- Expose an API to trigger the sync - Add checks to ensure that the sync is possible Bug: 381821674 Test: atest PickerSyncManagerTest atest PickerDataLayerV2Test Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: Id571ea00857b843b9ef8bf8fcb64ff0a22ac31e9
2024-12-09Merge "Update documentations of ACTION_PICK_IMAGES and ↵ Treehugger Robot
EXTRA_MEDIA_CAPABILITIES" into main
2024-12-05Public APIs to support adding/removing annotations in AOSP Riya Thakur
We are creating new page level APIs to support adding and removing annotations from a pdf document. We will be currently supporting three types of annotations - FreeText, Highlight, and Stamp. This Cl contains the new page level APIs that we will be supporting, corresponding processing layer changes and the model classes for freeText and highlight annotations. API-Coverage-Bug: 382254176 Flag: android.graphics.pdf.flags.enable_edit_pdf_annotations Flag: android.graphics.pdf.flags.enable_edit_pdf_text_annotations Bug: 379008084 Test: Build the code Change-Id: Icba5db705c2d1f58ee8db964f6bb4e44145e7251
2024-12-03Schedule media sets sync worker based on checks of the given provider's Ishneet Ahuja
authority. Expose a hidden API to trigger the same Bug: 381507548 Test: atest PickerDataLayerv2Test, atest PickerSyncControllerTest, atest PickerSyncManagerTest Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: Iad5961257973e4abb6d8710cd8b04b5b4c7fbb26
2024-11-22Merge "Rename MediaCollections capability to MediaCategories for ↵ Shubhi Saxena
consistency" into main
2024-11-22Rename MediaCollections capability to MediaCategories for consistency Shubhi
Bug: 380403691 Test: Build Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: I31fe52b1bf21677f3cf5f52c5fdf1b1bba8df899
2024-11-21Clean up SearchSuggestionType class and use CloudMediaProviderContract Shubhi
Instead of creating a custom SearchSuggestionType class, resue the suggestion defined in CloudMediaProviderContract Bug: 374920933 Test: atest SearchSuggestionsProviderTest Test: atest SearchRequestDatabaseUtilTest Test: atest SearchSuggestionsDatabaseUtilTest Flag: com.android.providers.media.flags.enable_photopicker_search Change-Id: Ifbe712212bef4fce09bacbb86d0cfbb88e478d2c
2024-11-21Change integer constants to strings in Search APIs Shubhi
Bug: 376551109 Test: Build Test: PickerSearchProviderClientTest.java Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: I298c0ccb49479463d9b9f75f32d880e962ee4d6f
2024-11-15Expose Picker internal APIs for search feature Shubhi
* Expose an API to return search results to the UI * Expose an API to create a new search request and start search results sync with providers Bug: 374920933 Test: atest PickerDataLayerV2Test Test: atest SearchStateTest Test: atest PickerSyncManagerTest Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: Ib66d603325344db26a50aa61fee506856a7c85b0
2024-11-13Create new flag for favorites API darshilshah
Bug: 294364218 Test: NA Flag: com.android.providers.media.flags.enable_mark_is_favorite_status_api Change-Id: Ie9697ff023906106ecb155241ea1a2ac0d66a5bc
2024-11-06Address API Council feedback for Photopicker Search APIs Shubhi
Bug: 376551109 Bug: 358309179 Test: Build Test: PickerSearchProviderClientTest.java Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: I984fe9e6e7c91b90d6eed5527729dfbe7eb244a9
2024-11-04Merge "Mark media as favorite API" into main Darshil Shah
2024-11-04Mark media as favorite API Darshil Shah
Expose new API to allow apps with READ_EXTERNAL_STROAGE/READ_MEDIA_IMAGES/ READ_MEDIA_VIDEOS to update is_favorite column using this new API. Is_favorite is not a critical column and updates on its gallery apps should be allowed for a better user experience. Bug: 294364218 Test: android.provider.cts.media.MediaStoreTest#testMarkMediaAsFavorite Flag: com.android.providers.media.flags.enable_mark_media_as_favorite_api Change-Id: Ia526cc4f7545268283e69510a1b240eeca18c06c
2024-11-03Add SearchState class that tracks the search feature state Shubhi
Test: atest SearchStateTest Bug: 376421713 Change-Id: I83187c6cca258f1c409a2e5a09b62f222c7528fc Flag: com.android.providers.media.flags.cloud_media_provider_search
2024-10-30Add tests for search results sync worker Shubhi
Bug: 361042632 Test: atest SearchResultsSyncWorkerTest Test: atest SearchRequestDatabaseUtilTest Flag: com.android.providers.media.flags.enable_photopicker_search Change-Id: I8365803f0a3d676d70761d567c45acc0e23cebf5
2024-10-25Update documentations of ACTION_PICK_IMAGES and EXTRA_MEDIA_CAPABILITIES Ming-Da Tsai
Update documentations of MediaStore to mention that EXTRA_MEDIA_CAPABILITIES can be used with ACTION_PICK_IMAGES to trigger transcoding. For details see: go/photopicker-hdr-video-transcoding. Test: manual Bug: 365461942 Flag: com.android.providers.media.flags.enable_photopicker_transcoding Change-Id: I53e69c610d8776021a3ecf20b9cfd9629aaf0ff3
2024-10-24Add new Motion Photo intents Austin Borger
Android 16 will support launching the native camera app via an intent to return a motion photo. These new intents function similarly to the ACTION_IMAGE_CAPTURE intents, but will not return a Bitmap in the case of an absent uri. Test: N/A Bug: 362580165 Flag: com.android.providers.media.flags.motion_photo_intent Change-Id: Ib1188a80e7db07210243bbad53d26f19129eebc7
2024-10-24Add CloudMediaProviderContract.Capabilities APIs and ↵ Tyler Saunders
MEDIA_CATEGORY_TYPE_USER_ALBUMS. Introduce the getCapabilities API in CloudMediaProvider to allow the system to determine which optional APIs are available for a provider. By default, the CloudMediaProvider will return the base implementation set of features and newly added features will be optional off-by-default forcing new implementations to declare their support for a capability by overriding getCapabilities and explicitly enabling support. Introduce MEDIA_CATEGORY_TYPE_USER_ALBUMS for allowing CloudMediaProvider to provide albums as a MediaCategory rather than via onQueryAlbums. This API will be unhidden at a future date. Bug: b/316356081 Test: atest MediaProviderTests:CloudMediaProviderTest Flag: com.android.providers.media.flags.enable_cloud_media_provider_capabilities Change-Id: I2af93a72e7e03b64018b381bdb41b2fc00f3ecd1
2024-10-23Merge "Implement the transcoding flow of Photopicker Transcoding" into main Treehugger Robot
2024-10-22Add MIME_TYPE filters in Search APIs documentation Shubhi
Add MIME_TYPES filter in the documentation for cloud picker's search APIs. This will indicate to the CMP that a certain mime type filter has been applied to a PhotoPicker session and the results should not contain media items of the given mime type. Also update the documentation of onQueryAlbums which is an existing API that we send MIME type filters to, however the documentation did not reflect this. Bug: 374927525 Test: NA Flag: com.android.providers.media.flags.cloud_media_provider_search Change-Id: I949e546bf2d3835a8f1ecd29307228caccf10e7c
2024-10-21Implement the transcoding flow of Photopicker Transcoding Ming-Da Tsai
Implement the transcoding flow using Media3 library. The transcoding can be trigger by PhotoPicker through the ContentResolver#call() method. The transcoding related logic is grouped in the PhotoPickerTranscodeHelper helper class, for readability. For details see: go/photopicker-hdr-video-transcoding. Test: manual test & PhotoPickerTranscodeHelper Bug: 365461942 Flag: com.android.providers.media.flags.enable_photopicker_transcoding Change-Id: Ie19de707f92df9e1146a87a4e63d2bebe11a0f56
2024-10-07Merge "Add missing Javadoc dependency to `framework-mediaprovider`" into ↵ Treehugger Robot
main am: 812f6915ee am: 02c9bd5fc8 Original change: https://android-review.googlesource.com/c/platform/packages/providers/MediaProvider/+/3296232 Change-Id: I44942feff0f91fdfda294b7e8c8326efde1c8581 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-07Add missing Javadoc dependency to `framework-mediaprovider` Paul Duffin
The `MediaStore.java` file imports `android.media.ApplicationMediaCapabilities` and references it from the Javadoc of some of `EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT` field. Strictly speaking, that class should have been imported in the stubs to ensure that the references in the Javadoc could be correctly resolved. However, due to some inaccurate handling of imports in Metalava the import was not added to the stubs. The handling of imports in Metalava will be improved and so the class will be correctly imported. However, that would lead to a compile time failure because `ApplicationMediaCapabilities` is not on the classpath when compiling the stubs. This change avoids that by adding the missing dependency in preparation for the Metalava changes. Bug: 371955471 Test: m droid tools/metalava/scripts/gather-android-metalava-artifacts.py before tools/metalava/scripts/gather-android-metalava-artifacts.py after meld before after Change-Id: I00b967ae1d015a39c9a7a0b073786ced291784fb
2024-10-04Search and Derived Collection Apis for CloudMediaProvider. Ashish Kumar
docs: go/cloud-search-apis , go/search-photopicker Test: Build Bug: b/316356081 Test: PickerSearchProviderClientTest.java Flag: com.android.providers.media.flags.cloud_media_provider_search API-Coverage-Bug: 358845745 Change-Id: I95a85eb432599ee299f0c335fd085cd8cabf13e4
2024-09-11Add new framework-photopicker inside MediaProvider module Ankita Vyas
Bug: 359548801 Test: presubmit and m framework-photopicker Change-Id: I04c2e40dd32dd12df853fed4eb9aee29d3325019 Merged-In: I04c2e40dd32dd12df853fed4eb9aee29d3325019
2024-09-09Merge "[PhotoPicker] Modify documentation for ↵ Riya Ghai
EXTRA_PICKER_PRE_SELECTION_URIS." into main
2024-09-09[PhotoPicker] Modify documentation for EXTRA_PICKER_PRE_SELECTION_URIS. “riyaghai”
Test: n/a Bug: 358618872 Flag: EXEMPT, documentation modification Change-Id: I62dfa4e960e26f155d6ea17660503db3b5afc78b
2024-09-04Merge "Move Embedded APIs to new Package" into main Ahmed Ibrahim
2024-09-03Move Embedded APIs to new Package Ahmed Ibrahim
Move Embedded PhotoPicker APIs to newly created package. Rename onItemSelect/Deselect to onUriPermissionGranted/Revoked Flag: com.android.providers.media.flags.enable_embedded_photopicker Test: atest EmbeddedPhotoPickerTest Bug: 359548801, 360931163 Change-Id: I1bc61d6afe160cca6119abf17f273c4496f2d5a8