summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author François Degros <fdegros@google.com> 2025-03-07 04:49:23 +0000
committer François Degros <fdegros@google.com> 2025-03-07 04:52:03 +0000
commitcb16408d14d9e84d6dd782d13a611f4518a87b42 (patch)
treebb0ca6cc453be5693e8c18a1f359e70a60eed665
parentbe7cfdfa3dedc99c2ef31351b24915a0d7184dcc (diff)
Control visibility of 'Browse' and 'Extract here' menu items
Putting in place the infrastructure that will control the visibility of these menu items. These menu items are not visible yet. Bug: 400830188 Bug: 400829875 Flag: com.android.documentsui.flags.use_material3 Test: atest DocumentsUIGoogleTests:com.android.documentsui.picker.MenuManagerTest Test: atest DocumentsUIGoogleTests:com.android.documentsui.files.MenuManagerTest Change-Id: Ifb8b7803ced6b9ce2927ddc3247455c4edf26455
-rw-r--r--src/com/android/documentsui/MenuManager.java8
-rw-r--r--src/com/android/documentsui/files/MenuManager.java11
2 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java
index eb4f98aab..144a55245 100644
--- a/src/com/android/documentsui/MenuManager.java
+++ b/src/com/android/documentsui/MenuManager.java
@@ -389,11 +389,11 @@ public abstract class MenuManager {
Menus.setEnabledAndVisible(extractTo, false);
}
- protected void updateExtractHere(@NonNull MenuItem it, SelectionDetails selection) {
+ protected void updateExtractHere(@NonNull MenuItem it, @NonNull SelectionDetails selection) {
Menus.setEnabledAndVisible(it, false);
}
- protected void updateBrowse(@NonNull MenuItem it, SelectionDetails selection) {
+ protected void updateBrowse(@NonNull MenuItem it, @NonNull SelectionDetails selection) {
Menus.setEnabledAndVisible(it, false);
}
@@ -450,6 +450,10 @@ public abstract class MenuManager {
boolean canOpen();
boolean canViewInOwner();
+
+ default boolean isArchive() {
+ return false;
+ }
}
public static class DirectoryDetails {
diff --git a/src/com/android/documentsui/files/MenuManager.java b/src/com/android/documentsui/files/MenuManager.java
index 9b3564eeb..7dc6b57d6 100644
--- a/src/com/android/documentsui/files/MenuManager.java
+++ b/src/com/android/documentsui/files/MenuManager.java
@@ -29,6 +29,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
+import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.selection.SelectionTracker;
@@ -212,6 +213,16 @@ public final class MenuManager extends com.android.documentsui.MenuManager {
}
@Override
+ protected void updateExtractHere(@NonNull MenuItem it, @NonNull SelectionDetails selection) {
+ Menus.setEnabledAndVisible(it, selection.isArchive());
+ }
+
+ @Override
+ protected void updateBrowse(@NonNull MenuItem it, @NonNull SelectionDetails selection) {
+ Menus.setEnabledAndVisible(it, selection.isArchive());
+ }
+
+ @Override
protected void updatePasteInto(MenuItem pasteInto, SelectionDetails selectionDetails) {
Menus.setEnabledAndVisible(pasteInto,
selectionDetails.canPasteInto() && mDirDetails.hasItemsToPaste());