summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ivan Chiang <chiangi@google.com> 2019-12-17 15:31:26 +0800
committer Ivan Chiang <chiangi@google.com> 2020-01-21 10:24:14 +0000
commit81870e9f1606b1e60141dcdc4987936460c5de3c (patch)
tree520787895b31709885905108055562e51fdc7967
parenta42476f24bfed04797db8b276ee54c70c65dea90 (diff)
Add Documents root and related metrics
Bug: 138173113 Bug: 146413601 Test: atest DocumentsUIGoogleTests Change-Id: I5f16fdc0adb43ac6242c0f7f7d17d3ba221381e7
-rw-r--r--src/com/android/documentsui/MetricConsts.java4
-rw-r--r--src/com/android/documentsui/Metrics.java2
-rw-r--r--src/com/android/documentsui/base/Providers.java1
-rw-r--r--src/com/android/documentsui/base/RootInfo.java25
-rw-r--r--tests/common/com/android/documentsui/testing/TestProvidersAccess.java7
-rw-r--r--tests/functional/com/android/documentsui/FilesActivityDefaultsUiTest.java12
-rw-r--r--tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java2
7 files changed, 39 insertions, 14 deletions
diff --git a/src/com/android/documentsui/MetricConsts.java b/src/com/android/documentsui/MetricConsts.java
index d6e2995d9..63ab34ff0 100644
--- a/src/com/android/documentsui/MetricConsts.java
+++ b/src/com/android/documentsui/MetricConsts.java
@@ -40,6 +40,7 @@ public class MetricConsts {
public static final int ROOT_VIDEOS = 9;
public static final int ROOT_MTP = 10;
public static final int ROOT_THIRD_PARTY_APP = 11;
+ public static final int ROOT_DOCUMENTS = 12;
@IntDef(flag = true, value = {
ROOT_UNKNOWN,
@@ -53,7 +54,8 @@ public class MetricConsts {
ROOT_RECENTS,
ROOT_VIDEOS,
ROOT_MTP,
- ROOT_THIRD_PARTY_APP
+ ROOT_THIRD_PARTY_APP,
+ ROOT_DOCUMENTS
})
@Retention(RetentionPolicy.SOURCE)
public @interface Root {
diff --git a/src/com/android/documentsui/Metrics.java b/src/com/android/documentsui/Metrics.java
index 125a9fa91..609e982dd 100644
--- a/src/com/android/documentsui/Metrics.java
+++ b/src/com/android/documentsui/Metrics.java
@@ -375,6 +375,8 @@ public final class Metrics {
return MetricConsts.ROOT_IMAGES;
case Providers.ROOT_ID_VIDEOS:
return MetricConsts.ROOT_VIDEOS;
+ case Providers.ROOT_ID_DOCUMENTS:
+ return MetricConsts.ROOT_DOCUMENTS;
default:
return MetricConsts.ROOT_OTHER_DOCS_PROVIDER;
}
diff --git a/src/com/android/documentsui/base/Providers.java b/src/com/android/documentsui/base/Providers.java
index 1729d2e62..e05730790 100644
--- a/src/com/android/documentsui/base/Providers.java
+++ b/src/com/android/documentsui/base/Providers.java
@@ -39,6 +39,7 @@ public final class Providers {
public static final String ROOT_ID_IMAGES = "images_root";
public static final String ROOT_ID_VIDEOS = "videos_root";
public static final String ROOT_ID_AUDIO = "audio_root";
+ public static final String ROOT_ID_DOCUMENTS = "documents_root";
public static final String AUTHORITY_MTP = "com.android.mtp.documents";
public static final String AUTHORITY_BUGREPORT = "com.android.shell.documents";
diff --git a/src/com/android/documentsui/base/RootInfo.java b/src/com/android/documentsui/base/RootInfo.java
index e69c0f842..b39133401 100644
--- a/src/com/android/documentsui/base/RootInfo.java
+++ b/src/com/android/documentsui/base/RootInfo.java
@@ -65,6 +65,7 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
TYPE_IMAGES,
TYPE_VIDEO,
TYPE_AUDIO,
+ TYPE_DOCUMENTS,
TYPE_DOWNLOADS,
TYPE_LOCAL,
TYPE_MTP,
@@ -78,12 +79,13 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
public static final int TYPE_IMAGES = 2;
public static final int TYPE_VIDEO = 3;
public static final int TYPE_AUDIO = 4;
- public static final int TYPE_DOWNLOADS = 5;
- public static final int TYPE_LOCAL = 6;
- public static final int TYPE_MTP = 7;
- public static final int TYPE_SD = 8;
- public static final int TYPE_USB = 9;
- public static final int TYPE_OTHER = 10;
+ public static final int TYPE_DOCUMENTS = 5;
+ public static final int TYPE_DOWNLOADS = 6;
+ public static final int TYPE_LOCAL = 7;
+ public static final int TYPE_MTP = 8;
+ public static final int TYPE_SD = 9;
+ public static final int TYPE_USB = 10;
+ public static final int TYPE_OTHER = 11;
public String authority;
public String rootId;
@@ -235,6 +237,9 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
} else if (isAudio()) {
derivedType = TYPE_AUDIO;
derivedIcon = LOAD_FROM_CONTENT_RESOLVER;
+ } else if (isDocuments()) {
+ derivedType = TYPE_DOCUMENTS;
+ derivedIcon = LOAD_FROM_CONTENT_RESOLVER;
} else if (isRecents()) {
derivedType = TYPE_RECENTS;
} else if (isBugReport()) {
@@ -292,6 +297,11 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
&& Providers.ROOT_ID_AUDIO.equals(rootId);
}
+ public boolean isDocuments() {
+ return Providers.AUTHORITY_MEDIA.equals(authority)
+ && Providers.ROOT_ID_DOCUMENTS.equals(rootId);
+ }
+
public boolean isMtp() {
return Providers.AUTHORITY_MTP.equals(authority);
}
@@ -303,7 +313,8 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
return derivedType == TYPE_IMAGES
|| derivedType == TYPE_VIDEO
|| derivedType == TYPE_AUDIO
- || derivedType == TYPE_RECENTS;
+ || derivedType == TYPE_RECENTS
+ || derivedType == TYPE_DOCUMENTS;
}
/*
diff --git a/tests/common/com/android/documentsui/testing/TestProvidersAccess.java b/tests/common/com/android/documentsui/testing/TestProvidersAccess.java
index 38f722459..6c5995bf1 100644
--- a/tests/common/com/android/documentsui/testing/TestProvidersAccess.java
+++ b/tests/common/com/android/documentsui/testing/TestProvidersAccess.java
@@ -42,6 +42,7 @@ public class TestProvidersAccess implements ProvidersAccess {
public static final RootInfo IMAGE;
public static final RootInfo AUDIO;
public static final RootInfo VIDEO;
+ public static final RootInfo DOCUMENT;
public static final RootInfo EXTERNALSTORAGE;
public static final RootInfo NO_TREE_ROOT;
@@ -116,6 +117,12 @@ public class TestProvidersAccess implements ProvidersAccess {
VIDEO.title = "Videos";
VIDEO.derivedType = RootInfo.TYPE_VIDEO;
+ DOCUMENT = new RootInfo();
+ DOCUMENT.authority = Providers.AUTHORITY_MEDIA;
+ DOCUMENT.rootId = Providers.ROOT_ID_DOCUMENTS;
+ DOCUMENT.title = "Documents";
+ DOCUMENT.derivedType = RootInfo.TYPE_DOCUMENTS;
+
EXTERNALSTORAGE = new RootInfo();
EXTERNALSTORAGE.authority = Providers.AUTHORITY_STORAGE;
EXTERNALSTORAGE.rootId = Providers.ROOT_ID_DEVICE;
diff --git a/tests/functional/com/android/documentsui/FilesActivityDefaultsUiTest.java b/tests/functional/com/android/documentsui/FilesActivityDefaultsUiTest.java
index 4e4dc1b49..ece8aff91 100644
--- a/tests/functional/com/android/documentsui/FilesActivityDefaultsUiTest.java
+++ b/tests/functional/com/android/documentsui/FilesActivityDefaultsUiTest.java
@@ -73,12 +73,12 @@ public class FilesActivityDefaultsUiTest extends ActivityTest<FilesActivity> {
ROOT_0_ID,
ROOT_1_ID);
- // Separate logic for "Documents" root, which presence depends on the config setting
- if (docsRootEnabled()) {
- bots.roots.assertRootsPresent("Documents");
- } else {
- bots.roots.assertRootsAbsent("Documents");
- }
+// // Separate logic for "Documents" root, which presence depends on the config setting
+// if (docsRootEnabled()) {
+// bots.roots.assertRootsPresent("Documents");
+// } else {
+// bots.roots.assertRootsAbsent("Documents");
+// }
}
private boolean docsRootEnabled() {
diff --git a/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java b/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java
index 6dd03093b..e5baf6dc7 100644
--- a/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java
+++ b/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java
@@ -51,6 +51,7 @@ public class RootsFragmentTest {
TestProvidersAccess.IMAGE.title,
TestProvidersAccess.VIDEO.title,
TestProvidersAccess.AUDIO.title,
+ TestProvidersAccess.DOCUMENT.title,
TestProvidersAccess.DOWNLOADS.title,
"" /* SpacerItem */,
TestProvidersAccess.EXTERNALSTORAGE.title,
@@ -138,6 +139,7 @@ public class RootsFragmentTest {
fakeRootInfoList.add(TestProvidersAccess.RECENTS);
fakeRootInfoList.add(TestProvidersAccess.IMAGE);
fakeRootInfoList.add(TestProvidersAccess.EXTERNALSTORAGE);
+ fakeRootInfoList.add(TestProvidersAccess.DOCUMENT);
return fakeRootInfoList;
}
}