Renaming or moving files should initiate scan.

These FileSystemProvider operations should initiate a MediaStore scan
to ensure that it presents an updated view of the filesystem.

Bug: 129901992, 130356514
Test: manual
Change-Id: I612481282cf739b88a1637b147fb4d4555fb5b8f
diff --git a/core/java/com/android/internal/content/FileSystemProvider.java b/core/java/com/android/internal/content/FileSystemProvider.java
index 18c4b46..a7244a7 100644
--- a/core/java/com/android/internal/content/FileSystemProvider.java
+++ b/core/java/com/android/internal/content/FileSystemProvider.java
@@ -332,33 +332,11 @@
     }
 
     private void moveInMediaStore(@Nullable File oldVisibleFile, @Nullable File newVisibleFile) {
-        // visibleFolders are null if we're moving a document in external thumb drive or SD card.
-        //
-        // They should be all null or not null at the same time. File#renameTo() doesn't work across
-        // volumes so an exception will be thrown before calling this method.
-        if (oldVisibleFile != null && newVisibleFile != null) {
-            final long token = Binder.clearCallingIdentity();
-
-            try {
-                final ContentResolver resolver = getContext().getContentResolver();
-                final Uri externalUri = newVisibleFile.isDirectory()
-                        ? MediaStore.Files.getDirectoryUri("external")
-                        : MediaStore.Files.getContentUri("external");
-
-                ContentValues values = new ContentValues();
-                values.put(MediaStore.Files.FileColumns.DATA, newVisibleFile.getAbsolutePath());
-
-                // Logic borrowed from MtpDatabase.
-                // note - we are relying on a special case in MediaProvider.update() to update
-                // the paths for all children in the case where this is a directory.
-                final String path = oldVisibleFile.getAbsolutePath();
-                resolver.update(externalUri,
-                        values,
-                        "_data LIKE ? AND lower(_data)=lower(?)",
-                        new String[]{path, path});
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
+        if (oldVisibleFile != null) {
+            MediaStore.scanFile(getContext(), oldVisibleFile);
+        }
+        if (newVisibleFile != null) {
+            MediaStore.scanFile(getContext(), newVisibleFile);
         }
     }