summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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());