Merge "Fix crash when mouse double click folder" into qt-dev
am: d22fe4ea36
Change-Id: Ife32055f6f07102c6017dbc4e7d7dd099347ca87
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index b563b7e..4d4f082 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -33,6 +33,7 @@
import android.util.Log;
import android.view.DragEvent;
+import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails;
import androidx.recyclerview.selection.MutableSelection;
@@ -75,8 +76,6 @@
import com.android.documentsui.services.FileOperations;
import com.android.documentsui.ui.DialogController;
-import androidx.annotation.VisibleForTesting;
-
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executor;
@@ -215,7 +214,7 @@
if (mConfig.isDocumentEnabled(doc.mimeType, doc.flags, mState)) {
onDocumentPicked(doc, type, fallback);
mSelectionMgr.clearSelection();
- return true;
+ return !doc.isContainer();
}
return false;
}
diff --git a/src/com/android/documentsui/picker/ActionHandler.java b/src/com/android/documentsui/picker/ActionHandler.java
index 7318d5b..ef16e6d 100644
--- a/src/com/android/documentsui/picker/ActionHandler.java
+++ b/src/com/android/documentsui/picker/ActionHandler.java
@@ -35,6 +35,7 @@
import android.provider.Settings;
import android.util.Log;
+import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails;
@@ -60,7 +61,6 @@
import com.android.documentsui.queries.SearchViewManager;
import com.android.documentsui.roots.ProvidersAccess;
import com.android.documentsui.services.FileOperationService;
-import androidx.annotation.VisibleForTesting;
import java.util.Arrays;
import java.util.concurrent.Executor;
@@ -319,7 +319,7 @@
if (mConfig.isDocumentEnabled(doc.mimeType, doc.flags, mState)) {
mActivity.onDocumentPicked(doc);
mSelectionMgr.clearSelection();
- return true;
+ return !doc.isDirectory();
}
return false;
}
diff --git a/tests/unit/com/android/documentsui/files/ActionHandlerTest.java b/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
index 23a4f16..de4f7fa 100644
--- a/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
+++ b/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
@@ -360,18 +360,20 @@
mActivity.currentRoot = TestProvidersAccess.HOME;
mEnv.docs.nextDocument = TestEnv.FILE_ARCHIVE;
- mHandler.openDocument(TestEnv.FILE_ARCHIVE, ActionHandler.VIEW_TYPE_PREVIEW,
- ActionHandler.VIEW_TYPE_REGULAR);
+ final boolean result = mHandler.openDocument(TestEnv.FILE_ARCHIVE,
+ ActionHandler.VIEW_TYPE_PREVIEW, ActionHandler.VIEW_TYPE_REGULAR);
assertEquals(TestEnv.FILE_ARCHIVE, mEnv.state.stack.peek());
+ assertEquals(false, result);
}
@Test
public void testDocumentPicked_OpensDirectories() throws Exception {
mActivity.currentRoot = TestProvidersAccess.HOME;
- mHandler.openDocument(TestEnv.FOLDER_1, ActionHandler.VIEW_TYPE_PREVIEW,
- ActionHandler.VIEW_TYPE_REGULAR);
+ final boolean result = mHandler.openDocument(TestEnv.FOLDER_1,
+ ActionHandler.VIEW_TYPE_PREVIEW, ActionHandler.VIEW_TYPE_REGULAR);
assertEquals(TestEnv.FOLDER_1, mEnv.state.stack.peek());
+ assertEquals(false, result);
}
@Test