summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aga Wronska <agawronska@google.com> 2016-03-17 11:48:20 -0700
committer Aga Wronska <agawronska@google.com> 2016-03-17 11:57:29 -0700
commitb4129d785c1a14d0499fa45291b14ea356d59ee7 (patch)
tree1bac928635c42d141bc8e7c449aabcef7c2bb80a
parentce71deefca1f5fe53457f6092cda788023669693 (diff)
Add config flag to hide home directory ("Documents") from the roots list.
Make home root hidden by default. Change-Id: Ia9f97f3cad7ab102d65e01d6e0dd9bc39ab72f21 Fixed: 27683725
-rw-r--r--packages/DocumentsUI/res/values/config.xml4
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java12
-rw-r--r--packages/DocumentsUI/tests/src/com/android/documentsui/FilesActivityUiTest.java13
-rw-r--r--packages/DocumentsUI/tests/src/com/android/documentsui/bots/RootsListBot.java14
4 files changed, 37 insertions, 6 deletions
diff --git a/packages/DocumentsUI/res/values/config.xml b/packages/DocumentsUI/res/values/config.xml
index 86087c3ffa50..ebb3969b7819 100644
--- a/packages/DocumentsUI/res/values/config.xml
+++ b/packages/DocumentsUI/res/values/config.xml
@@ -21,4 +21,8 @@
<!-- Intentionally unset. Vendors should set this in an overlay. -->
<string name="trusted_quick_viewer_package" translatable="false"></string>
<bool name="list_divider_inset_left">true</bool>
+ <!-- Indicates if the home directory should be hidden in the roots list, that is presented
+ in the drawer/left side panel ) -->
+ <bool name="home_root_hidden">true</bool>
+
</resources>
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index 9f83c042b111..54e628732a60 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -317,7 +317,10 @@ public class RootsFragment extends Fragment {
for (final RootInfo root : roots) {
final RootItem item = new RootItem(root);
- if (root.isLibrary()) {
+
+ if (root.isHome() && isHomeRootHidden(context)) {
+ continue;
+ } else if (root.isLibrary()) {
if (DEBUG) Log.d(TAG, "Adding " + root + " as library.");
libraries.add(item);
} else {
@@ -367,6 +370,13 @@ public class RootsFragment extends Fragment {
}
}
+ /*
+ * Indicates if the home directory should be hidden in the roots list.
+ */
+ private boolean isHomeRootHidden(Context context) {
+ return context.getResources().getBoolean(R.bool.home_root_hidden);
+ }
+
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Item item = getItem(position);
diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/FilesActivityUiTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/FilesActivityUiTest.java
index e4afc3d8199c..f2949196f2a1 100644
--- a/packages/DocumentsUI/tests/src/com/android/documentsui/FilesActivityUiTest.java
+++ b/packages/DocumentsUI/tests/src/com/android/documentsui/FilesActivityUiTest.java
@@ -58,18 +58,23 @@ public class FilesActivityUiTest extends ActivityTest<FilesActivity> {
public void testRootsListed() throws Exception {
initTestFiles();
- bots.roots.openRoot(ROOT_0_ID);
-
// Should also have Drive, but that requires pre-configuration of devices
// We omit for now.
- bots.roots.assertHasRoots(
+ bots.roots.assertRootsPresent(
"Images",
"Videos",
"Audio",
"Downloads",
- "Documents",
ROOT_0_ID,
ROOT_1_ID);
+
+ // Separate logic for "Documents" root, which presence depends on the config setting
+ boolean homeRootHidden = context.getResources().getBoolean(R.bool.home_root_hidden);
+ if (homeRootHidden) {
+ bots.roots.assertRootsAbsent("Documents");
+ } else {
+ bots.roots.assertRootsPresent("Documents");
+ }
}
public void testFilesListed() throws Exception {
diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/bots/RootsListBot.java b/packages/DocumentsUI/tests/src/com/android/documentsui/bots/RootsListBot.java
index 356fd01957e6..096af10bab5f 100644
--- a/packages/DocumentsUI/tests/src/com/android/documentsui/bots/RootsListBot.java
+++ b/packages/DocumentsUI/tests/src/com/android/documentsui/bots/RootsListBot.java
@@ -69,7 +69,7 @@ public class RootsListBot extends BaseBot {
mDevice.waitForIdle();
}
- public void assertHasRoots(String... labels) throws UiObjectNotFoundException {
+ public void assertRootsPresent(String... labels) throws UiObjectNotFoundException {
List<String> missing = new ArrayList<>();
for (String label : labels) {
if (!findRoot(label).exists()) {
@@ -82,6 +82,18 @@ public class RootsListBot extends BaseBot {
}
}
+ public void assertRootsAbsent(String... labels) throws UiObjectNotFoundException {
+ List<String> unexpected = new ArrayList<>();
+ for (String label : labels) {
+ if (findRoot(label).exists()) {
+ unexpected.add(label);
+ }
+ }
+ if (!unexpected.isEmpty()) {
+ Assert.fail("Unexpected roots " + unexpected);
+ }
+ }
+
public void assertHasFocus() {
assertHasFocus(ROOTS_LIST_ID);
}