Merge "Fix broken unit test done by ag/1729776, and added unit test." into nyc-andromeda-dev
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index c9db7cc..1b121b4 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -46,13 +46,13 @@
import com.android.documentsui.Injector.Injected;
import com.android.documentsui.NavigationViewManager.Breadcrumb;
import com.android.documentsui.base.DocumentInfo;
-import com.android.documentsui.base.LocalPreferences;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;
import com.android.documentsui.base.State.ViewMode;
import com.android.documentsui.dirlist.AnimationView;
import com.android.documentsui.dirlist.DirectoryFragment;
+import com.android.documentsui.prefs.LocalPreferences;
import com.android.documentsui.queries.DebugCommandProcessor;
import com.android.documentsui.queries.SearchViewManager;
import com.android.documentsui.queries.SearchViewManager.SearchManagerListener;
diff --git a/src/com/android/documentsui/Injector.java b/src/com/android/documentsui/Injector.java
index 4c767ae..81a7773 100644
--- a/src/com/android/documentsui/Injector.java
+++ b/src/com/android/documentsui/Injector.java
@@ -25,9 +25,9 @@
import com.android.documentsui.MenuManager.SelectionDetails;
import com.android.documentsui.base.EventHandler;
-import com.android.documentsui.base.ScopedPreferences;
import com.android.documentsui.dirlist.DocumentsAdapter;
import com.android.documentsui.dirlist.Model;
+import com.android.documentsui.prefs.ScopedPreferences;
import com.android.documentsui.selection.SelectionManager;
import com.android.documentsui.selection.SelectionManager.SelectionPredicate;
import com.android.documentsui.ui.DialogController;
diff --git a/src/com/android/documentsui/OpenExternalDirectoryActivity.java b/src/com/android/documentsui/OpenExternalDirectoryActivity.java
index 44ccc1e..74af224 100644
--- a/src/com/android/documentsui/OpenExternalDirectoryActivity.java
+++ b/src/com/android/documentsui/OpenExternalDirectoryActivity.java
@@ -29,11 +29,11 @@
import static com.android.documentsui.Metrics.SCOPED_DIRECTORY_ACCESS_INVALID_DIRECTORY;
import static com.android.documentsui.Metrics.logInvalidScopedAccessRequest;
import static com.android.documentsui.Metrics.logValidScopedAccessRequest;
-import static com.android.documentsui.base.LocalPreferences.PERMISSION_ASK_AGAIN;
-import static com.android.documentsui.base.LocalPreferences.PERMISSION_NEVER_ASK;
-import static com.android.documentsui.base.LocalPreferences.getScopedAccessPermissionStatus;
-import static com.android.documentsui.base.LocalPreferences.setScopedAccessPermissionStatus;
import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.prefs.LocalPreferences.PERMISSION_ASK_AGAIN;
+import static com.android.documentsui.prefs.LocalPreferences.PERMISSION_NEVER_ASK;
+import static com.android.documentsui.prefs.LocalPreferences.getScopedAccessPermissionStatus;
+import static com.android.documentsui.prefs.LocalPreferences.setScopedAccessPermissionStatus;
import android.annotation.SuppressLint;
import android.app.Activity;
diff --git a/src/com/android/documentsui/PackageReceiver.java b/src/com/android/documentsui/PackageReceiver.java
index 9c4ebf5..5cb2827 100644
--- a/src/com/android/documentsui/PackageReceiver.java
+++ b/src/com/android/documentsui/PackageReceiver.java
@@ -22,8 +22,8 @@
import android.content.Intent;
import android.net.Uri;
-import com.android.documentsui.base.LocalPreferences;
import com.android.documentsui.picker.LastAccessedProvider;
+import com.android.documentsui.prefs.LocalPreferences;
/**
* Clean up {@link LastAccessedProvider} and {@link LocalPreferences} when packages are removed.
diff --git a/src/com/android/documentsui/dirlist/Model.java b/src/com/android/documentsui/dirlist/Model.java
index 63dcb4b..d0128ef 100644
--- a/src/com/android/documentsui/dirlist/Model.java
+++ b/src/com/android/documentsui/dirlist/Model.java
@@ -20,6 +20,7 @@
import static com.android.documentsui.base.DocumentInfo.getCursorString;
import static com.android.documentsui.base.Shared.DEBUG;
import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.Shared.ENABLE_OMC_API_FEATURES;
import android.annotation.IntDef;
import android.database.Cursor;
@@ -54,11 +55,16 @@
public class Model {
/**
- * Filter that passes (returns true) all non-partial files and non-archived files.
+ * Filter that passes (returns true) for all files which can be shared.
*/
public static final Predicate<Cursor> SHARABLE_FILE_FILTER = (Cursor c) -> {
int flags = getCursorInt(c, Document.COLUMN_FLAGS);
String authority = getCursorString(c, RootCursorWrapper.COLUMN_AUTHORITY);
+ if (!ENABLE_OMC_API_FEATURES) {
+ return (flags & Document.FLAG_PARTIAL) == 0
+ && (flags & Document.FLAG_VIRTUAL_DOCUMENT) == 0
+ && !ArchivesProvider.AUTHORITY.equals(authority);
+ }
return (flags & Document.FLAG_PARTIAL) == 0
&& !ArchivesProvider.AUTHORITY.equals(authority);
};
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index ff8f5a9..9bbba35 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -321,7 +321,8 @@
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addCategory(Intent.CATEGORY_DEFAULT);
- if (mScope.model.hasDocuments(selection, Model.VIRTUAL_DOCUMENT_FILTER)) {
+ if (Shared.ENABLE_OMC_API_FEATURES
+ && mScope.model.hasDocuments(selection, Model.VIRTUAL_DOCUMENT_FILTER)) {
intent.addCategory(Intent.CATEGORY_TYPED_OPENABLE);
}
diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java
index 85c140a..bbeb623 100644
--- a/src/com/android/documentsui/files/FilesActivity.java
+++ b/src/com/android/documentsui/files/FilesActivity.java
@@ -47,11 +47,11 @@
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.DocumentStack;
import com.android.documentsui.base.RootInfo;
-import com.android.documentsui.base.ScopedPreferences;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;
import com.android.documentsui.clipping.DocumentClipper;
import com.android.documentsui.dirlist.AnimationView.AnimationType;
+import com.android.documentsui.prefs.ScopedPreferences;
import com.android.documentsui.dirlist.DirectoryFragment;
import com.android.documentsui.selection.SelectionManager;
import com.android.documentsui.services.FileOperationService;
diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java
index b0b4ff4..8c5961f 100644
--- a/src/com/android/documentsui/picker/PickActivity.java
+++ b/src/com/android/documentsui/picker/PickActivity.java
@@ -56,11 +56,11 @@
import com.android.documentsui.base.MimeTypes;
import com.android.documentsui.base.PairedTask;
import com.android.documentsui.base.RootInfo;
-import com.android.documentsui.base.ScopedPreferences;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;
import com.android.documentsui.dirlist.DirectoryFragment;
import com.android.documentsui.picker.LastAccessedProvider.Columns;
+import com.android.documentsui.prefs.ScopedPreferences;
import com.android.documentsui.selection.SelectionManager;
import com.android.documentsui.services.FileOperationService;
import com.android.documentsui.sidebar.RootsFragment;
diff --git a/src/com/android/documentsui/base/LocalPreferences.java b/src/com/android/documentsui/prefs/LocalPreferences.java
similarity index 97%
rename from src/com/android/documentsui/base/LocalPreferences.java
rename to src/com/android/documentsui/prefs/LocalPreferences.java
index 0d1e639..1beaf5d 100644
--- a/src/com/android/documentsui/base/LocalPreferences.java
+++ b/src/com/android/documentsui/prefs/LocalPreferences.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.documentsui.base;
+package com.android.documentsui.prefs;
import static com.android.documentsui.base.State.MODE_UNKNOWN;
@@ -26,6 +26,8 @@
import android.os.UserHandle;
import android.preference.PreferenceManager;
+import com.android.documentsui.base.RootInfo;
+import com.android.documentsui.base.State;
import com.android.documentsui.base.State.ViewMode;
import java.lang.annotation.Retention;
diff --git a/src/com/android/documentsui/base/ScopedPreferences.java b/src/com/android/documentsui/prefs/ScopedPreferences.java
similarity index 98%
rename from src/com/android/documentsui/base/ScopedPreferences.java
rename to src/com/android/documentsui/prefs/ScopedPreferences.java
index 92cca49..c74753a 100644
--- a/src/com/android/documentsui/base/ScopedPreferences.java
+++ b/src/com/android/documentsui/prefs/ScopedPreferences.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.documentsui.base;
+package com.android.documentsui.prefs;
import android.content.Context;
import android.content.SharedPreferences;