Merge "Revert "Implement support for viewing document settings in external applications"" into arc-apps
diff --git a/res/menu/file_context_menu.xml b/res/menu/file_context_menu.xml
index de3965a..16d36bc 100644
--- a/res/menu/file_context_menu.xml
+++ b/res/menu/file_context_menu.xml
@@ -49,10 +49,4 @@
             android:id="@+id/menu_delete"
             android:title="@string/menu_delete" />
     </group>
-    <group
-        android:id="@+id/menu_settings_group">
-        <item
-            android:id="@+id/menu_view_in_owner"
-            android:title="@string/menu_view_in_owner" />
-    </group>
 </menu>
diff --git a/res/menu/mode_directory.xml b/res/menu/mode_directory.xml
index e393c3f..e0b42cb 100644
--- a/res/menu/mode_directory.xml
+++ b/res/menu/mode_directory.xml
@@ -62,9 +62,4 @@
         android:title="@string/menu_rename"
         android:showAsAction="never"
         android:visible="false" />
-    <item
-        android:id="@+id/menu_view_in_owner"
-        android:title="@string/menu_view_in_owner"
-        android:showAsAction="never"
-        android:visible="false" />
 </menu>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 274db18..0d772c0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -67,8 +67,6 @@
     <string name="menu_extract">Extract to\u2026</string>
     <!-- Menu item that renames the selected document [CHAR LIMIT=28] -->
     <string name="menu_rename">Rename</string>
-    <!-- Menu item that renames the selected document [CHAR LIMIT=28] -->
-    <string name="menu_view_in_owner">View in <xliff:g id="source" example="Drive">%1$s</xliff:g></string>
 
     <!-- Menu item title that creates a new window in the activity [CHAR LIMIT=28] -->
     <string name="menu_new_window">New window</string>
diff --git a/src/com/android/documentsui/AbstractActionHandler.java b/src/com/android/documentsui/AbstractActionHandler.java
index 26066ee..3d268d3 100644
--- a/src/com/android/documentsui/AbstractActionHandler.java
+++ b/src/com/android/documentsui/AbstractActionHandler.java
@@ -226,11 +226,6 @@
     }
 
     @Override
-    public void viewInOwner() {
-        throw new UnsupportedOperationException("Can't view in application.");
-    }
-
-    @Override
     public void selectAllFiles() {
         Metrics.logUserAction(mActivity, Metrics.USER_ACTION_SELECT_ALL);
         Model model = mInjector.getModel();
diff --git a/src/com/android/documentsui/ActionHandler.java b/src/com/android/documentsui/ActionHandler.java
index 3d81c93..fdf28e3 100644
--- a/src/com/android/documentsui/ActionHandler.java
+++ b/src/com/android/documentsui/ActionHandler.java
@@ -133,8 +133,6 @@
 
     void loadDocumentsForCurrentStack();
 
-    void viewInOwner();
-
     /**
      * Allow action handler to be initialized in a new scope.
      * @return this
diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java
index 29f55f5..03ff118 100644
--- a/src/com/android/documentsui/MenuManager.java
+++ b/src/com/android/documentsui/MenuManager.java
@@ -63,7 +63,6 @@
         updateCopyTo(menu.findItem(R.id.menu_copy_to), selection);
         updateCompress(menu.findItem(R.id.menu_compress), selection);
         updateExtractTo(menu.findItem(R.id.menu_extract_to), selection);
-        updateViewInOwner(menu.findItem(R.id.menu_view_in_owner), selection);
 
         Menus.disableHiddenItems(menu);
     }
@@ -119,13 +118,11 @@
         MenuItem open = menu.findItem(R.id.menu_open);
         MenuItem openWith = menu.findItem(R.id.menu_open_with);
         MenuItem rename = menu.findItem(R.id.menu_rename);
-        MenuItem viewInOwner = menu.findItem(R.id.menu_view_in_owner);
 
         updateShare(share, selectionDetails);
         updateOpenInContextMenu(open, selectionDetails);
         updateOpenWith(openWith, selectionDetails);
         updateRename(rename, selectionDetails);
-        updateViewInOwner(viewInOwner, selectionDetails);
 
         updateContextMenu(menu, selectionDetails);
     }
@@ -267,10 +264,6 @@
         rename.setVisible(false);
     }
 
-    protected void updateViewInOwner(MenuItem view, SelectionDetails selectionDetails) {
-        view.setVisible(false);
-    }
-
     protected void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) {
         moveTo.setVisible(false);
     }
@@ -323,8 +316,6 @@
         boolean canExtract();
 
         boolean canOpenWith();
-
-        boolean canViewInOwner();
     }
 
     public static class DirectoryDetails {
diff --git a/src/com/android/documentsui/Metrics.java b/src/com/android/documentsui/Metrics.java
index 066ac5e..c518612 100644
--- a/src/com/android/documentsui/Metrics.java
+++ b/src/com/android/documentsui/Metrics.java
@@ -322,7 +322,6 @@
     public static final int USER_ACTION_DRAG_N_DROP = 24;
     public static final int USER_ACTION_DRAG_N_DROP_MULTI_WINDOW = 25;
     public static final int USER_ACTION_CUT_CLIPBOARD = 26;
-    public static final int USER_ACTION_VIEW_IN_APPLICATION = 27;
 
     @IntDef(flag = false, value = {
             USER_ACTION_OTHER,
@@ -352,8 +351,7 @@
             USER_ACTION_COPY_CLIPBOARD,
             USER_ACTION_DRAG_N_DROP,
             USER_ACTION_DRAG_N_DROP_MULTI_WINDOW,
-            USER_ACTION_CUT_CLIPBOARD,
-            USER_ACTION_VIEW_IN_APPLICATION
+            USER_ACTION_CUT_CLIPBOARD
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface UserAction {}
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 3bff812..9e51338 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -683,10 +683,6 @@
                 renameDocuments(selection);
                 return true;
 
-            case R.id.menu_view_in_owner:
-                mActions.viewInOwner();
-                return true;
-
             default:
                 // See if BaseActivity can handle this particular MenuItem
                 if (!mActivity.onOptionsItemSelected(item)) {
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index cf99b9d..e2e4ec0 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -267,28 +267,6 @@
         mDialogs.showDocumentsClipped(selection.size());
     }
 
-    @Override
-    public void viewInOwner() {
-        Metrics.logUserAction(mActivity, Metrics.USER_ACTION_VIEW_IN_APPLICATION);
-        Selection selection = getSelectedOrFocused();
-
-        if (selection.isEmpty() || selection.size() > 1) {
-            return;
-        }
-        DocumentInfo doc = mModel.getDocument(selection.iterator().next());
-        Intent intent = new Intent(DocumentsContract.ACTION_DOCUMENT_SETTINGS);
-        RootsAccess rootsAccess = DocumentsApplication.getRootsCache(mActivity);
-        intent.setPackage(rootsAccess.getPackageName(doc.authority));
-        intent.addCategory(Intent.CATEGORY_DEFAULT);
-        intent.setData(doc.derivedUri);
-        try {
-            mActivity.startActivity(intent);
-        } catch (ActivityNotFoundException e) {
-            Log.e(TAG, "Failed to view settings in application for " + doc.derivedUri, e);
-            mDialogs.showNoApplicationFound();
-        }
-    }
-
 
     @Override
     public void deleteSelectedDocuments() {
diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java
index 2408115..222e9b2 100644
--- a/src/com/android/documentsui/files/FilesActivity.java
+++ b/src/com/android/documentsui/files/FilesActivity.java
@@ -108,11 +108,7 @@
                     public boolean hasItemsToPaste() {
                         return clipper.hasItemsToPaste();
                     }
-                },
-                getApplicationContext(),
-                mInjector.selectionMgr,
-                mRoots::getApplicationName,
-                mInjector.getModel()::getItemUri);
+                });
 
         mShadowBuilder = new DragShadowBuilder(this);
         mInjector.actionModeController = new ActionModeController(
diff --git a/src/com/android/documentsui/files/MenuManager.java b/src/com/android/documentsui/files/MenuManager.java
index 3eb307f..0257634 100644
--- a/src/com/android/documentsui/files/MenuManager.java
+++ b/src/com/android/documentsui/files/MenuManager.java
@@ -17,9 +17,6 @@
 package com.android.documentsui.files;
 
 import android.app.Fragment;
-import android.content.Context;
-import android.content.res.Resources;
-import android.net.Uri;
 import android.view.KeyEvent;
 import android.view.KeyboardShortcutGroup;
 import android.view.KeyboardShortcutInfo;
@@ -34,35 +31,21 @@
 import com.android.documentsui.base.RootInfo;
 import com.android.documentsui.base.State;
 import com.android.documentsui.queries.SearchViewManager;
-import com.android.documentsui.selection.SelectionManager;
 
 import java.util.List;
-import java.util.function.Function;
 import java.util.function.IntFunction;
 
 public final class MenuManager extends com.android.documentsui.MenuManager {
 
     private final Features mFeatures;
-    private final Context mContext;
-    private final SelectionManager mSelectionManager;
-    private final Function<String, Uri> mGetUriFromModelId;
-    private final Function<String, String> mGetApplicationName;
 
     public MenuManager(
             Features features,
             SearchViewManager searchManager,
             State displayState,
-            DirectoryDetails dirDetails,
-            Context context,
-            SelectionManager selectionManager,
-            Function<String, String> getApplicationName,
-            Function<String, Uri> getUriFromModelId) {
+            DirectoryDetails dirDetails) {
         super(searchManager, displayState, dirDetails);
         mFeatures = features;
-        mContext = context;
-        mSelectionManager = selectionManager;
-        mGetUriFromModelId = getUriFromModelId;
-        mGetApplicationName = getApplicationName;
     }
 
     @Override
@@ -262,21 +245,4 @@
         rename.setVisible(true);
         rename.setEnabled(!selectionDetails.containsPartialFiles() && selectionDetails.canRename());
     }
-
-    @Override
-    protected void updateViewInOwner(MenuItem view, SelectionDetails selectionDetails) {
-        if (selectionDetails.canViewInOwner()) {
-            view.setVisible(true);
-            view.setEnabled(true);
-            Resources res = mContext.getResources();
-            String selectedModelId = mSelectionManager.getSelection().iterator().next();
-            Uri selectedUri = mGetUriFromModelId.apply(selectedModelId);
-            String appName = mGetApplicationName.apply(selectedUri.getAuthority());
-            String title = res.getString(R.string.menu_view_in_owner, appName);
-            view.setTitle(title);
-        }
-        else {
-            view.setVisible(false);
-        }
-    }
 }
diff --git a/src/com/android/documentsui/roots/RootsAccess.java b/src/com/android/documentsui/roots/RootsAccess.java
index c18827f..9ea51ab 100644
--- a/src/com/android/documentsui/roots/RootsAccess.java
+++ b/src/com/android/documentsui/roots/RootsAccess.java
@@ -52,10 +52,6 @@
 
     RootInfo getRecentsRoot();
 
-    String getApplicationName(String authority);
-
-    String getPackageName(String authority);
-
     /**
      * Returns a list of roots for the specified authority. If not found, then
      * an empty list is returned.
diff --git a/src/com/android/documentsui/roots/RootsCache.java b/src/com/android/documentsui/roots/RootsCache.java
index b9208af..ed29413 100644
--- a/src/com/android/documentsui/roots/RootsCache.java
+++ b/src/com/android/documentsui/roots/RootsCache.java
@@ -56,10 +56,8 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
@@ -98,8 +96,8 @@
     @GuardedBy("mLock")
     private HashSet<String> mStoppedAuthorities = new HashSet<>();
 
-    @GuardedBy("mObservedAuthoritiesDetails")
-    private final Map<String, PackageDetails> mObservedAuthoritiesDetails = new HashMap<>();
+    @GuardedBy("mObservedAuthorities")
+    private final HashSet<String> mObservedAuthorities = new HashSet<>();
 
     public RootsCache(Context context) {
         mContext = context;
@@ -132,16 +130,6 @@
         }
     }
 
-    @Override
-    public String getApplicationName(String authority) {
-        return mObservedAuthoritiesDetails.get(authority).applicationName;
-    }
-
-    @Override
-    public String getPackageName(String authority) {
-        return mObservedAuthoritiesDetails.get(authority).packageName;
-    }
-
     public void updateAsync(boolean forceRefreshAll) {
 
         // NOTE: This method is called when the UI language changes.
@@ -240,17 +228,8 @@
             ContentResolver resolver, String authority, boolean forceRefresh) {
         if (VERBOSE) Log.v(TAG, "Loading roots for " + authority);
 
-        synchronized (mObservedAuthoritiesDetails) {
-            if (!mObservedAuthoritiesDetails.containsKey(authority)) {
-                ProviderInfo provider = mContext.getPackageManager().resolveContentProvider(
-                        authority, PackageManager.GET_META_DATA);
-                PackageManager pm = mContext.getPackageManager();
-                CharSequence appName = pm.getApplicationLabel(provider.applicationInfo);
-                String packageName = provider.applicationInfo.packageName;
-
-                mObservedAuthoritiesDetails.put(
-                        authority, new PackageDetails(appName.toString(), packageName));
-
+        synchronized (mObservedAuthorities) {
+            if (mObservedAuthorities.add(authority)) {
                 // Watch for any future updates
                 final Uri rootsUri = DocumentsContract.buildRootsUri(authority);
                 mContext.getContentResolver().registerContentObserver(rootsUri, true, mObserver);
@@ -393,7 +372,7 @@
         ContentResolver resolver = mContext.getContentResolver();
         StringBuilder output = new StringBuilder();
 
-        for (String authority : mObservedAuthoritiesDetails.keySet()) {
+        for (String authority : mObservedAuthorities) {
             List<String> roots = new ArrayList<>();
             Uri rootsUri = DocumentsContract.buildRootsUri(authority);
             Bundle systemCache = resolver.getCache(rootsUri);
@@ -477,16 +456,5 @@
             mTaskRoots.putAll(info.authority, loadRootsForAuthority(mContext.getContentResolver(),
                     info.authority, forceRefresh));
         }
-
-    }
-
-    private static class PackageDetails {
-        private String applicationName;
-        private String packageName;
-
-        public PackageDetails(String appName, String pckgName) {
-            applicationName = appName;
-            packageName = pckgName;
-        }
     }
 }
diff --git a/src/com/android/documentsui/selection/SelectionMetadata.java b/src/com/android/documentsui/selection/SelectionMetadata.java
index 7048718..4384ec4 100644
--- a/src/com/android/documentsui/selection/SelectionMetadata.java
+++ b/src/com/android/documentsui/selection/SelectionMetadata.java
@@ -19,9 +19,6 @@
 import static com.android.documentsui.base.DocumentInfo.getCursorInt;
 import static com.android.documentsui.base.DocumentInfo.getCursorString;
 
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.pm.ProviderInfo;
 import android.database.Cursor;
 import android.provider.DocumentsContract.Document;
 import android.util.Log;
@@ -52,7 +49,6 @@
     private int mNoDeleteCount = 0;
     private int mNoRenameCount = 0;
     private int mInArchiveCount = 0;
-    private boolean mSupportsSettings = false;
 
     public SelectionMetadata(Function<String, Cursor> docFinder) {
         mDocFinder = docFinder;
@@ -92,12 +88,6 @@
         if ((docFlags & Document.FLAG_PARTIAL) != 0) {
             mPartialCount += delta;
         }
-        if((docFlags & Document.FLAG_SUPPORTS_SETTINGS) != 0 &&
-                (mFileCount + mDirectoryCount) == 1) {
-            mSupportsSettings = true;
-        } else {
-            mSupportsSettings = false;
-        }
 
         final String authority = getCursorString(cursor, RootCursorWrapper.COLUMN_AUTHORITY);
         if (ArchivesProvider.AUTHORITY.equals(authority)) {
@@ -141,11 +131,6 @@
     }
 
     @Override
-    public boolean canViewInOwner() {
-        return mSupportsSettings;
-    }
-
-    @Override
     public boolean canPasteInto() {
         return mDirectoryCount == 1 && mWritableDirectoryCount == 1 && size() == 1;
     }
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 6a73f39..6df4c90 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -4,19 +4,8 @@
 
     <uses-permission android:name="android.permission.INTERNET" />
 
-    <application android:label="DocumentsUI Tests">
+    <application>
         <uses-library android:name="android.test.runner" />
-
-        <activity android:name="com.android.documentsui.SettingsActivity">
-            <intent-filter>
-                <action android:name="android.provider.action.DOCUMENT_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:scheme="content"
-                      android:host="com.android.documentsui.demoprovider"
-                      android:mimeType="*/*" />
-            </intent-filter>
-        </activity>
-
         <provider
             android:name="com.android.documentsui.StubProvider"
             android:authorities="com.android.documentsui.stubprovider"
@@ -32,13 +21,12 @@
        <!-- Provider that demostrates some features, like display of INFO and ERROR messages. -->
        <provider
             android:name="com.android.documentsui.DemoProvider"
-            android:label="Demo Provider"
             android:authorities="com.android.documentsui.demoprovider"
             android:exported="true"
             android:grantUriPermissions="true"
             android:permission="android.permission.MANAGE_DOCUMENTS"
             android:enabled="true">
-           <intent-filter>
+            <intent-filter>
                 <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
             </intent-filter>
        </provider>
@@ -81,18 +69,6 @@
                 <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
             </intent-filter>
         </provider>
-
-        <provider
-            android:name="com.android.documentsui.BrokenSettingsEnabledProvider"
-            android:authorities="com.android.documentsui.brokensettingsenabled"
-            android:exported="true"
-            android:grantUriPermissions="true"
-            android:permission="android.permission.MANAGE_DOCUMENTS"
-            android:enabled="true">
-            <intent-filter>
-                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
-            </intent-filter>
-        </provider>
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/tests/common/com/android/documentsui/BrokenSettingsEnabledProvider.java b/tests/common/com/android/documentsui/BrokenSettingsEnabledProvider.java
deleted file mode 100644
index ffa67ef..0000000
--- a/tests/common/com/android/documentsui/BrokenSettingsEnabledProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.documentsui;
-
-import android.database.Cursor;
-import android.database.MatrixCursor;
-import android.os.Bundle;
-import android.provider.DocumentsContract;
-
-import java.io.FileNotFoundException;
-
-/**
- * Provides data view that has files with FLAG_SUPPORTS_SETTINGS but nothing set to receive
- * the ACTION_DOCUMENT_SETTINGS intent.
- * <p>
- * Do not use this provider for automated testing.
- */
-public class BrokenSettingsEnabledProvider extends TestRootProvider {
-
-    private static final String ROOT_ID = "broken-settings-enabled-root";
-    private static final String ROOT_DOC_ID = "root0";
-
-    public BrokenSettingsEnabledProvider() {
-        super("Broken Settings Enabled Root", ROOT_ID, 0, ROOT_DOC_ID);
-    }
-
-    @Override
-    public Cursor queryDocument(String documentId, String[] projection)
-            throws FileNotFoundException {
-        MatrixCursor c = createDocCursor(projection);
-        Bundle extras = c.getExtras();
-        extras.putString(
-                DocumentsContract.EXTRA_INFO,
-                "This provider is for feature demos only. Do not use from automated tests.");
-        addFolder(c, documentId);
-        return c;
-    }
-
-    @Override
-    public Cursor queryChildDocuments(
-            String parentDocumentId, String[] projection, String sortOrder)
-            throws FileNotFoundException {
-        MatrixCursor c = createDocCursor(projection);
-        addFile(c, "fred-dog.jpg", DocumentsContract.Document.FLAG_SUPPORTS_SETTINGS);
-        return c;
-    }
-}
diff --git a/tests/common/com/android/documentsui/DemoProvider.java b/tests/common/com/android/documentsui/DemoProvider.java
index 04a4604..7ef189f 100644
--- a/tests/common/com/android/documentsui/DemoProvider.java
+++ b/tests/common/com/android/documentsui/DemoProvider.java
@@ -68,7 +68,7 @@
                 addFolder(c, "folder");
                 addFile(c, "zzz");
                 for (int i = 0; i < 100; i++) {
-                    addFile(c, "" + i, DocumentsContract.Document.FLAG_SUPPORTS_SETTINGS);
+                    addFile(c, "" + i);
                 }
                 break;
 
diff --git a/tests/common/com/android/documentsui/SettingsActivity.java b/tests/common/com/android/documentsui/SettingsActivity.java
deleted file mode 100644
index f6cc5fb..0000000
--- a/tests/common/com/android/documentsui/SettingsActivity.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.android.documentsui;
-
-import android.app.Activity;
-
-/**
- * Created by jonmann on 3/20/17.
- */
-public class SettingsActivity extends Activity {
-
-}
diff --git a/tests/common/com/android/documentsui/testing/TestMenu.java b/tests/common/com/android/documentsui/testing/TestMenu.java
index 1a6489f..b9f0aee 100644
--- a/tests/common/com/android/documentsui/testing/TestMenu.java
+++ b/tests/common/com/android/documentsui/testing/TestMenu.java
@@ -58,8 +58,7 @@
                 R.id.menu_grid,
                 R.id.menu_list,
                 R.id.menu_advanced,
-                R.id.menu_eject_root,
-                R.id.menu_view_in_owner);
+                R.id.menu_eject_root);
     }
 
     public static TestMenu create(int... ids) {
diff --git a/tests/common/com/android/documentsui/testing/TestMenuItem.java b/tests/common/com/android/documentsui/testing/TestMenuItem.java
index a955adc..110617b 100644
--- a/tests/common/com/android/documentsui/testing/TestMenuItem.java
+++ b/tests/common/com/android/documentsui/testing/TestMenuItem.java
@@ -57,11 +57,6 @@
     }
 
     @Override
-    public TestMenuItem setTitle(@StringRes CharSequence title) {
-        return this;
-    }
-
-    @Override
     public MenuItem setEnabled(boolean enabled) {
         this.enabled = enabled;
         return this;
diff --git a/tests/common/com/android/documentsui/testing/TestRootsAccess.java b/tests/common/com/android/documentsui/testing/TestRootsAccess.java
index 513ec80..5333430 100644
--- a/tests/common/com/android/documentsui/testing/TestRootsAccess.java
+++ b/tests/common/com/android/documentsui/testing/TestRootsAccess.java
@@ -132,14 +132,4 @@
     public RootInfo getRecentsRoot() {
         return RECENTS;
     }
-
-    @Override
-    public String getApplicationName(String authority) {
-        return "Test Application";
-    }
-
-    @Override
-    public String getPackageName(String authority) {
-        return "com.android.documentsui";
-    }
 }
diff --git a/tests/common/com/android/documentsui/testing/TestSelectionDetails.java b/tests/common/com/android/documentsui/testing/TestSelectionDetails.java
index cfecb1d..4c56122 100644
--- a/tests/common/com/android/documentsui/testing/TestSelectionDetails.java
+++ b/tests/common/com/android/documentsui/testing/TestSelectionDetails.java
@@ -32,7 +32,6 @@
     public boolean canPasteInto;
     public boolean canExtract;
     public boolean canOpenWith;
-    public boolean canViewInOwner;
 
     @Override
     public boolean containsPartialFiles() {
@@ -75,11 +74,6 @@
     }
 
     @Override
-    public boolean canViewInOwner() {
-        return canViewInOwner;
-    }
-
-    @Override
     public int size() {
         return size;
     }
diff --git a/tests/unit/com/android/documentsui/files/MenuManagerTest.java b/tests/unit/com/android/documentsui/files/MenuManagerTest.java
index 9ca4431..30c30c5 100644
--- a/tests/unit/com/android/documentsui/files/MenuManagerTest.java
+++ b/tests/unit/com/android/documentsui/files/MenuManagerTest.java
@@ -19,23 +19,16 @@
 import static junit.framework.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import android.net.Uri;
 import android.provider.DocumentsContract.Document;
 import android.provider.DocumentsContract.Root;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
-import android.test.AndroidTestCase;
 
 import com.android.documentsui.R;
 import com.android.documentsui.base.DocumentInfo;
 import com.android.documentsui.base.RootInfo;
 import com.android.documentsui.base.State;
-import com.android.documentsui.dirlist.TestContext;
-import com.android.documentsui.dirlist.TestData;
-import com.android.documentsui.selection.SelectionManager;
-import com.android.documentsui.testing.SelectionManagers;
 import com.android.documentsui.testing.TestDirectoryDetails;
-import com.android.documentsui.testing.TestEnv;
 import com.android.documentsui.testing.TestFeatures;
 import com.android.documentsui.testing.TestMenu;
 import com.android.documentsui.testing.TestMenuInflater;
@@ -73,7 +66,6 @@
     private TestMenuItem pasteInto;
     private TestMenuItem advanced;
     private TestMenuItem eject;
-    private TestMenuItem view;
 
     private TestFeatures features;
     private TestSelectionDetails selectionDetails;
@@ -84,8 +76,6 @@
     private DocumentInfo testDocInfo;
     private State state = new State();
     private MenuManager mgr;
-    private TestActivity activity = TestActivity.create(TestEnv.create());
-    private SelectionManager selectionManager;
 
     @Before
     public void setUp() {
@@ -110,7 +100,6 @@
         pasteInto = testMenu.findItem(R.id.menu_paste_into_folder);
         advanced = testMenu.findItem(R.id.menu_advanced);
         eject = testMenu.findItem(R.id.menu_eject_root);
-        view = testMenu.findItem(R.id.menu_view_in_owner);
 
         features = new TestFeatures();
 
@@ -122,30 +111,12 @@
         dirDetails = new TestDirectoryDetails();
         testSearchManager = new TestSearchViewManager();
         preferences = new TestScopedPreferences();
-        selectionManager = SelectionManagers.createTestInstance(TestData.create(1));
-        selectionManager.toggleSelection("0");
-
-        mgr = new MenuManager(
-                features,
-                testSearchManager,
-                state,
-                dirDetails,
-                activity,
-                selectionManager,
-                this::getApplicationNameFromAuthority,
-                this::getUriFromModelId);
+        mgr = new MenuManager(features, testSearchManager, state, dirDetails);
 
         testRootInfo = new RootInfo();
         testDocInfo = new DocumentInfo();
     }
 
-    private Uri getUriFromModelId(String id) {
-        return Uri.EMPTY;
-    }
-    private String getApplicationNameFromAuthority(String authority) {
-        return "TestApp";
-    }
-
     @Test
     public void testActionMenu() {
         selectionDetails.canDelete = true;
@@ -161,7 +132,6 @@
         compress.assertEnabled();
         extractTo.assertInvisible();
         moveTo.assertEnabled();
-        view.assertInvisible();
     }
 
     @Test
@@ -176,7 +146,6 @@
         compress.assertDisabled();
         extractTo.assertDisabled();
         moveTo.assertDisabled();
-        view.assertInvisible();
     }
 
     @Test
@@ -224,14 +193,6 @@
     }
 
     @Test
-    public void testActionsMenu_canViewInOwner() {
-        selectionDetails.canViewInOwner = true;
-        mgr.updateActionMenu(testMenu, selectionDetails);
-
-        view.assertVisible();
-    }
-
-    @Test
     public void testActionMenu_changeToCanDelete() {
         selectionDetails.canDelete = false;
         mgr.updateActionMenu(testMenu, selectionDetails);
diff --git a/tests/unit/com/android/documentsui/picker/MenuManagerTest.java b/tests/unit/com/android/documentsui/picker/MenuManagerTest.java
index 2809ff1..0e6a53a 100644
--- a/tests/unit/com/android/documentsui/picker/MenuManagerTest.java
+++ b/tests/unit/com/android/documentsui/picker/MenuManagerTest.java
@@ -61,7 +61,6 @@
     private TestMenuItem advanced;
     private TestMenuItem settings;
     private TestMenuItem eject;
-    private TestMenuItem view;
 
     private TestSelectionDetails selectionDetails;
     private TestDirectoryDetails dirDetails;
@@ -88,7 +87,6 @@
         copy = testMenu.findItem(R.id.menu_copy_to_clipboard);
         paste = testMenu.findItem(R.id.menu_paste_from_clipboard);
         pasteInto = testMenu.findItem(R.id.menu_paste_into_folder);
-        view = testMenu.findItem(R.id.menu_view_in_owner);
 
         advanced = testMenu.findItem(R.id.menu_advanced);
         settings = testMenu.findItem(R.id.menu_settings);
@@ -114,7 +112,6 @@
         share.assertInvisible();
         rename.assertInvisible();
         selectAll.assertVisible();
-        view.assertInvisible();
     }
 
     @Test