Merge "Refactor PickerSyncController methods" into sc-mainline-prod
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 550ad2c..7c97208 100644
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -5917,7 +5917,7 @@
// Syncing the picker while waiting for idle fixes tests with the picker db
// flag enabled because the picker db is in a consistent state with the external
// db after the sync
- syncPicker();
+ syncAllMedia();
ForegroundThread.waitForIdle();
final CountDownLatch latch = new CountDownLatch(1);
BackgroundThread.getExecutor().execute(() -> {
@@ -6116,7 +6116,7 @@
// fall through
}
case MediaStore.SYNC_PROVIDERS_CALL: {
- syncPicker();
+ syncAllMedia();
return new Bundle();
}
case MediaStore.GET_CLOUD_PROVIDER_CALL: {
@@ -6145,14 +6145,14 @@
}
}
- private void syncPicker() {
+ private void syncAllMedia() {
// Clear the binder calling identity so that we can sync the unexported
// local_provider while running as MediaProvider
final long t = Binder.clearCallingIdentity();
try {
// TODO(b/190713331): Remove after initial development
Log.v(TAG, "Developer initiated provider sync");
- mPickerSyncController.syncPicker();
+ mPickerSyncController.syncAllMedia();
} finally {
Binder.restoreCallingIdentity(t);
}
diff --git a/src/com/android/providers/media/fuse/ExternalStorageServiceImpl.java b/src/com/android/providers/media/fuse/ExternalStorageServiceImpl.java
index a6781e2..95139c3 100644
--- a/src/com/android/providers/media/fuse/ExternalStorageServiceImpl.java
+++ b/src/com/android/providers/media/fuse/ExternalStorageServiceImpl.java
@@ -94,7 +94,7 @@
mediaProvider.attachVolume(volume, /* validate */ false);
MediaService.queueVolumeScan(mediaProvider.getContext(), volume, REASON_MOUNTED);
BackgroundThread.getExecutor().execute(() ->
- mediaProvider.getPickerSyncController().syncPicker());
+ mediaProvider.getPickerSyncController().syncAllMedia());
break;
case Environment.MEDIA_UNMOUNTED:
case Environment.MEDIA_EJECTING:
diff --git a/src/com/android/providers/media/photopicker/PickerSyncController.java b/src/com/android/providers/media/photopicker/PickerSyncController.java
index 4fa6cbf..f6a6f28 100644
--- a/src/com/android/providers/media/photopicker/PickerSyncController.java
+++ b/src/com/android/providers/media/photopicker/PickerSyncController.java
@@ -127,7 +127,7 @@
/**
* Syncs the local and currently enabled cloud {@link CloudMediaProvider} instances
*/
- public void syncPicker() {
+ public void syncAllMedia() {
if (!PickerDbFacade.isPickerDbEnabled()) {
return;
}
@@ -266,8 +266,8 @@
* notifications.
*/
public void notifyMediaEvent() {
- BackgroundThread.getHandler().removeCallbacks(this::syncPicker);
- BackgroundThread.getHandler().postDelayed(this::syncPicker, mSyncDelayMs);
+ BackgroundThread.getHandler().removeCallbacks(this::syncAllMedia);
+ BackgroundThread.getHandler().postDelayed(this::syncAllMedia, mSyncDelayMs);
}
// TODO(b/190713331): Check extra_pages and extra_honored_args
diff --git a/tests/src/com/android/providers/media/photopicker/PickerDataLayerTest.java b/tests/src/com/android/providers/media/photopicker/PickerDataLayerTest.java
index d466a11..9b9fff1 100644
--- a/tests/src/com/android/providers/media/photopicker/PickerDataLayerTest.java
+++ b/tests/src/com/android/providers/media/photopicker/PickerDataLayerTest.java
@@ -142,7 +142,7 @@
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
addMedia(mCloudPrimaryMediaGenerator, CLOUD_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(buildDefaultQueryArgs())) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -167,7 +167,7 @@
final Bundle defaultQueryArgs = buildDefaultQueryArgs();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(defaultQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(4);
}
@@ -199,7 +199,7 @@
final Bundle defaultQueryArgs = buildDefaultQueryArgs();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(defaultQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(4);
}
@@ -230,7 +230,7 @@
final Bundle defaultQueryArgs = buildDefaultQueryArgs();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(defaultQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(4);
}
@@ -261,7 +261,7 @@
final Bundle defaultQueryArgs = buildDefaultQueryArgs();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(defaultQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(4);
}
@@ -285,7 +285,7 @@
final Bundle queryArgs = buildQueryArgs(IMAGE_MIME_TYPE, SIZE_BYTES_DEFAULT);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(queryArgs)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -305,7 +305,7 @@
final Bundle queryArgs = buildQueryArgs(IMAGE_MIME_TYPE, SIZE_BYTES - 1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(queryArgs)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -328,7 +328,7 @@
final Bundle queryArgs = buildQueryArgs(VIDEO_MIME_TYPE, SIZE_BYTES - 1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchMedia(queryArgs)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -354,7 +354,7 @@
final Bundle defaultQueryArgs = buildDefaultQueryArgs();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchAlbums(defaultQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(3);
@@ -419,7 +419,7 @@
final Bundle mimeTypeQueryArgs = buildQueryArgs(IMAGE_MIME_TYPE, SIZE_BYTES_DEFAULT);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchAlbums(mimeTypeQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -466,7 +466,7 @@
final Bundle sizeQueryArgs = buildQueryArgs(MIME_TYPE_DEFAULT, SIZE_BYTES - 1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchAlbums(sizeQueryArgs)) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -516,7 +516,7 @@
final Bundle cloudAlbumAndMimeTypeQueryArgs = buildQueryArgs(ALBUM_ID_2,
ALBUM_COLUMN_TYPE_CLOUD, VIDEO_MIME_TYPE, SIZE_BYTES - 1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = mDataLayer.fetchAlbums(mimeTypeAndSizeQueryArgs)) {
assertWithMessage("Local album count").that(cr.getCount()).isEqualTo(2);
diff --git a/tests/src/com/android/providers/media/photopicker/PickerSyncControllerTest.java b/tests/src/com/android/providers/media/photopicker/PickerSyncControllerTest.java
index 13fa3e7..603f568 100644
--- a/tests/src/com/android/providers/media/photopicker/PickerSyncControllerTest.java
+++ b/tests/src/com/android/providers/media/photopicker/PickerSyncControllerTest.java
@@ -28,7 +28,6 @@
import android.os.Bundle;
import android.os.Process;
import android.os.SystemClock;
-import android.provider.CloudMediaProviderContract.AlbumColumns;
import android.provider.CloudMediaProviderContract.MediaColumns;
import android.provider.MediaStore;
import android.util.Pair;
@@ -136,16 +135,16 @@
}
@Test
- public void testSyncPickerLocalOnly() {
+ public void testSyncAllMediaLocalOnly() {
// 1. Do nothing
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 2. Add local only media
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
addMedia(mLocalMediaGenerator, LOCAL_ONLY_2);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -155,7 +154,7 @@
// 3. Delete one local-only media
deleteMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -165,7 +164,7 @@
// 4. Reset media without version bump
mLocalMediaGenerator.resetAll();
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -175,28 +174,28 @@
// 5. Bump version
mLocalMediaGenerator.setVersion(VERSION_2);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
}
@Test
- public void testSyncPickerCloudOnly() {
+ public void testSyncAllMediaCloudOnly() {
// 1. Add media before setting primary cloud provider
addMedia(mCloudPrimaryMediaGenerator, CLOUD_ONLY_1);
addMedia(mCloudPrimaryMediaGenerator, CLOUD_ONLY_2);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 2. Set secondary cloud provider
mController.setCloudProvider(CLOUD_SECONDARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 3. Set primary cloud provider
mController.setCloudProvider(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -207,12 +206,12 @@
// 4. Set secondary cloud provider again
mController.setCloudProvider(CLOUD_SECONDARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 5. Set primary cloud provider once again
mController.setCloudProvider(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(2);
@@ -222,7 +221,7 @@
// 6. Clear cloud provider
mController.setCloudProvider(/* authority */ null);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
}
@@ -231,13 +230,13 @@
mController.setCloudProvider(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
// 1. Do nothing
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 2. Add cloud-only item
addMedia(mCloudPrimaryMediaGenerator, CLOUD_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -246,12 +245,12 @@
// 3. Set invalid cloud version
mCloudPrimaryMediaGenerator.setVersion(/* version */ null);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
// 4. Set valid cloud version
mCloudPrimaryMediaGenerator.setVersion(VERSION_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -261,7 +260,7 @@
}
@Test
- public void testSyncPickerCloudAndLocal() {
+ public void testSyncAllMediaCloudAndLocal() {
// 1. Do nothing
assertEmptyCursor();
@@ -270,7 +269,7 @@
addMedia(mCloudPrimaryMediaGenerator, CLOUD_AND_LOCAL_1);
mController.setCloudProvider(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -280,7 +279,7 @@
// 3. Delete local-only item
deleteMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -290,7 +289,7 @@
// 4. Re-add local-only item
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -300,7 +299,7 @@
// 5. Delete cloud+local item
deleteMedia(mCloudPrimaryMediaGenerator, CLOUD_AND_LOCAL_1);
- mController.syncPicker();
+ mController.syncAllMedia();
try (Cursor cr = queryMedia()) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -310,7 +309,7 @@
// 6. Delete local-only item
deleteMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- mController.syncPicker();
+ mController.syncAllMedia();
assertEmptyCursor();
}
@@ -330,7 +329,7 @@
// Assert that setting cloud provider clears facade cloud provider
// And after syncing, the latest provider is set on the facade
assertThat(mFacade.getCloudProvider()).isNull();
- mController.syncPicker();
+ mController.syncAllMedia();
assertThat(mFacade.getCloudProvider()).isEqualTo(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
// 3. Can clear cloud provider
@@ -340,7 +339,7 @@
// Assert that setting cloud provider clears facade cloud provider
// And after syncing, the latest provider is set on the facade
assertThat(mFacade.getCloudProvider()).isNull();
- mController.syncPicker();
+ mController.syncAllMedia();
assertThat(mFacade.getCloudProvider()).isNull();
// 4. Can set cloud proivder
@@ -350,7 +349,7 @@
// Assert that setting cloud provider clears facade cloud provider
// And after syncing, the latest provider is set on the facade
assertThat(mFacade.getCloudProvider()).isNull();
- mController.syncPicker();
+ mController.syncAllMedia();
assertThat(mFacade.getCloudProvider()).isEqualTo(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
// Invalid cloud provider is ignored
@@ -360,7 +359,7 @@
// Assert that unsuccessfully setting cloud provider doesn't clear facade cloud provider
// And after syncing, nothing changes
assertThat(mFacade.getCloudProvider()).isEqualTo(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
- mController.syncPicker();
+ mController.syncAllMedia();
assertThat(mFacade.getCloudProvider()).isEqualTo(CLOUD_PRIMARY_PROVIDER_AUTHORITY);
}
@@ -426,7 +425,7 @@
LOCAL_PROVIDER_AUTHORITY, /* syncDelay */ 0);
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- controller.syncPicker();
+ controller.syncAllMedia();
try (Cursor cr = queryMedia(facade)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -449,7 +448,7 @@
assertThat(cr.getCount()).isEqualTo(0);
}
- controller.syncPicker();
+ controller.syncAllMedia();
// Fully synced db
try (Cursor cr = queryMedia(facade)) {
@@ -468,7 +467,7 @@
LOCAL_PROVIDER_AUTHORITY, SYNC_DELAY_MS);
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- controller.syncPicker();
+ controller.syncAllMedia();
try (Cursor cr = queryMedia(facade)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -488,7 +487,7 @@
assertThat(cr.getCount()).isEqualTo(0);
}
- controller.syncPicker();
+ controller.syncAllMedia();
// Fully synced db
try (Cursor cr = queryMedia(facade)) {
@@ -507,7 +506,7 @@
LOCAL_PROVIDER_AUTHORITY, SYNC_DELAY_MS);
addMedia(mLocalMediaGenerator, LOCAL_ONLY_1);
- controller.syncPicker();
+ controller.syncAllMedia();
try (Cursor cr = queryMedia(facade)) {
assertThat(cr.getCount()).isEqualTo(1);
@@ -528,7 +527,7 @@
assertThat(cr.getCount()).isEqualTo(0);
}
- controller.syncPicker();
+ controller.syncAllMedia();
// Fully synced db
try (Cursor cr = queryMedia(facade)) {