Merge "resolve merge conflicts of 886bbdb to nyc-dev" into nyc-dev
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
index b67f6a2..312acb5 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -710,10 +710,10 @@
             void onDocumentsReady(List<DocumentInfo> docs) {
                 Intent intent;
 
-                // Filter out directories - those can't be shared.
+                // Filter out directories and virtual files - those can't be shared.
                 List<DocumentInfo> docsForSend = new ArrayList<>();
                 for (DocumentInfo doc: docs) {
-                    if (!Document.MIME_TYPE_DIR.equals(doc.mimeType)) {
+                    if (!doc.isDirectory() && !doc.isVirtualDocument()) {
                         docsForSend.add(doc);
                     }
                 }
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index a7c994b..37bd401 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -3457,7 +3457,8 @@
         // First things first: if this activity is currently visible,
         // and the resumed activity is not yet visible, then hold off on
         // finishing until the resumed one becomes visible.
-        if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible)) {
+        if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible)
+                && !mStackSupervisor.allResumedActivitiesVisible()) {
             if (!mStackSupervisor.mStoppingActivities.contains(r)) {
                 addToStopping(r, false /* immediate */);
             }