Loading res/values/config.xml +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ <string name="trusted_quick_viewer_package" translatable="false"></string> <bool name="show_documents_root">false</bool> <bool name="enable_compressing">false</bool> <!-- Indicates if search view is taking the whole toolbar space. On larger layouts we reduce this to an input-box adjacent to menu actions. --> Loading src/com/android/documentsui/base/Shared.java +8 −1 Original line number Diff line number Diff line Loading @@ -244,13 +244,20 @@ public final class Shared { } } /* /** * Returns true if "Documents" root should be shown. */ public static boolean shouldShowDocumentsRoot(Context context) { return context.getResources().getBoolean(R.bool.show_documents_root); } /** * Returns true if compressing is enabled. */ public static boolean isCompressingEnabled(Context context) { return context.getResources().getBoolean(R.bool.enable_compressing); } /* * Returns true if the local/device storage root must be visible (this also hides * the option to toggle visibility in the menu.) Loading src/com/android/documentsui/files/FilesActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons getColor(R.color.accent_dark)); mInjector.menuManager = new MenuManager( this, mSearchManager, mState, new DirectoryDetails(this) { Loading src/com/android/documentsui/files/MenuManager.java +6 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.documentsui.files; import android.app.Fragment; import android.content.Context; import android.view.KeyEvent; import android.view.KeyboardShortcutGroup; import android.view.KeyboardShortcutInfo; Loading @@ -28,6 +29,7 @@ import android.view.View; import com.android.documentsui.R; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; import com.android.documentsui.queries.SearchViewManager; Loading @@ -35,12 +37,15 @@ import java.util.List; import java.util.function.IntFunction; public final class MenuManager extends com.android.documentsui.MenuManager { private final Context mContext; public MenuManager( Context context, SearchViewManager searchManager, State displayState, DirectoryDetails dirDetails) { super(searchManager, displayState, dirDetails); mContext = context; } @Override Loading Loading @@ -175,7 +180,7 @@ public final class MenuManager extends com.android.documentsui.MenuManager { @Override protected void updateCompress(MenuItem compress, SelectionDetails selectionDetails) { final boolean readOnly = !mDirDetails.canCreateDoc(); compress.setVisible(true); compress.setVisible(Shared.isCompressingEnabled(mContext)); compress.setEnabled(!readOnly && !selectionDetails.containsPartialFiles() && !selectionDetails.canExtract()); } Loading tests/unit/com/android/documentsui/files/MenuManagerTest.java +15 −1 Original line number Diff line number Diff line Loading @@ -106,7 +106,8 @@ public final class MenuManagerTest { selectionDetails = new TestSelectionDetails(); dirDetails = new TestDirectoryDetails(); testSearchManager = new TestSearchViewManager(); mgr = new MenuManager(testSearchManager, state, dirDetails); testActivity = TestActivity.create(); mgr = new MenuManager(testActivity, testSearchManager, state, dirDetails); testRootInfo = new RootInfo(); testDocInfo = new DocumentInfo(); Loading @@ -114,6 +115,7 @@ public final class MenuManagerTest { @Test public void testActionMenu() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.canDelete = true; selectionDetails.canRename = true; dirDetails.canCreateDoc = true; Loading @@ -131,6 +133,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_containsPartial() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.containPartial = true; dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading @@ -143,8 +146,17 @@ public final class MenuManagerTest { moveTo.assertDisabled(); } @Test public void testActionMenu_compress_disabledFeatureByDefault() { dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); compress.assertInvisible(); } @Test public void testActionMenu_compress() { testActivity.resources.bools.put(R.bool.enable_compressing, true); dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading @@ -153,6 +165,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_cantCompress() { testActivity.resources.bools.put(R.bool.enable_compressing, true); dirDetails.canCreateDoc = false; mgr.updateActionMenu(testMenu, selectionDetails); Loading Loading @@ -196,6 +209,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_canExtract_hidesCopyToAndCompressAndShare() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.canExtract = true; dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading Loading
res/values/config.xml +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ <string name="trusted_quick_viewer_package" translatable="false"></string> <bool name="show_documents_root">false</bool> <bool name="enable_compressing">false</bool> <!-- Indicates if search view is taking the whole toolbar space. On larger layouts we reduce this to an input-box adjacent to menu actions. --> Loading
src/com/android/documentsui/base/Shared.java +8 −1 Original line number Diff line number Diff line Loading @@ -244,13 +244,20 @@ public final class Shared { } } /* /** * Returns true if "Documents" root should be shown. */ public static boolean shouldShowDocumentsRoot(Context context) { return context.getResources().getBoolean(R.bool.show_documents_root); } /** * Returns true if compressing is enabled. */ public static boolean isCompressingEnabled(Context context) { return context.getResources().getBoolean(R.bool.enable_compressing); } /* * Returns true if the local/device storage root must be visible (this also hides * the option to toggle visibility in the menu.) Loading
src/com/android/documentsui/files/FilesActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons getColor(R.color.accent_dark)); mInjector.menuManager = new MenuManager( this, mSearchManager, mState, new DirectoryDetails(this) { Loading
src/com/android/documentsui/files/MenuManager.java +6 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.documentsui.files; import android.app.Fragment; import android.content.Context; import android.view.KeyEvent; import android.view.KeyboardShortcutGroup; import android.view.KeyboardShortcutInfo; Loading @@ -28,6 +29,7 @@ import android.view.View; import com.android.documentsui.R; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; import com.android.documentsui.queries.SearchViewManager; Loading @@ -35,12 +37,15 @@ import java.util.List; import java.util.function.IntFunction; public final class MenuManager extends com.android.documentsui.MenuManager { private final Context mContext; public MenuManager( Context context, SearchViewManager searchManager, State displayState, DirectoryDetails dirDetails) { super(searchManager, displayState, dirDetails); mContext = context; } @Override Loading Loading @@ -175,7 +180,7 @@ public final class MenuManager extends com.android.documentsui.MenuManager { @Override protected void updateCompress(MenuItem compress, SelectionDetails selectionDetails) { final boolean readOnly = !mDirDetails.canCreateDoc(); compress.setVisible(true); compress.setVisible(Shared.isCompressingEnabled(mContext)); compress.setEnabled(!readOnly && !selectionDetails.containsPartialFiles() && !selectionDetails.canExtract()); } Loading
tests/unit/com/android/documentsui/files/MenuManagerTest.java +15 −1 Original line number Diff line number Diff line Loading @@ -106,7 +106,8 @@ public final class MenuManagerTest { selectionDetails = new TestSelectionDetails(); dirDetails = new TestDirectoryDetails(); testSearchManager = new TestSearchViewManager(); mgr = new MenuManager(testSearchManager, state, dirDetails); testActivity = TestActivity.create(); mgr = new MenuManager(testActivity, testSearchManager, state, dirDetails); testRootInfo = new RootInfo(); testDocInfo = new DocumentInfo(); Loading @@ -114,6 +115,7 @@ public final class MenuManagerTest { @Test public void testActionMenu() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.canDelete = true; selectionDetails.canRename = true; dirDetails.canCreateDoc = true; Loading @@ -131,6 +133,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_containsPartial() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.containPartial = true; dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading @@ -143,8 +146,17 @@ public final class MenuManagerTest { moveTo.assertDisabled(); } @Test public void testActionMenu_compress_disabledFeatureByDefault() { dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); compress.assertInvisible(); } @Test public void testActionMenu_compress() { testActivity.resources.bools.put(R.bool.enable_compressing, true); dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading @@ -153,6 +165,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_cantCompress() { testActivity.resources.bools.put(R.bool.enable_compressing, true); dirDetails.canCreateDoc = false; mgr.updateActionMenu(testMenu, selectionDetails); Loading Loading @@ -196,6 +209,7 @@ public final class MenuManagerTest { @Test public void testActionMenu_canExtract_hidesCopyToAndCompressAndShare() { testActivity.resources.bools.put(R.bool.enable_compressing, true); selectionDetails.canExtract = true; dirDetails.canCreateDoc = true; mgr.updateActionMenu(testMenu, selectionDetails); Loading