Merge "Allow video files to be inserted in Pictures"
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 6b60565..023d723 100644
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -1766,7 +1766,8 @@
                 defaultPrimary = Environment.DIRECTORY_MOVIES;
                 allowedPrimary = Arrays.asList(
                         Environment.DIRECTORY_DCIM,
-                        Environment.DIRECTORY_MOVIES);
+                        Environment.DIRECTORY_MOVIES,
+                        Environment.DIRECTORY_PICTURES);
                 break;
             case IMAGES_MEDIA:
             case IMAGES_MEDIA_ID:
@@ -5343,13 +5344,11 @@
             case DIRECTORY_AUDIOBOOKS:
                 uris[0] = Audio.Media.getContentUri(volName);
                 break;
-            case DIRECTORY_PICTURES:
-                uris[0] = Images.Media.getContentUri(volName);
-                break;
             case DIRECTORY_MOVIES:
                 uris[0] = Video.Media.getContentUri(volName);
                 break;
             case DIRECTORY_DCIM:
+            case DIRECTORY_PICTURES:
                 if (mimeType.toLowerCase(Locale.ROOT).startsWith("image")) {
                     uris[0] = Images.Media.getContentUri(volName);
                 } else if (mimeType.toLowerCase(Locale.ROOT).startsWith("video")) {
diff --git a/tests/jni/FuseDaemonTest/src/com/android/tests/fused/FilePathAccessTest.java b/tests/jni/FuseDaemonTest/src/com/android/tests/fused/FilePathAccessTest.java
index 878d1ec..d9b0fe6 100644
--- a/tests/jni/FuseDaemonTest/src/com/android/tests/fused/FilePathAccessTest.java
+++ b/tests/jni/FuseDaemonTest/src/com/android/tests/fused/FilePathAccessTest.java
@@ -175,11 +175,19 @@
         assertThrows(IOException.class, "Operation not permitted", () -> {
             new File(DCIM_DIR, MUSIC_FILE_NAME).createNewFile();
         });
+        // Only image and video files can be created in Pictures
+        assertThrows(IOException.class, "Operation not permitted", () -> {
+            new File(PICTURES_DIR, NONMEDIA_FILE_NAME).createNewFile();
+        });
+        assertThrows(IOException.class, "Operation not permitted", () -> {
+            new File(PICTURES_DIR, MUSIC_FILE_NAME).createNewFile();
+        });
 
         assertCanCreateFile(new File(DCIM_DIR, IMAGE_FILE_NAME));
         assertCanCreateFile(new File(MUSIC_DIR, MUSIC_FILE_NAME));
         assertCanCreateFile(new File(MOVIES_DIR, VIDEO_FILE_NAME));
         assertCanCreateFile(new File(DOWNLOAD_DIR, NONMEDIA_FILE_NAME));
+        assertCanCreateFile(new File(PICTURES_DIR, VIDEO_FILE_NAME));
 
         // No file whatsoever can be created in the top level directory
         assertThrows(IOException.class, "Operation not permitted", () -> {