summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Felipe Leme <felipeal@google.com> 2018-01-19 16:40:04 -0800
committer Felipe Leme <felipeal@google.com> 2018-01-22 10:32:27 -0800
commit9de5807754666ce80295d15ff681c0d4921cd5e8 (patch)
tree3b99ab58c9edb408e7b9f93f84b01b73bdd88e94
parentd1da8323aa06da60ba559e502830fb1d53b8b068 (diff)
Created a SharedMinimal helper.
This class contains the bare minimum shared stuff that can be used without bloating the APK size of the minimal app that is used on Android TV. Test: atest CtsAppSecurityHostTestCases:ScopedDirectoryAccessTest Bug: 72100982 Change-Id: I29deeaeda86fa34d04d2aef2c4d20b34de2c86c1
-rw-r--r--Android.mk1
-rw-r--r--src/com/android/documentsui/AbstractActionHandler.java2
-rw-r--r--src/com/android/documentsui/ActionModeController.java2
-rw-r--r--src/com/android/documentsui/BaseActivity.java2
-rw-r--r--src/com/android/documentsui/CreateDirectoryFragment.java2
-rw-r--r--src/com/android/documentsui/DirectoryLoader.java2
-rw-r--r--src/com/android/documentsui/DrawerController.java2
-rw-r--r--src/com/android/documentsui/FocusManager.java2
-rw-r--r--src/com/android/documentsui/Metrics.java2
-rw-r--r--src/com/android/documentsui/Model.java4
-rw-r--r--src/com/android/documentsui/NavigationViewManager.java2
-rw-r--r--src/com/android/documentsui/RecentsLoader.java4
-rw-r--r--src/com/android/documentsui/RefreshTask.java2
-rw-r--r--src/com/android/documentsui/ScopedAccessActivity.java5
-rw-r--r--src/com/android/documentsui/ScopedAccessMetrics.java10
-rw-r--r--src/com/android/documentsui/ScopedAccessProvider.java2
-rw-r--r--src/com/android/documentsui/SharedInputHandler.java2
-rw-r--r--src/com/android/documentsui/ThumbnailLoader.java4
-rw-r--r--src/com/android/documentsui/base/DebugHelper.java4
-rw-r--r--src/com/android/documentsui/base/DocumentStack.java2
-rw-r--r--src/com/android/documentsui/base/DurableUtils.java2
-rw-r--r--src/com/android/documentsui/base/FilteringCursorWrapper.java4
-rw-r--r--src/com/android/documentsui/base/RootInfo.java4
-rw-r--r--src/com/android/documentsui/base/Shared.java11
-rw-r--r--src/com/android/documentsui/base/SharedMinimal.java42
-rw-r--r--src/com/android/documentsui/dirlist/DirectoryFragment.java4
-rw-r--r--src/com/android/documentsui/dirlist/DragHost.java2
-rw-r--r--src/com/android/documentsui/dirlist/DragStartListener.java2
-rw-r--r--src/com/android/documentsui/dirlist/IconHelper.java2
-rw-r--r--src/com/android/documentsui/dirlist/RenameDocumentFragment.java2
-rw-r--r--src/com/android/documentsui/dirlist/ScaleHelper.java2
-rw-r--r--src/com/android/documentsui/files/ActionHandler.java2
-rw-r--r--src/com/android/documentsui/files/LauncherActivity.java2
-rw-r--r--src/com/android/documentsui/files/QuickViewIntentBuilder.java2
-rw-r--r--src/com/android/documentsui/picker/ActionHandler.java2
-rw-r--r--src/com/android/documentsui/queries/CommandInterceptor.java2
-rw-r--r--src/com/android/documentsui/queries/SearchViewManager.java2
-rw-r--r--src/com/android/documentsui/roots/LoadRootTask.java2
-rw-r--r--src/com/android/documentsui/roots/ProvidersAccess.java4
-rw-r--r--src/com/android/documentsui/roots/ProvidersCache.java4
-rw-r--r--src/com/android/documentsui/roots/RootCursorWrapper.java2
-rw-r--r--src/com/android/documentsui/selection/TouchInputHandler.java2
-rw-r--r--src/com/android/documentsui/services/CompressJob.java2
-rw-r--r--src/com/android/documentsui/services/CopyJob.java2
-rw-r--r--src/com/android/documentsui/services/DeleteJob.java2
-rw-r--r--src/com/android/documentsui/services/FileOperationService.java2
-rw-r--r--src/com/android/documentsui/services/FileOperations.java2
-rw-r--r--src/com/android/documentsui/services/MoveJob.java2
-rw-r--r--src/com/android/documentsui/sidebar/RootsFragment.java4
-rw-r--r--src/com/android/documentsui/sidebar/SpacerItem.java2
-rw-r--r--src/com/android/documentsui/sorting/SortModel.java2
51 files changed, 112 insertions, 69 deletions
diff --git a/Android.mk b/Android.mk
index 8e1cbf4c1..50a168b25 100644
--- a/Android.mk
+++ b/Android.mk
@@ -29,6 +29,7 @@ LOCAL_SRC_FILES := \
src/com/android/documentsui/archives/ReadableArchive.java \
src/com/android/documentsui/archives/WriteableArchive.java \
src/com/android/documentsui/base/Providers.java \
+ src/com/android/documentsui/base/SharedMinimal.java \
src/com/android/documentsui/prefs/ScopedAccessLocalPreferences.java
LOCAL_PACKAGE_NAME := DocumentsUIMinimal
diff --git a/src/com/android/documentsui/AbstractActionHandler.java b/src/com/android/documentsui/AbstractActionHandler.java
index 44c634282..15425a87f 100644
--- a/src/com/android/documentsui/AbstractActionHandler.java
+++ b/src/com/android/documentsui/AbstractActionHandler.java
@@ -18,7 +18,7 @@ package com.android.documentsui;
import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.app.Activity;
import android.app.LoaderManager.LoaderCallbacks;
diff --git a/src/com/android/documentsui/ActionModeController.java b/src/com/android/documentsui/ActionModeController.java
index aabd672bb..dc453b775 100644
--- a/src/com/android/documentsui/ActionModeController.java
+++ b/src/com/android/documentsui/ActionModeController.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.IdRes;
import android.annotation.Nullable;
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index 19457fccd..a5784de27 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.base.Shared.EXTRA_BENCHMARK;
import static com.android.documentsui.base.State.MODE_GRID;
diff --git a/src/com/android/documentsui/CreateDirectoryFragment.java b/src/com/android/documentsui/CreateDirectoryFragment.java
index e7a33a095..ab31544eb 100644
--- a/src/com/android/documentsui/CreateDirectoryFragment.java
+++ b/src/com/android/documentsui/CreateDirectoryFragment.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.TAG;
+import static com.android.documentsui.base.SharedMinimal.TAG;
import android.app.AlertDialog;
import android.app.Dialog;
diff --git a/src/com/android/documentsui/DirectoryLoader.java b/src/com/android/documentsui/DirectoryLoader.java
index 64d97f002..55900e69b 100644
--- a/src/com/android/documentsui/DirectoryLoader.java
+++ b/src/com/android/documentsui/DirectoryLoader.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.content.AsyncTaskLoader;
import android.content.ContentProviderClient;
diff --git a/src/com/android/documentsui/DrawerController.java b/src/com/android/documentsui/DrawerController.java
index d8c679aa7..1a69363f1 100644
--- a/src/com/android/documentsui/DrawerController.java
+++ b/src/com/android/documentsui/DrawerController.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.IntDef;
import android.app.Activity;
diff --git a/src/com/android/documentsui/FocusManager.java b/src/com/android/documentsui/FocusManager.java
index 097516e56..676ffa2da 100644
--- a/src/com/android/documentsui/FocusManager.java
+++ b/src/com/android/documentsui/FocusManager.java
@@ -17,7 +17,7 @@
package com.android.documentsui;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.ColorRes;
diff --git a/src/com/android/documentsui/Metrics.java b/src/com/android/documentsui/Metrics.java
index b7f756f5e..fba24be4d 100644
--- a/src/com/android/documentsui/Metrics.java
+++ b/src/com/android/documentsui/Metrics.java
@@ -17,7 +17,7 @@
package com.android.documentsui;
import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.IntDef;
import android.annotation.Nullable;
diff --git a/src/com/android/documentsui/Model.java b/src/com/android/documentsui/Model.java
index 7b19e634f..16284ea00 100644
--- a/src/com/android/documentsui/Model.java
+++ b/src/com/android/documentsui/Model.java
@@ -17,8 +17,8 @@
package com.android.documentsui;
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.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.annotation.IntDef;
import android.app.AuthenticationRequiredException;
diff --git a/src/com/android/documentsui/NavigationViewManager.java b/src/com/android/documentsui/NavigationViewManager.java
index e47622428..fdaba38d9 100644
--- a/src/com/android/documentsui/NavigationViewManager.java
+++ b/src/com/android/documentsui/NavigationViewManager.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.annotation.Nullable;
import android.graphics.drawable.Drawable;
diff --git a/src/com/android/documentsui/RecentsLoader.java b/src/com/android/documentsui/RecentsLoader.java
index 38a3cfab5..bb0115d3f 100644
--- a/src/com/android/documentsui/RecentsLoader.java
+++ b/src/com/android/documentsui/RecentsLoader.java
@@ -16,8 +16,8 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
-import static com.android.documentsui.base.Shared.TAG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.TAG;
import android.app.ActivityManager;
import android.content.AsyncTaskLoader;
diff --git a/src/com/android/documentsui/RefreshTask.java b/src/com/android/documentsui/RefreshTask.java
index fc9bc4d54..5e0a1a190 100644
--- a/src/com/android/documentsui/RefreshTask.java
+++ b/src/com/android/documentsui/RefreshTask.java
@@ -16,7 +16,7 @@
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.Nullable;
import android.content.ContentProviderClient;
diff --git a/src/com/android/documentsui/ScopedAccessActivity.java b/src/com/android/documentsui/ScopedAccessActivity.java
index 386e8da9c..e73659064 100644
--- a/src/com/android/documentsui/ScopedAccessActivity.java
+++ b/src/com/android/documentsui/ScopedAccessActivity.java
@@ -19,7 +19,6 @@ package com.android.documentsui;
import static android.os.Environment.isStandardDirectory;
import static android.os.storage.StorageVolume.EXTRA_DIRECTORY_NAME;
import static android.os.storage.StorageVolume.EXTRA_STORAGE_VOLUME;
-import static com.android.documentsui.ScopedAccessMetrics.DEBUG;
import static com.android.documentsui.ScopedAccessMetrics.SCOPED_DIRECTORY_ACCESS_ALREADY_DENIED;
import static com.android.documentsui.ScopedAccessMetrics.SCOPED_DIRECTORY_ACCESS_ALREADY_GRANTED;
import static com.android.documentsui.ScopedAccessMetrics.SCOPED_DIRECTORY_ACCESS_DENIED;
@@ -30,6 +29,8 @@ import static com.android.documentsui.ScopedAccessMetrics.SCOPED_DIRECTORY_ACCES
import static com.android.documentsui.ScopedAccessMetrics.SCOPED_DIRECTORY_ACCESS_INVALID_DIRECTORY;
import static com.android.documentsui.ScopedAccessMetrics.logInvalidScopedAccessRequest;
import static com.android.documentsui.ScopedAccessMetrics.logValidScopedAccessRequest;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DIRECTORY_ROOT;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.PERMISSION_ASK_AGAIN;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.PERMISSION_NEVER_ASK;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.getScopedAccessPermissionStatus;
@@ -86,8 +87,6 @@ public class ScopedAccessActivity extends Activity {
private static final String EXTRA_VOLUME_UUID = "com.android.documentsui.VOLUME_UUID";
private static final String EXTRA_IS_ROOT = "com.android.documentsui.IS_ROOT";
private static final String EXTRA_IS_PRIMARY = "com.android.documentsui.IS_PRIMARY";
- // Special directory name representing the full volume
- static final String DIRECTORY_ROOT = "ROOT_DIRECTORY";
private ContentProviderClient mExternalStorageClient;
diff --git a/src/com/android/documentsui/ScopedAccessMetrics.java b/src/com/android/documentsui/ScopedAccessMetrics.java
index 177150e5b..ec23e59bf 100644
--- a/src/com/android/documentsui/ScopedAccessMetrics.java
+++ b/src/com/android/documentsui/ScopedAccessMetrics.java
@@ -18,11 +18,13 @@ package com.android.documentsui;
import static android.os.Environment.STANDARD_DIRECTORIES;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DIRECTORY_ROOT;
+
import android.annotation.IntDef;
import android.annotation.StringDef;
import android.app.Activity;
import android.content.Context;
-import android.os.Build;
import android.util.Log;
import com.android.internal.logging.MetricsLogger;
@@ -35,9 +37,7 @@ import java.lang.annotation.RetentionPolicy;
* Methods for logging scoped directory access metrics.
*/
public final class ScopedAccessMetrics {
- private static final String TAG = "Metrics";
-
- public static final boolean DEBUG = Build.IS_DEBUGGABLE;
+ private static final String TAG = "ScopedAccessMetrics";
// Types for logInvalidScopedAccessRequest
public static final String SCOPED_DIRECTORY_ACCESS_INVALID_ARGUMENTS =
@@ -88,7 +88,7 @@ public final class ScopedAccessMetrics {
public static void logValidScopedAccessRequest(Activity activity, String directory,
@ScopedAccessGrant int type) {
int index = -1;
- if (ScopedAccessActivity.DIRECTORY_ROOT.equals(directory)) {
+ if (DIRECTORY_ROOT.equals(directory)) {
index = -2;
} else {
for (int i = 0; i < STANDARD_DIRECTORIES.length; i++) {
diff --git a/src/com/android/documentsui/ScopedAccessProvider.java b/src/com/android/documentsui/ScopedAccessProvider.java
index 2fcbe4577..f63f757b6 100644
--- a/src/com/android/documentsui/ScopedAccessProvider.java
+++ b/src/com/android/documentsui/ScopedAccessProvider.java
@@ -24,7 +24,7 @@ import static android.os.storage.StorageVolume.ScopedAccessProviderContract.TABL
import static android.os.storage.StorageVolume.ScopedAccessProviderContract.TABLE_PERMISSIONS_COL_PACKAGE;
import static android.os.storage.StorageVolume.ScopedAccessProviderContract.TABLE_PERMISSIONS_COL_VOLUME_UUID;
-import static com.android.documentsui.ScopedAccessMetrics.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.PERMISSION_ASK_AGAIN;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.PERMISSION_NEVER_ASK;
import static com.android.documentsui.prefs.ScopedAccessLocalPreferences.getAllPackages;
diff --git a/src/com/android/documentsui/SharedInputHandler.java b/src/com/android/documentsui/SharedInputHandler.java
index 68772abbc..0c91341f9 100644
--- a/src/com/android/documentsui/SharedInputHandler.java
+++ b/src/com/android/documentsui/SharedInputHandler.java
@@ -15,7 +15,7 @@
*/
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.util.Log;
import android.view.KeyEvent;
diff --git a/src/com/android/documentsui/ThumbnailLoader.java b/src/com/android/documentsui/ThumbnailLoader.java
index bb1c6fc6d..f5a93aa63 100644
--- a/src/com/android/documentsui/ThumbnailLoader.java
+++ b/src/com/android/documentsui/ThumbnailLoader.java
@@ -15,15 +15,13 @@
*/
package com.android.documentsui;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
-import android.annotation.Nullable;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Point;
-import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.CancellationSignal;
diff --git a/src/com/android/documentsui/base/DebugHelper.java b/src/com/android/documentsui/base/DebugHelper.java
index f649dfbe4..201f7257f 100644
--- a/src/com/android/documentsui/base/DebugHelper.java
+++ b/src/com/android/documentsui/base/DebugHelper.java
@@ -16,6 +16,8 @@
package com.android.documentsui.base;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
+
import android.util.Log;
import android.util.Pair;
@@ -115,7 +117,7 @@ public class DebugHelper {
mInjector.actions.setDebugMode(mDebugEnabled);
}
- if (Shared.VERBOSE) {
+ if (VERBOSE) {
Log.v(TAG, "Debug mode " + (mDebugEnabled ? "on" : "off"));
}
}
diff --git a/src/com/android/documentsui/base/DocumentStack.java b/src/com/android/documentsui/base/DocumentStack.java
index 090bcb10c..f30c43aa1 100644
--- a/src/com/android/documentsui/base/DocumentStack.java
+++ b/src/com/android/documentsui/base/DocumentStack.java
@@ -16,7 +16,7 @@
package com.android.documentsui.base;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.internal.util.Preconditions.checkArgument;
import android.content.ContentResolver;
diff --git a/src/com/android/documentsui/base/DurableUtils.java b/src/com/android/documentsui/base/DurableUtils.java
index 00f63dfe8..227bdb130 100644
--- a/src/com/android/documentsui/base/DurableUtils.java
+++ b/src/com/android/documentsui/base/DurableUtils.java
@@ -16,7 +16,7 @@
package com.android.documentsui.base;
-import static com.android.documentsui.base.Shared.TAG;
+import static com.android.documentsui.base.SharedMinimal.TAG;
import android.os.BadParcelableException;
import android.os.Parcel;
diff --git a/src/com/android/documentsui/base/FilteringCursorWrapper.java b/src/com/android/documentsui/base/FilteringCursorWrapper.java
index 0288f4f9d..5ef7c7a93 100644
--- a/src/com/android/documentsui/base/FilteringCursorWrapper.java
+++ b/src/com/android/documentsui/base/FilteringCursorWrapper.java
@@ -18,8 +18,8 @@ package com.android.documentsui.base;
import static com.android.documentsui.base.DocumentInfo.getCursorLong;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.DEBUG;
-import static com.android.documentsui.base.Shared.TAG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.TAG;
import android.database.AbstractCursor;
import android.database.Cursor;
diff --git a/src/com/android/documentsui/base/RootInfo.java b/src/com/android/documentsui/base/RootInfo.java
index 3fe9a2188..340d61459 100644
--- a/src/com/android/documentsui/base/RootInfo.java
+++ b/src/com/android/documentsui/base/RootInfo.java
@@ -19,7 +19,7 @@ package com.android.documentsui.base;
import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorLong;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import static com.android.documentsui.base.Shared.compareToIgnoreCaseNullable;
import android.annotation.IntDef;
@@ -54,7 +54,7 @@ import java.util.Objects;
public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
private static final String TAG = "RootInfo";
- private static final int VERSION_INIT = 1;
+ // private static final int VERSION_INIT = 1; // Not used anymore
private static final int VERSION_DROP_TYPE = 2;
// The values of these constants determine the sort order of various roots in the RootsFragment.
diff --git a/src/com/android/documentsui/base/Shared.java b/src/com/android/documentsui/base/Shared.java
index 5d1cb904e..638b5f438 100644
--- a/src/com/android/documentsui/base/Shared.java
+++ b/src/com/android/documentsui/base/Shared.java
@@ -16,6 +16,8 @@
package com.android.documentsui.base;
+import static com.android.documentsui.base.SharedMinimal.TAG;
+
import android.annotation.PluralsRes;
import android.app.Activity;
import android.app.AlertDialog;
@@ -49,11 +51,6 @@ import javax.annotation.Nullable;
/** @hide */
public final class Shared {
- public static final String TAG = "Documents";
-
- public static final boolean DEBUG = Build.IS_DEBUGGABLE;
- public static final boolean VERBOSE = DEBUG && Log.isLoggable(TAG, Log.VERBOSE);
-
/** Intent action name to pick a copy destination. */
public static final String ACTION_PICK_COPY_DESTINATION =
"com.android.documentsui.PICK_COPY_DESTINATION";
@@ -301,4 +298,8 @@ public final class Shared {
}
return null;
}
+
+ private Shared() {
+ throw new UnsupportedOperationException("provides static fields only");
+ }
}
diff --git a/src/com/android/documentsui/base/SharedMinimal.java b/src/com/android/documentsui/base/SharedMinimal.java
new file mode 100644
index 000000000..7c7f659e0
--- /dev/null
+++ b/src/com/android/documentsui/base/SharedMinimal.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2018 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.base;
+
+import android.os.Build;
+import android.util.Log;
+
+/**
+ * Contains the minimum number of utilities (contants, helpers, etc...) that can be used by both the
+ * main package and the minimal APK that's used by Android TV (and other devices).
+ *
+ * <p>In other words, it should not include any external dependency that would increase the APK
+ * size.
+ */
+public final class SharedMinimal {
+
+ public static final String TAG = "Documents";
+
+ public static final boolean DEBUG = Build.IS_DEBUGGABLE;
+ public static final boolean VERBOSE = DEBUG && Log.isLoggable(TAG, Log.VERBOSE);
+
+ // Special directory name representing the full volume of a scoped directory request.
+ public static final String DIRECTORY_ROOT = "ROOT_DIRECTORY";
+
+ private SharedMinimal() {
+ throw new UnsupportedOperationException("provides static fields only");
+ }
+}
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 9814bfc0e..981224c15 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -17,8 +17,8 @@
package com.android.documentsui.dirlist;
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.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import static com.android.documentsui.base.State.MODE_GRID;
import static com.android.documentsui.base.State.MODE_LIST;
diff --git a/src/com/android/documentsui/dirlist/DragHost.java b/src/com/android/documentsui/dirlist/DragHost.java
index 787431cd8..770097d32 100644
--- a/src/com/android/documentsui/dirlist/DragHost.java
+++ b/src/com/android/documentsui/dirlist/DragHost.java
@@ -16,7 +16,7 @@
package com.android.documentsui.dirlist;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.app.Activity;
import android.content.ClipData;
diff --git a/src/com/android/documentsui/dirlist/DragStartListener.java b/src/com/android/documentsui/dirlist/DragStartListener.java
index 9d0392588..e2859fc49 100644
--- a/src/com/android/documentsui/dirlist/DragStartListener.java
+++ b/src/com/android/documentsui/dirlist/DragStartListener.java
@@ -16,7 +16,7 @@
package com.android.documentsui.dirlist;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.internal.util.Preconditions.checkArgument;
import android.net.Uri;
diff --git a/src/com/android/documentsui/dirlist/IconHelper.java b/src/com/android/documentsui/dirlist/IconHelper.java
index fe145588d..c5e86c15b 100644
--- a/src/com/android/documentsui/dirlist/IconHelper.java
+++ b/src/com/android/documentsui/dirlist/IconHelper.java
@@ -16,7 +16,7 @@
package com.android.documentsui.dirlist;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import static com.android.documentsui.base.State.MODE_GRID;
import static com.android.documentsui.base.State.MODE_LIST;
diff --git a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
index 8025a65ac..2573448ad 100644
--- a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
+++ b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
@@ -16,7 +16,7 @@
package com.android.documentsui.dirlist;
-import static com.android.documentsui.base.Shared.TAG;
+import static com.android.documentsui.base.SharedMinimal.TAG;
import android.app.AlertDialog;
import android.app.Dialog;
diff --git a/src/com/android/documentsui/dirlist/ScaleHelper.java b/src/com/android/documentsui/dirlist/ScaleHelper.java
index d927fcd51..84b939d0e 100644
--- a/src/com/android/documentsui/dirlist/ScaleHelper.java
+++ b/src/com/android/documentsui/dirlist/ScaleHelper.java
@@ -16,7 +16,7 @@
package com.android.documentsui.dirlist;
import static android.support.v4.util.Preconditions.checkState;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.content.Context;
import android.os.Build;
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index 715e6c99b..6b5a0a2f1 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -16,7 +16,7 @@
package com.android.documentsui.files;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.app.Activity;
import android.content.ActivityNotFoundException;
diff --git a/src/com/android/documentsui/files/LauncherActivity.java b/src/com/android/documentsui/files/LauncherActivity.java
index 705d9681e..f14be5ae7 100644
--- a/src/com/android/documentsui/files/LauncherActivity.java
+++ b/src/com/android/documentsui/files/LauncherActivity.java
@@ -16,7 +16,7 @@
package com.android.documentsui.files;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.app.Activity;
import android.app.ActivityManager;
diff --git a/src/com/android/documentsui/files/QuickViewIntentBuilder.java b/src/com/android/documentsui/files/QuickViewIntentBuilder.java
index 8511065df..022614678 100644
--- a/src/com/android/documentsui/files/QuickViewIntentBuilder.java
+++ b/src/com/android/documentsui/files/QuickViewIntentBuilder.java
@@ -17,7 +17,7 @@
package com.android.documentsui.files;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.base.Shared.MAX_DOCS_IN_INTENT;
import android.content.ClipData;
diff --git a/src/com/android/documentsui/picker/ActionHandler.java b/src/com/android/documentsui/picker/ActionHandler.java
index 596c62771..4511fefba 100644
--- a/src/com/android/documentsui/picker/ActionHandler.java
+++ b/src/com/android/documentsui/picker/ActionHandler.java
@@ -16,7 +16,7 @@
package com.android.documentsui.picker;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.base.State.ACTION_CREATE;
import static com.android.documentsui.base.State.ACTION_GET_CONTENT;
import static com.android.documentsui.base.State.ACTION_OPEN;
diff --git a/src/com/android/documentsui/queries/CommandInterceptor.java b/src/com/android/documentsui/queries/CommandInterceptor.java
index 84e563e24..143b93304 100644
--- a/src/com/android/documentsui/queries/CommandInterceptor.java
+++ b/src/com/android/documentsui/queries/CommandInterceptor.java
@@ -15,7 +15,7 @@
*/
package com.android.documentsui.queries;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.content.Context;
import android.support.annotation.VisibleForTesting;
diff --git a/src/com/android/documentsui/queries/SearchViewManager.java b/src/com/android/documentsui/queries/SearchViewManager.java
index 9e8411aa6..fab5a933b 100644
--- a/src/com/android/documentsui/queries/SearchViewManager.java
+++ b/src/com/android/documentsui/queries/SearchViewManager.java
@@ -16,7 +16,7 @@
package com.android.documentsui.queries;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.Nullable;
import android.os.Bundle;
diff --git a/src/com/android/documentsui/roots/LoadRootTask.java b/src/com/android/documentsui/roots/LoadRootTask.java
index fbcbf91b0..308bb45df 100644
--- a/src/com/android/documentsui/roots/LoadRootTask.java
+++ b/src/com/android/documentsui/roots/LoadRootTask.java
@@ -16,7 +16,7 @@
package com.android.documentsui.roots;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.app.Activity;
import android.net.Uri;
diff --git a/src/com/android/documentsui/roots/ProvidersAccess.java b/src/com/android/documentsui/roots/ProvidersAccess.java
index a1aa33c19..93db10a3a 100644
--- a/src/com/android/documentsui/roots/ProvidersAccess.java
+++ b/src/com/android/documentsui/roots/ProvidersAccess.java
@@ -16,8 +16,8 @@
package com.android.documentsui.roots;
-import static com.android.documentsui.base.Shared.DEBUG;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.util.Log;
diff --git a/src/com/android/documentsui/roots/ProvidersCache.java b/src/com/android/documentsui/roots/ProvidersCache.java
index e8dcbc65d..1e166af50 100644
--- a/src/com/android/documentsui/roots/ProvidersCache.java
+++ b/src/com/android/documentsui/roots/ProvidersCache.java
@@ -16,8 +16,8 @@
package com.android.documentsui.roots;
-import static com.android.documentsui.base.Shared.DEBUG;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.content.BroadcastReceiver.PendingResult;
import android.content.ContentProviderClient;
diff --git a/src/com/android/documentsui/roots/RootCursorWrapper.java b/src/com/android/documentsui/roots/RootCursorWrapper.java
index b7f9c20f6..d220f688b 100644
--- a/src/com/android/documentsui/roots/RootCursorWrapper.java
+++ b/src/com/android/documentsui/roots/RootCursorWrapper.java
@@ -21,7 +21,7 @@ import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
/**
* Cursor wrapper that adds columns to identify which root a document came from.
diff --git a/src/com/android/documentsui/selection/TouchInputHandler.java b/src/com/android/documentsui/selection/TouchInputHandler.java
index 12ed33c7e..298d54b3b 100644
--- a/src/com/android/documentsui/selection/TouchInputHandler.java
+++ b/src/com/android/documentsui/selection/TouchInputHandler.java
@@ -15,7 +15,7 @@
*/
package com.android.documentsui.selection;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
diff --git a/src/com/android/documentsui/services/CompressJob.java b/src/com/android/documentsui/services/CompressJob.java
index bf674c487..555149bf6 100644
--- a/src/com/android/documentsui/services/CompressJob.java
+++ b/src/com/android/documentsui/services/CompressJob.java
@@ -16,7 +16,7 @@
package com.android.documentsui.services;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.services.FileOperationService.OPERATION_MOVE;
import android.app.Notification;
diff --git a/src/com/android/documentsui/services/CopyJob.java b/src/com/android/documentsui/services/CopyJob.java
index 678e6d24a..14391ab0d 100644
--- a/src/com/android/documentsui/services/CopyJob.java
+++ b/src/com/android/documentsui/services/CopyJob.java
@@ -25,7 +25,7 @@ import static android.provider.DocumentsContract.isChildDocument;
import static com.android.documentsui.OperationDialogFragment.DIALOG_TYPE_CONVERTED;
import static com.android.documentsui.base.DocumentInfo.getCursorLong;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.services.FileOperationService.EXTRA_DIALOG_TYPE;
import static com.android.documentsui.services.FileOperationService.EXTRA_FAILED_DOCS;
import static com.android.documentsui.services.FileOperationService.EXTRA_OPERATION_TYPE;
diff --git a/src/com/android/documentsui/services/DeleteJob.java b/src/com/android/documentsui/services/DeleteJob.java
index 8abacda34..041eba721 100644
--- a/src/com/android/documentsui/services/DeleteJob.java
+++ b/src/com/android/documentsui/services/DeleteJob.java
@@ -16,7 +16,7 @@
package com.android.documentsui.services;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.services.FileOperationService.OPERATION_DELETE;
import android.app.Notification;
diff --git a/src/com/android/documentsui/services/FileOperationService.java b/src/com/android/documentsui/services/FileOperationService.java
index 046722e92..40f18d38a 100644
--- a/src/com/android/documentsui/services/FileOperationService.java
+++ b/src/com/android/documentsui/services/FileOperationService.java
@@ -16,7 +16,7 @@
package com.android.documentsui.services;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.IntDef;
import android.app.Notification;
diff --git a/src/com/android/documentsui/services/FileOperations.java b/src/com/android/documentsui/services/FileOperations.java
index d699ed003..d35b23776 100644
--- a/src/com/android/documentsui/services/FileOperations.java
+++ b/src/com/android/documentsui/services/FileOperations.java
@@ -17,7 +17,7 @@
package com.android.documentsui.services;
import static android.os.SystemClock.elapsedRealtime;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.services.FileOperationService.EXTRA_CANCEL;
import static com.android.documentsui.services.FileOperationService.EXTRA_JOB_ID;
import static com.android.documentsui.services.FileOperationService.EXTRA_OPERATION;
diff --git a/src/com/android/documentsui/services/MoveJob.java b/src/com/android/documentsui/services/MoveJob.java
index cf8bb3cc4..c46f39bc4 100644
--- a/src/com/android/documentsui/services/MoveJob.java
+++ b/src/com/android/documentsui/services/MoveJob.java
@@ -16,7 +16,7 @@
package com.android.documentsui.services;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.services.FileOperationService.OPERATION_MOVE;
import android.app.Notification;
diff --git a/src/com/android/documentsui/sidebar/RootsFragment.java b/src/com/android/documentsui/sidebar/RootsFragment.java
index 0fa3d8574..db8d0e8a3 100644
--- a/src/com/android/documentsui/sidebar/RootsFragment.java
+++ b/src/com/android/documentsui/sidebar/RootsFragment.java
@@ -16,8 +16,8 @@
package com.android.documentsui.sidebar;
-import static com.android.documentsui.base.Shared.DEBUG;
-import static com.android.documentsui.base.Shared.VERBOSE;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import android.annotation.Nullable;
import android.app.Activity;
diff --git a/src/com/android/documentsui/sidebar/SpacerItem.java b/src/com/android/documentsui/sidebar/SpacerItem.java
index 56eecb1c7..89cea1a4e 100644
--- a/src/com/android/documentsui/sidebar/SpacerItem.java
+++ b/src/com/android/documentsui/sidebar/SpacerItem.java
@@ -16,7 +16,7 @@
package com.android.documentsui.sidebar;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.util.Log;
import android.view.View;
diff --git a/src/com/android/documentsui/sorting/SortModel.java b/src/com/android/documentsui/sorting/SortModel.java
index 9dc07847a..311e89f8a 100644
--- a/src/com/android/documentsui/sorting/SortModel.java
+++ b/src/com/android/documentsui/sorting/SortModel.java
@@ -16,7 +16,7 @@
package com.android.documentsui.sorting;
-import static com.android.documentsui.base.Shared.DEBUG;
+import static com.android.documentsui.base.SharedMinimal.DEBUG;
import android.annotation.IntDef;
import android.annotation.Nullable;