diff options
92 files changed, 210 insertions, 470 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index cdad8d4c8..98523c826 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -104,7 +104,7 @@ </activity> <provider - android:name=".LastAccessedProvider" + android:name=".picker.LastAccessedProvider" android:authorities="com.android.documentsui.lastAccessed" android:exported="false"/> diff --git a/perf-tests/Android.mk b/perf-tests/Android.mk index 39a08f741..7cbc5fe3d 100644 --- a/perf-tests/Android.mk +++ b/perf-tests/Android.mk @@ -6,9 +6,9 @@ LOCAL_MODULE_TAGS := tests LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res LOCAL_SRC_FILES := $(call all-java-files-under, src) \ $(call all-java-files-under, ../tests/src/com/android/documentsui/bots) \ - ../tests/src/com/android/documentsui/ActivityTest.java \ ../tests/src/com/android/documentsui/DocumentsProviderHelper.java \ - ../tests/src/com/android/documentsui/StubProvider.java + ../tests/src/com/android/documentsui/StubProvider.java \ + ../tests/src/com/android/documentsui/functional/ActivityTest.java LOCAL_JAVA_LIBRARIES := android-support-v4 android.test.runner LOCAL_STATIC_JAVA_LIBRARIES := mockito-target ub-uiautomator ub-janktesthelper espresso-core diff --git a/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java b/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java index a4a4a8694..05c7c95be 100644 --- a/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java +++ b/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java @@ -28,8 +28,9 @@ import android.test.suitebuilder.annotation.LargeTest; import android.util.Log; import android.view.KeyEvent; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.EventListener; +import com.android.documentsui.base.RootInfo; +import com.android.documentsui.functional.ActivityTest; import com.android.documentsui.manager.ManageActivity; import java.util.ArrayList; diff --git a/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java b/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java index 84d23f7d7..0d1d143d2 100644 --- a/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java +++ b/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java @@ -33,7 +33,7 @@ import android.support.test.jank.GfxMonitor; import android.support.test.uiautomator.UiScrollable; import android.util.Log; -import com.android.documentsui.bots.RootsListBot; +import com.android.documentsui.bots.SidebarBot; import com.android.documentsui.manager.ManageActivity; import com.android.documentsui.bots.DirectoryListBot; @@ -43,14 +43,14 @@ public class FilesJankPerfTest extends JankTestBase { private static final int MAX_FLINGS = 10; private static final int BOT_TIMEOUT = 5000; - private RootsListBot mRootsListBot; + private SidebarBot mRootsListBot; private DirectoryListBot mDirListBot; private Activity mActivity = null; public void setUpInLoop() { final UiDevice device = UiDevice.getInstance(getInstrumentation()); final Context context = getInstrumentation().getTargetContext(); - mRootsListBot = new RootsListBot(device, context, BOT_TIMEOUT); + mRootsListBot = new SidebarBot(device, context, BOT_TIMEOUT); mDirListBot = new DirectoryListBot(device, context, BOT_TIMEOUT); final Intent intent = new Intent(context, ManageActivity.class); diff --git a/res/layout/fragment_roots.xml b/res/layout/fragment_roots.xml index e10a28f5e..208b6b2bf 100644 --- a/res/layout/fragment_roots.xml +++ b/res/layout/fragment_roots.xml @@ -14,7 +14,7 @@ limitations under the License. --> -<com.android.documentsui.RootsList xmlns:android="http://schemas.android.com/apk/res/android" +<com.android.documentsui.sidebar.RootsList xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/roots_list" android:layout_width="match_parent" android:layout_height="match_parent" diff --git a/res/layout/item_root.xml b/res/layout/item_root.xml index 114fd09a8..aff7bf3a1 100644 --- a/res/layout/item_root.xml +++ b/res/layout/item_root.xml @@ -14,7 +14,7 @@ limitations under the License. --> -<com.android.documentsui.RootItemView +<com.android.documentsui.sidebar.RootItemView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -86,4 +86,4 @@ </FrameLayout> -</com.android.documentsui.RootItemView> +</com.android.documentsui.sidebar.RootItemView> diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java index 2970eb183..b61252b8a 100644 --- a/src/com/android/documentsui/BaseActivity.java +++ b/src/com/android/documentsui/BaseActivity.java @@ -54,15 +54,17 @@ import com.android.documentsui.MenuManager.DirectoryDetails; import com.android.documentsui.NavigationViewManager.Breadcrumb; import com.android.documentsui.SearchViewManager.SearchManagerListener; import com.android.documentsui.State.ViewMode; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.PairedTask; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.dirlist.AnimationView; import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.dirlist.FragmentTuner; import com.android.documentsui.dirlist.Model; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperations; +import com.android.documentsui.sidebar.RootsFragment; import com.android.documentsui.sorting.SortController; import com.android.documentsui.sorting.SortModel; @@ -259,7 +261,7 @@ public abstract class BaseActivity extends Activity mNavigator.revealRootsDrawer(open); } - void onRootPicked(RootInfo root) { + public void onRootPicked(RootInfo root) { // Clicking on the current root removes search mSearchManager.cancelSearch(); diff --git a/src/com/android/documentsui/CreateDirectoryFragment.java b/src/com/android/documentsui/CreateDirectoryFragment.java index 5b5a96e5c..215f3bb24 100644 --- a/src/com/android/documentsui/CreateDirectoryFragment.java +++ b/src/com/android/documentsui/CreateDirectoryFragment.java @@ -43,7 +43,7 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; /** * Dialog to create a new directory. diff --git a/src/com/android/documentsui/DirectoryLoader.java b/src/com/android/documentsui/DirectoryLoader.java index b5079fd50..8a14e3179 100644 --- a/src/com/android/documentsui/DirectoryLoader.java +++ b/src/com/android/documentsui/DirectoryLoader.java @@ -29,8 +29,8 @@ import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.util.Log; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.sorting.SortModel; import java.io.FileNotFoundException; diff --git a/src/com/android/documentsui/DirectoryResult.java b/src/com/android/documentsui/DirectoryResult.java index f7ccc485b..32910ce67 100644 --- a/src/com/android/documentsui/DirectoryResult.java +++ b/src/com/android/documentsui/DirectoryResult.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.content.ContentProviderClient; import android.database.Cursor; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.sorting.SortModel; import libcore.io.IoUtils; diff --git a/src/com/android/documentsui/DropdownBreadcrumb.java b/src/com/android/documentsui/DropdownBreadcrumb.java index 71d733496..f34933072 100644 --- a/src/com/android/documentsui/DropdownBreadcrumb.java +++ b/src/com/android/documentsui/DropdownBreadcrumb.java @@ -28,8 +28,8 @@ import android.widget.TextView; import com.android.documentsui.NavigationViewManager.Breadcrumb; import com.android.documentsui.NavigationViewManager.Environment; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import java.util.function.Consumer; diff --git a/src/com/android/documentsui/FilesMenuManager.java b/src/com/android/documentsui/FilesMenuManager.java index 94ea4f989..cff1f0a1b 100644 --- a/src/com/android/documentsui/FilesMenuManager.java +++ b/src/com/android/documentsui/FilesMenuManager.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.view.Menu; import android.view.MenuItem; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; public final class FilesMenuManager extends MenuManager { diff --git a/src/com/android/documentsui/FilteringCursorWrapper.java b/src/com/android/documentsui/FilteringCursorWrapper.java index 7426af56e..654719110 100644 --- a/src/com/android/documentsui/FilteringCursorWrapper.java +++ b/src/com/android/documentsui/FilteringCursorWrapper.java @@ -18,8 +18,8 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.Shared.TAG; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorLong; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.database.AbstractCursor; import android.database.Cursor; diff --git a/src/com/android/documentsui/HorizontalBreadcrumb.java b/src/com/android/documentsui/HorizontalBreadcrumb.java index 7a08071fd..b631db5ae 100644 --- a/src/com/android/documentsui/HorizontalBreadcrumb.java +++ b/src/com/android/documentsui/HorizontalBreadcrumb.java @@ -29,8 +29,8 @@ import android.widget.ImageView; import com.android.documentsui.NavigationViewManager.Breadcrumb; import com.android.documentsui.NavigationViewManager.Environment; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import java.util.function.Consumer; diff --git a/src/com/android/documentsui/LoadRootTask.java b/src/com/android/documentsui/LoadRootTask.java index c5d359b12..1b98ce0bd 100644 --- a/src/com/android/documentsui/LoadRootTask.java +++ b/src/com/android/documentsui/LoadRootTask.java @@ -20,7 +20,8 @@ import android.net.Uri; import android.provider.DocumentsContract; import android.util.Log; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.PairedTask; +import com.android.documentsui.base.RootInfo; final class LoadRootTask extends PairedTask<BaseActivity, Void, RootInfo> { private static final String TAG = "RestoreRootTask"; diff --git a/src/com/android/documentsui/LocalPreferences.java b/src/com/android/documentsui/LocalPreferences.java index 4b1ac478e..c29e81982 100644 --- a/src/com/android/documentsui/LocalPreferences.java +++ b/src/com/android/documentsui/LocalPreferences.java @@ -28,7 +28,7 @@ import android.preference.PreferenceManager; import com.android.documentsui.State.ActionType; import com.android.documentsui.State.ViewMode; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/src/com/android/documentsui/MenuManager.java b/src/com/android/documentsui/MenuManager.java index 19d4482f8..974a5bf24 100644 --- a/src/com/android/documentsui/MenuManager.java +++ b/src/com/android/documentsui/MenuManager.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.view.Menu; import android.view.MenuItem; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; public abstract class MenuManager { diff --git a/src/com/android/documentsui/Metrics.java b/src/com/android/documentsui/Metrics.java index 22d7f3423..d3f4721b7 100644 --- a/src/com/android/documentsui/Metrics.java +++ b/src/com/android/documentsui/Metrics.java @@ -31,9 +31,9 @@ import android.provider.DocumentsContract; import android.util.Log; import com.android.documentsui.State.ActionType; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.manager.LauncherActivity; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperationService.OpType; import com.android.internal.logging.MetricsLogger; diff --git a/src/com/android/documentsui/MimePredicate.java b/src/com/android/documentsui/MimePredicate.java index 859763b83..567645e37 100644 --- a/src/com/android/documentsui/MimePredicate.java +++ b/src/com/android/documentsui/MimePredicate.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.annotation.Nullable; import android.provider.DocumentsContract.Document; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import com.android.internal.util.Predicate; public class MimePredicate implements Predicate<DocumentInfo> { diff --git a/src/com/android/documentsui/NavigationViewManager.java b/src/com/android/documentsui/NavigationViewManager.java index 1479ed463..43da9671c 100644 --- a/src/com/android/documentsui/NavigationViewManager.java +++ b/src/com/android/documentsui/NavigationViewManager.java @@ -23,8 +23,8 @@ import android.graphics.drawable.Drawable; import android.util.Log; import android.view.View; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.dirlist.AnimationView; -import com.android.documentsui.model.RootInfo; import java.util.function.Consumer; diff --git a/src/com/android/documentsui/OperationDialogFragment.java b/src/com/android/documentsui/OperationDialogFragment.java index 140baad03..19730b348 100644 --- a/src/com/android/documentsui/OperationDialogFragment.java +++ b/src/com/android/documentsui/OperationDialogFragment.java @@ -26,8 +26,8 @@ import android.content.DialogInterface; import android.os.Bundle; import android.text.Html; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperationService.OpType; diff --git a/src/com/android/documentsui/PackageReceiver.java b/src/com/android/documentsui/PackageReceiver.java index 878917146..ec6014af2 100644 --- a/src/com/android/documentsui/PackageReceiver.java +++ b/src/com/android/documentsui/PackageReceiver.java @@ -22,6 +22,8 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; +import com.android.documentsui.picker.LastAccessedProvider; + /** * Clean up {@link LastAccessedProvider} and {@link LocalPreferences} when packages are removed. */ diff --git a/src/com/android/documentsui/RecentsLoader.java b/src/com/android/documentsui/RecentsLoader.java index 0a559ca38..1b62e9f23 100644 --- a/src/com/android/documentsui/RecentsLoader.java +++ b/src/com/android/documentsui/RecentsLoader.java @@ -33,7 +33,7 @@ import android.provider.DocumentsContract.Document; import android.text.format.DateUtils; import android.util.Log; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.android.internal.annotations.GuardedBy; import libcore.io.IoUtils; diff --git a/src/com/android/documentsui/RootsCache.java b/src/com/android/documentsui/RootsCache.java index 93ce389a4..1b54777c7 100644 --- a/src/com/android/documentsui/RootsCache.java +++ b/src/com/android/documentsui/RootsCache.java @@ -40,7 +40,7 @@ import android.provider.DocumentsProvider; import android.support.annotation.VisibleForTesting; import android.util.Log; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.android.internal.annotations.GuardedBy; import libcore.io.IoUtils; diff --git a/src/com/android/documentsui/RootsLoader.java b/src/com/android/documentsui/RootsLoader.java index 5c4ccdddc..cddcb0de1 100644 --- a/src/com/android/documentsui/RootsLoader.java +++ b/src/com/android/documentsui/RootsLoader.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.content.AsyncTaskLoader; import android.content.Context; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import java.util.Collection; diff --git a/src/com/android/documentsui/SearchViewManager.java b/src/com/android/documentsui/SearchViewManager.java index 63c07dda6..1bbc439e9 100644 --- a/src/com/android/documentsui/SearchViewManager.java +++ b/src/com/android/documentsui/SearchViewManager.java @@ -32,7 +32,7 @@ import android.view.View.OnFocusChangeListener; import android.widget.SearchView; import android.widget.SearchView.OnQueryTextListener; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.sorting.SortModel; /** diff --git a/src/com/android/documentsui/SectionedListAdapter.java b/src/com/android/documentsui/SectionedListAdapter.java deleted file mode 100644 index ae959f91d..000000000 --- a/src/com/android/documentsui/SectionedListAdapter.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (C) 2013 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.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.BaseAdapter; -import android.widget.ListAdapter; - -import java.util.ArrayList; - -/** - * Adapter that combines multiple adapters as sections, asking each section to - * provide a header, and correctly handling item types across child adapters. - */ -public class SectionedListAdapter extends BaseAdapter { - private ArrayList<SectionAdapter> mSections = new ArrayList<>(); - - public interface SectionAdapter extends ListAdapter { - public View getHeaderView(View convertView, ViewGroup parent); - } - - public void clearSections() { - mSections.clear(); - notifyDataSetChanged(); - } - - /** - * After mutating sections, you <em>must</em> - * {@link AdapterView#setAdapter(android.widget.Adapter)} to correctly - * recount view types. - */ - public void addSection(SectionAdapter adapter) { - mSections.add(adapter); - notifyDataSetChanged(); - } - - @Override - public int getCount() { - int count = 0; - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - count += mSections.get(i).getCount() + 1; - } - return count; - } - - @Override - public Object getItem(int position) { - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - final SectionAdapter section = mSections.get(i); - final int sectionSize = section.getCount() + 1; - - // Check if position inside this section - if (position == 0) { - return section; - } else if (position < sectionSize) { - return section.getItem(position - 1); - } - - // Otherwise jump into next section - position -= sectionSize; - } - throw new IllegalStateException("Unknown position " + position); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - final SectionAdapter section = mSections.get(i); - final int sectionSize = section.getCount() + 1; - - // Check if position inside this section - if (position == 0) { - return section.getHeaderView(convertView, parent); - } else if (position < sectionSize) { - return section.getView(position - 1, convertView, parent); - } - - // Otherwise jump into next section - position -= sectionSize; - } - throw new IllegalStateException("Unknown position " + position); - } - - @Override - public boolean areAllItemsEnabled() { - return false; - } - - @Override - public boolean isEnabled(int position) { - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - final SectionAdapter section = mSections.get(i); - final int sectionSize = section.getCount() + 1; - - // Check if position inside this section - if (position == 0) { - return false; - } else if (position < sectionSize) { - return section.isEnabled(position - 1); - } - - // Otherwise jump into next section - position -= sectionSize; - } - throw new IllegalStateException("Unknown position " + position); - } - - @Override - public int getItemViewType(int position) { - int type = 1; - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - final SectionAdapter section = mSections.get(i); - final int sectionSize = section.getCount() + 1; - - // Check if position inside this section - if (position == 0) { - return 0; - } else if (position < sectionSize) { - return type + section.getItemViewType(position - 1); - } - - // Otherwise jump into next section - position -= sectionSize; - type += section.getViewTypeCount(); - } - throw new IllegalStateException("Unknown position " + position); - } - - @Override - public int getViewTypeCount() { - int count = 1; - final int size = mSections.size(); - for (int i = 0; i < size; i++) { - count += mSections.get(i).getViewTypeCount(); - } - return count; - } -} diff --git a/src/com/android/documentsui/State.java b/src/com/android/documentsui/State.java index bb92eeafa..f2d59247f 100644 --- a/src/com/android/documentsui/State.java +++ b/src/com/android/documentsui/State.java @@ -25,10 +25,10 @@ import android.os.Parcelable; import android.util.Log; import android.util.SparseArray; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.DurableUtils; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.DurableUtils; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperationService.OpType; import com.android.documentsui.sorting.SortModel; diff --git a/src/com/android/documentsui/UriDerivativeLoader.java b/src/com/android/documentsui/UriDerivativeLoader.java deleted file mode 100644 index 7bb662c72..000000000 --- a/src/com/android/documentsui/UriDerivativeLoader.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 2013 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.content.AsyncTaskLoader; -import android.content.Context; -import android.database.ContentObserver; -import android.os.CancellationSignal; -import android.os.OperationCanceledException; - -/** - * Loader that derives its data from a Uri. Watches for {@link ContentObserver} - * changes while started, manages {@link CancellationSignal}, and caches - * returned results. - */ -public abstract class UriDerivativeLoader<Param, Res> extends AsyncTaskLoader<Res> { - final ForceLoadContentObserver mObserver; - - private final Param mParam; - - private Res mResult; - private CancellationSignal mCancellationSignal; - - @Override - public final Res loadInBackground() { - synchronized (this) { - if (isLoadInBackgroundCanceled()) { - throw new OperationCanceledException(); - } - mCancellationSignal = new CancellationSignal(); - } - try { - return loadInBackground(mParam, mCancellationSignal); - } finally { - synchronized (this) { - mCancellationSignal = null; - } - } - } - - public abstract Res loadInBackground(Param param, CancellationSignal signal); - - @Override - public void cancelLoadInBackground() { - super.cancelLoadInBackground(); - - synchronized (this) { - if (mCancellationSignal != null) { - mCancellationSignal.cancel(); - } - } - } - - @Override - public void deliverResult(Res result) { - if (isReset()) { - closeQuietly(result); - return; - } - Res oldResult = mResult; - mResult = result; - - if (isStarted()) { - super.deliverResult(result); - } - - if (oldResult != null && oldResult != result) { - closeQuietly(oldResult); - } - } - - public UriDerivativeLoader(Context context, Param param) { - super(context); - mObserver = new ForceLoadContentObserver(); - mParam = param; - } - - @Override - protected void onStartLoading() { - if (mResult != null) { - deliverResult(mResult); - } - if (takeContentChanged() || mResult == null) { - forceLoad(); - } - } - - @Override - protected void onStopLoading() { - cancelLoad(); - } - - @Override - public void onCanceled(Res result) { - closeQuietly(result); - } - - @Override - protected void onReset() { - super.onReset(); - - // Ensure the loader is stopped - onStopLoading(); - - closeQuietly(mResult); - mResult = null; - - getContext().getContentResolver().unregisterContentObserver(mObserver); - } - - private void closeQuietly(Res result) { - if (result instanceof AutoCloseable) { - try { - ((AutoCloseable) result).close(); - } catch (RuntimeException rethrown) { - throw rethrown; - } catch (Exception ignored) { - } - } - } -} diff --git a/src/com/android/documentsui/CheckedTask.java b/src/com/android/documentsui/base/CheckedTask.java index 242a2799e..940763ce0 100644 --- a/src/com/android/documentsui/CheckedTask.java +++ b/src/com/android/documentsui/base/CheckedTask.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.base; import android.os.AsyncTask; @@ -31,7 +31,7 @@ import android.os.AsyncTask; * @template Input input type * @template Output output type */ -abstract class CheckedTask<Input, Output> +public abstract class CheckedTask<Input, Output> extends AsyncTask<Input, Void, Output> { private Check mCheck; @@ -74,7 +74,7 @@ abstract class CheckedTask<Input, Output> } @FunctionalInterface - interface Check { + public interface Check { boolean stop(); } } diff --git a/src/com/android/documentsui/model/DocumentInfo.java b/src/com/android/documentsui/base/DocumentInfo.java index 6a0214768..b9432f062 100644 --- a/src/com/android/documentsui/model/DocumentInfo.java +++ b/src/com/android/documentsui/base/DocumentInfo.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import android.content.ContentProviderClient; import android.content.ContentResolver; diff --git a/src/com/android/documentsui/model/DocumentStack.java b/src/com/android/documentsui/base/DocumentStack.java index ae7e8207b..e9784094f 100644 --- a/src/com/android/documentsui/model/DocumentStack.java +++ b/src/com/android/documentsui/base/DocumentStack.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import android.content.ContentResolver; import android.os.Parcel; diff --git a/src/com/android/documentsui/model/Durable.java b/src/com/android/documentsui/base/Durable.java index 01633edca..812f21735 100644 --- a/src/com/android/documentsui/model/Durable.java +++ b/src/com/android/documentsui/base/Durable.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/src/com/android/documentsui/model/DurableUtils.java b/src/com/android/documentsui/base/DurableUtils.java index e21dd4930..2b1d16ec0 100644 --- a/src/com/android/documentsui/model/DurableUtils.java +++ b/src/com/android/documentsui/base/DurableUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import static com.android.documentsui.Shared.TAG; diff --git a/src/com/android/documentsui/PairedTask.java b/src/com/android/documentsui/base/PairedTask.java index fe0e0f803..5c6424684 100644 --- a/src/com/android/documentsui/PairedTask.java +++ b/src/com/android/documentsui/base/PairedTask.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.base; import android.app.Activity; diff --git a/src/com/android/documentsui/model/RootInfo.java b/src/com/android/documentsui/base/RootInfo.java index ddfec9433..2413f4ee5 100644 --- a/src/com/android/documentsui/model/RootInfo.java +++ b/src/com/android/documentsui/base/RootInfo.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.Shared.compareToIgnoreCaseNullable; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +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 android.annotation.IntDef; import android.annotation.Nullable; diff --git a/src/com/android/documentsui/clipping/DocumentClipper.java b/src/com/android/documentsui/clipping/DocumentClipper.java index bdc1836f2..86ae2c6d6 100644 --- a/src/com/android/documentsui/clipping/DocumentClipper.java +++ b/src/com/android/documentsui/clipping/DocumentClipper.java @@ -28,10 +28,10 @@ import android.support.annotation.Nullable; import android.util.Log; import com.android.documentsui.Shared; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.dirlist.MultiSelectManager.Selection; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.services.FileOperation; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperationService.OpType; diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java index 29b605dea..b6a00095f 100644 --- a/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -19,8 +19,8 @@ package com.android.documentsui.dirlist; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.State.MODE_GRID; import static com.android.documentsui.State.MODE_LIST; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorInt; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.annotation.IntDef; import android.annotation.StringRes; @@ -82,12 +82,12 @@ import com.android.documentsui.Shared; import com.android.documentsui.Snackbars; import com.android.documentsui.State; import com.android.documentsui.State.ViewMode; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.ThumbnailCache; import com.android.documentsui.clipping.DocumentClipper; import com.android.documentsui.clipping.UrisSupplier; import com.android.documentsui.dirlist.MultiSelectManager.Selection; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.picker.PickActivity; import com.android.documentsui.services.FileOperation; import com.android.documentsui.services.FileOperationService; diff --git a/src/com/android/documentsui/dirlist/DocumentsAdapter.java b/src/com/android/documentsui/dirlist/DocumentsAdapter.java index cb5afd7d4..3066ca1fe 100644 --- a/src/com/android/documentsui/dirlist/DocumentsAdapter.java +++ b/src/com/android/documentsui/dirlist/DocumentsAdapter.java @@ -16,7 +16,7 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.content.Context; import android.database.Cursor; diff --git a/src/com/android/documentsui/dirlist/DragShadowBuilder.java b/src/com/android/documentsui/dirlist/DragShadowBuilder.java index 03c3ad06b..5533d2034 100644 --- a/src/com/android/documentsui/dirlist/DragShadowBuilder.java +++ b/src/com/android/documentsui/dirlist/DragShadowBuilder.java @@ -28,8 +28,8 @@ import android.widget.TextView; import com.android.documentsui.R; import com.android.documentsui.Shared; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.dirlist.MultiSelectManager.Selection; -import com.android.documentsui.model.DocumentInfo; import java.util.List; import java.util.function.Function; diff --git a/src/com/android/documentsui/dirlist/DragStartListener.java b/src/com/android/documentsui/dirlist/DragStartListener.java index 86906007d..5d764df93 100644 --- a/src/com/android/documentsui/dirlist/DragStartListener.java +++ b/src/com/android/documentsui/dirlist/DragStartListener.java @@ -27,10 +27,10 @@ import android.view.View; import com.android.documentsui.Events; import com.android.documentsui.Events.InputEvent; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.State; import com.android.documentsui.clipping.DocumentClipper; import com.android.documentsui.dirlist.MultiSelectManager.Selection; -import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.services.FileOperationService.OpType; diff --git a/src/com/android/documentsui/dirlist/FocusManager.java b/src/com/android/documentsui/dirlist/FocusManager.java index e5b291de5..af4b5fd4c 100644 --- a/src/com/android/documentsui/dirlist/FocusManager.java +++ b/src/com/android/documentsui/dirlist/FocusManager.java @@ -16,7 +16,7 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.annotation.ColorRes; import android.annotation.Nullable; diff --git a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java index 01a8dcb97..d3026b33a 100644 --- a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java +++ b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java @@ -16,7 +16,7 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.content.Context; import android.database.Cursor; diff --git a/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/src/com/android/documentsui/dirlist/GridDocumentHolder.java index 74e7517dd..31ca90a56 100644 --- a/src/com/android/documentsui/dirlist/GridDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/GridDocumentHolder.java @@ -16,9 +16,9 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +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 android.annotation.ColorInt; import android.content.Context; diff --git a/src/com/android/documentsui/dirlist/IconHelper.java b/src/com/android/documentsui/dirlist/IconHelper.java index 237b9907c..65b229d82 100644 --- a/src/com/android/documentsui/dirlist/IconHelper.java +++ b/src/com/android/documentsui/dirlist/IconHelper.java @@ -47,7 +47,7 @@ import com.android.documentsui.State; import com.android.documentsui.State.ViewMode; import com.android.documentsui.ThumbnailCache; import com.android.documentsui.ThumbnailCache.Result; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import java.util.function.BiConsumer; diff --git a/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/src/com/android/documentsui/dirlist/ListDocumentHolder.java index 67d131e0c..30100f9ac 100644 --- a/src/com/android/documentsui/dirlist/ListDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/ListDocumentHolder.java @@ -16,9 +16,9 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +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 android.content.Context; import android.database.Cursor; diff --git a/src/com/android/documentsui/dirlist/Model.java b/src/com/android/documentsui/dirlist/Model.java index ed1237ad0..580e6bcb9 100644 --- a/src/com/android/documentsui/dirlist/Model.java +++ b/src/com/android/documentsui/dirlist/Model.java @@ -17,8 +17,8 @@ package com.android.documentsui.dirlist; import static com.android.documentsui.Shared.DEBUG; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorLong; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.database.Cursor; import android.database.MergeCursor; @@ -33,8 +33,8 @@ import android.util.Log; import com.android.documentsui.DirectoryResult; import com.android.documentsui.RootCursorWrapper; import com.android.documentsui.Shared; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.dirlist.MultiSelectManager.Selection; -import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.sorting.SortDimension; import com.android.documentsui.sorting.SortModel; diff --git a/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java b/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java index 2c1a221a4..05c55188f 100644 --- a/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java +++ b/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java @@ -19,8 +19,8 @@ package com.android.documentsui.dirlist; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.State.MODE_GRID; import static com.android.documentsui.State.MODE_LIST; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorInt; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.database.Cursor; import android.provider.DocumentsContract.Document; diff --git a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java index 73aa366ed..f205b7eb6 100644 --- a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java +++ b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java @@ -48,7 +48,7 @@ import com.android.documentsui.Metrics; import com.android.documentsui.R; import com.android.documentsui.Shared; import com.android.documentsui.Snackbars; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; /** * Dialog to rename file or directory. diff --git a/src/com/android/documentsui/dirlist/SelectionMetadata.java b/src/com/android/documentsui/dirlist/SelectionMetadata.java index 6f917495f..7dbcacbaf 100644 --- a/src/com/android/documentsui/dirlist/SelectionMetadata.java +++ b/src/com/android/documentsui/dirlist/SelectionMetadata.java @@ -16,8 +16,8 @@ package com.android.documentsui.dirlist; -import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorInt; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.database.Cursor; import android.provider.DocumentsContract.Document; diff --git a/src/com/android/documentsui/manager/ManageActivity.java b/src/com/android/documentsui/manager/ManageActivity.java index 2cde713e2..202e6195e 100644 --- a/src/com/android/documentsui/manager/ManageActivity.java +++ b/src/com/android/documentsui/manager/ManageActivity.java @@ -42,11 +42,13 @@ import com.android.documentsui.MenuManager.DirectoryDetails; import com.android.documentsui.Metrics; import com.android.documentsui.OperationDialogFragment; import com.android.documentsui.OperationDialogFragment.DialogType; -import com.android.documentsui.PairedTask; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.PairedTask; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.ProviderExecutor; import com.android.documentsui.R; import com.android.documentsui.RootsCache; -import com.android.documentsui.RootsFragment; import com.android.documentsui.Shared; import com.android.documentsui.Snackbars; import com.android.documentsui.State; @@ -56,10 +58,8 @@ import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.dirlist.FragmentTuner; import com.android.documentsui.dirlist.FragmentTuner.FilesTuner; import com.android.documentsui.dirlist.Model; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.services.FileOperationService; +import com.android.documentsui.sidebar.RootsFragment; import java.io.FileNotFoundException; import java.util.ArrayList; diff --git a/src/com/android/documentsui/manager/QuickViewIntentBuilder.java b/src/com/android/documentsui/manager/QuickViewIntentBuilder.java index a74e709db..e24ad9bd9 100644 --- a/src/com/android/documentsui/manager/QuickViewIntentBuilder.java +++ b/src/com/android/documentsui/manager/QuickViewIntentBuilder.java @@ -18,7 +18,7 @@ package com.android.documentsui.manager; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.Shared.MAX_DOCS_IN_INTENT; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.content.ClipData; import android.content.ClipDescription; @@ -37,8 +37,8 @@ import android.util.Range; import com.android.documentsui.R; import com.android.documentsui.RootCursorWrapper; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.dirlist.Model; -import com.android.documentsui.model.DocumentInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/documentsui/LastAccessedProvider.java b/src/com/android/documentsui/picker/LastAccessedProvider.java index ba818cbab..bb1a1294f 100644 --- a/src/com/android/documentsui/LastAccessedProvider.java +++ b/src/com/android/documentsui/picker/LastAccessedProvider.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.picker; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import android.content.ContentProvider; import android.content.ContentResolver; @@ -33,8 +33,8 @@ import android.os.Bundle; import android.provider.DocumentsContract; import android.util.Log; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.DurableUtils; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.DurableUtils; import com.android.internal.util.Predicate; import com.google.android.collect.Sets; diff --git a/src/com/android/documentsui/picker/LoadLastAccessedStackTask.java b/src/com/android/documentsui/picker/LoadLastAccessedStackTask.java index 0d2ea31ce..6770895bc 100644 --- a/src/com/android/documentsui/picker/LoadLastAccessedStackTask.java +++ b/src/com/android/documentsui/picker/LoadLastAccessedStackTask.java @@ -23,14 +23,13 @@ import android.net.Uri; import android.util.Log; import com.android.documentsui.DocumentsApplication; -import com.android.documentsui.LastAccessedProvider; -import com.android.documentsui.LastAccessedProvider.Columns; -import com.android.documentsui.PairedTask; import com.android.documentsui.RootsCache; import com.android.documentsui.State; +import com.android.documentsui.base.DurableUtils; +import com.android.documentsui.base.PairedTask; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.dirlist.AnimationView; -import com.android.documentsui.model.DurableUtils; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.picker.LastAccessedProvider.Columns; import libcore.io.IoUtils; diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java index 810920d7e..64b627575 100644 --- a/src/com/android/documentsui/picker/PickActivity.java +++ b/src/com/android/documentsui/picker/PickActivity.java @@ -44,15 +44,13 @@ import android.view.Menu; import com.android.documentsui.BaseActivity; import com.android.documentsui.DocumentsApplication; import com.android.documentsui.DocumentsMenuManager; -import com.android.documentsui.LastAccessedProvider; -import com.android.documentsui.LastAccessedProvider.Columns; import com.android.documentsui.MenuManager; import com.android.documentsui.MenuManager.DirectoryDetails; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.PairedTask; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.MimePredicate; -import com.android.documentsui.PairedTask; -import com.android.documentsui.PickFragment; import com.android.documentsui.R; -import com.android.documentsui.RootsFragment; import com.android.documentsui.Shared; import com.android.documentsui.Snackbars; import com.android.documentsui.State; @@ -60,9 +58,9 @@ import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.dirlist.FragmentTuner; import com.android.documentsui.dirlist.FragmentTuner.DocumentsTuner; import com.android.documentsui.dirlist.Model; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.picker.LastAccessedProvider.Columns; import com.android.documentsui.services.FileOperationService; +import com.android.documentsui.sidebar.RootsFragment; import java.util.Arrays; import java.util.List; diff --git a/src/com/android/documentsui/PickFragment.java b/src/com/android/documentsui/picker/PickFragment.java index e7ce9449e..bd44f6ee8 100644 --- a/src/com/android/documentsui/PickFragment.java +++ b/src/com/android/documentsui/picker/PickFragment.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.picker; import static com.android.documentsui.services.FileOperationService.OPERATION_DELETE; import static com.android.documentsui.services.FileOperationService.OPERATION_MOVE; @@ -30,8 +30,13 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.picker.PickActivity; +import com.android.documentsui.BaseActivity; +import com.android.documentsui.R; +import com.android.documentsui.State; +import com.android.documentsui.R.id; +import com.android.documentsui.R.layout; +import com.android.documentsui.R.string; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.services.FileOperationService.OpType; /** diff --git a/src/com/android/documentsui/picker/SaveFragment.java b/src/com/android/documentsui/picker/SaveFragment.java index a8f2f88ed..3ce88be0e 100644 --- a/src/com/android/documentsui/picker/SaveFragment.java +++ b/src/com/android/documentsui/picker/SaveFragment.java @@ -35,7 +35,7 @@ import android.widget.ProgressBar; import com.android.documentsui.IconUtils; import com.android.documentsui.R; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; /** * Display document title editor and save button. diff --git a/src/com/android/documentsui/services/CopyJob.java b/src/com/android/documentsui/services/CopyJob.java index 8eabbe41f..7253a71a0 100644 --- a/src/com/android/documentsui/services/CopyJob.java +++ b/src/com/android/documentsui/services/CopyJob.java @@ -24,8 +24,8 @@ import static android.provider.DocumentsContract.isChildDocument; import static com.android.documentsui.OperationDialogFragment.DIALOG_TYPE_CONVERTED; import static com.android.documentsui.Shared.DEBUG; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorLong; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import static com.android.documentsui.services.FileOperationService.EXTRA_DIALOG_TYPE; import static com.android.documentsui.services.FileOperationService.EXTRA_OPERATION_TYPE; import static com.android.documentsui.services.FileOperationService.EXTRA_SRC_LIST; @@ -55,10 +55,10 @@ import com.android.documentsui.DocumentsApplication; import com.android.documentsui.Metrics; import com.android.documentsui.R; import com.android.documentsui.RootsCache; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.clipping.UrisSupplier; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.services.FileOperationService.OpType; import libcore.io.IoUtils; diff --git a/src/com/android/documentsui/services/DeleteJob.java b/src/com/android/documentsui/services/DeleteJob.java index 5a3681836..310955520 100644 --- a/src/com/android/documentsui/services/DeleteJob.java +++ b/src/com/android/documentsui/services/DeleteJob.java @@ -29,8 +29,8 @@ import android.util.Log; import com.android.documentsui.clipping.UrisSupplier; import com.android.documentsui.Metrics; import com.android.documentsui.R; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import java.io.IOException; import java.util.ArrayList; diff --git a/src/com/android/documentsui/services/FileOperation.java b/src/com/android/documentsui/services/FileOperation.java index 43c3bd7e6..5e4c21e20 100644 --- a/src/com/android/documentsui/services/FileOperation.java +++ b/src/com/android/documentsui/services/FileOperation.java @@ -27,8 +27,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.VisibleForTesting; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.clipping.UrisSupplier; -import com.android.documentsui.model.DocumentStack; import com.android.documentsui.services.FileOperationService.OpType; /** diff --git a/src/com/android/documentsui/services/Job.java b/src/com/android/documentsui/services/Job.java index 24a95c6cf..140afdc57 100644 --- a/src/com/android/documentsui/services/Job.java +++ b/src/com/android/documentsui/services/Job.java @@ -46,8 +46,8 @@ import com.android.documentsui.Metrics; import com.android.documentsui.OperationDialogFragment; import com.android.documentsui.R; import com.android.documentsui.Shared; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.services.FileOperationService.OpType; import java.lang.annotation.Retention; diff --git a/src/com/android/documentsui/services/MoveJob.java b/src/com/android/documentsui/services/MoveJob.java index dfd3e863b..a6c1d7736 100644 --- a/src/com/android/documentsui/services/MoveJob.java +++ b/src/com/android/documentsui/services/MoveJob.java @@ -30,9 +30,9 @@ import android.provider.DocumentsContract.Document; import android.util.Log; import com.android.documentsui.R; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.clipping.UrisSupplier; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; import java.io.FileNotFoundException; diff --git a/src/com/android/documentsui/EjectRootTask.java b/src/com/android/documentsui/sidebar/EjectRootTask.java index e47a26230..dabba4bf2 100644 --- a/src/com/android/documentsui/EjectRootTask.java +++ b/src/com/android/documentsui/sidebar/EjectRootTask.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.sidebar; import android.content.ContentProviderClient; import android.content.ContentResolver; @@ -23,6 +23,10 @@ import android.net.Uri; import android.provider.DocumentsContract; import android.util.Log; +import com.android.documentsui.DocumentsApplication; +import com.android.documentsui.Shared; +import com.android.documentsui.base.CheckedTask; + import java.util.function.BooleanSupplier; import java.util.function.Consumer; diff --git a/src/com/android/documentsui/RootItemView.java b/src/com/android/documentsui/sidebar/RootItemView.java index 93aa526aa..5700f9dd1 100644 --- a/src/com/android/documentsui/RootItemView.java +++ b/src/com/android/documentsui/sidebar/RootItemView.java @@ -14,12 +14,14 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.sidebar; import android.content.Context; import android.util.AttributeSet; import android.widget.LinearLayout; +import com.android.documentsui.R; + public final class RootItemView extends LinearLayout { private static final int[] STATE_HIGHLIGHTED = {R.attr.state_highlighted}; diff --git a/src/com/android/documentsui/RootsFragment.java b/src/com/android/documentsui/sidebar/RootsFragment.java index e4d44f27e..8c9df2a3a 100644 --- a/src/com/android/documentsui/RootsFragment.java +++ b/src/com/android/documentsui/sidebar/RootsFragment.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.sidebar; import static com.android.documentsui.Shared.DEBUG; @@ -59,10 +59,27 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; -import com.android.documentsui.CheckedTask.Check; +import com.android.documentsui.BaseActivity; +import com.android.documentsui.DocumentsApplication; +import com.android.documentsui.Events; +import com.android.documentsui.ItemDragListener; +import com.android.documentsui.Metrics; +import com.android.documentsui.ProviderExecutor; +import com.android.documentsui.R; +import com.android.documentsui.RootsCache; +import com.android.documentsui.RootsLoader; +import com.android.documentsui.Shared; +import com.android.documentsui.State; +import com.android.documentsui.ItemDragListener.DragHost; +import com.android.documentsui.R.id; +import com.android.documentsui.R.layout; +import com.android.documentsui.R.menu; +import com.android.documentsui.R.string; +import com.android.documentsui.base.CheckedTask; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; +import com.android.documentsui.base.CheckedTask.Check; import com.android.documentsui.clipping.DocumentClipper; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; import com.android.documentsui.picker.PickActivity; import com.android.documentsui.services.FileOperations; diff --git a/src/com/android/documentsui/RootsList.java b/src/com/android/documentsui/sidebar/RootsList.java index bf03ffd1e..248384983 100644 --- a/src/com/android/documentsui/RootsList.java +++ b/src/com/android/documentsui/sidebar/RootsList.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.sidebar; import android.content.Context; import android.util.AttributeSet; diff --git a/tests/src/com/android/documentsui/DocumentsMenuManagerTest.java b/tests/src/com/android/documentsui/DocumentsMenuManagerTest.java index 4a4c7b9cf..5272e43bb 100644 --- a/tests/src/com/android/documentsui/DocumentsMenuManagerTest.java +++ b/tests/src/com/android/documentsui/DocumentsMenuManagerTest.java @@ -26,7 +26,7 @@ import android.provider.DocumentsContract.Root; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.testing.TestDirectoryDetails; import com.android.documentsui.testing.TestMenu; import com.android.documentsui.testing.TestMenuItem; diff --git a/tests/src/com/android/documentsui/DocumentsProviderHelper.java b/tests/src/com/android/documentsui/DocumentsProviderHelper.java index 16ed2d9de..41d6dd86b 100644 --- a/tests/src/com/android/documentsui/DocumentsProviderHelper.java +++ b/tests/src/com/android/documentsui/DocumentsProviderHelper.java @@ -19,7 +19,7 @@ package com.android.documentsui; import static android.provider.DocumentsContract.buildChildDocumentsUri; import static android.provider.DocumentsContract.buildDocumentUri; import static android.provider.DocumentsContract.buildRootsUri; -import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.documentsui.base.DocumentInfo.getCursorString; import static com.android.internal.util.Preconditions.checkArgument; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; @@ -40,8 +40,8 @@ import android.support.annotation.Nullable; import android.test.MoreAsserts; import android.text.TextUtils; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.RootInfo; import com.google.android.collect.Lists; diff --git a/tests/src/com/android/documentsui/FilesMenuManagerTest.java b/tests/src/com/android/documentsui/FilesMenuManagerTest.java index 0330d6ac3..3924ecece 100644 --- a/tests/src/com/android/documentsui/FilesMenuManagerTest.java +++ b/tests/src/com/android/documentsui/FilesMenuManagerTest.java @@ -22,7 +22,7 @@ import android.provider.DocumentsContract.Root; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.testing.TestDirectoryDetails; import com.android.documentsui.testing.TestMenu; import com.android.documentsui.testing.TestMenuItem; diff --git a/tests/src/com/android/documentsui/RootsCacheTest.java b/tests/src/com/android/documentsui/RootsCacheTest.java index 2e81545e8..5def34144 100644 --- a/tests/src/com/android/documentsui/RootsCacheTest.java +++ b/tests/src/com/android/documentsui/RootsCacheTest.java @@ -22,7 +22,7 @@ import static com.google.common.collect.Lists.newArrayList; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.RootInfo; import com.google.common.collect.Lists; diff --git a/tests/src/com/android/documentsui/StateTest.java b/tests/src/com/android/documentsui/StateTest.java index f057850ad..3bd5d7dcc 100644 --- a/tests/src/com/android/documentsui/StateTest.java +++ b/tests/src/com/android/documentsui/StateTest.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; @SmallTest public class StateTest extends AndroidTestCase { diff --git a/tests/src/com/android/documentsui/model/DocumentInfoTest.java b/tests/src/com/android/documentsui/base/DocumentInfoTest.java index 2481dc39e..12b4165ca 100644 --- a/tests/src/com/android/documentsui/model/DocumentInfoTest.java +++ b/tests/src/com/android/documentsui/base/DocumentInfoTest.java @@ -14,11 +14,13 @@ * limitations under the License. */ -package com.android.documentsui.model; +package com.android.documentsui.base; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; +import com.android.documentsui.base.DocumentInfo; + @SmallTest public class DocumentInfoTest extends AndroidTestCase { diff --git a/tests/src/com/android/documentsui/bots/Bots.java b/tests/src/com/android/documentsui/bots/Bots.java index d5aafa84b..5a5c1bac6 100644 --- a/tests/src/com/android/documentsui/bots/Bots.java +++ b/tests/src/com/android/documentsui/bots/Bots.java @@ -38,14 +38,14 @@ public final class Bots { public final DirectoryListBot directory; public final SortHeaderBot sortHeader; public final KeyboardBot keyboard; - public final RootsListBot roots; + public final SidebarBot roots; public final SearchBot search; public final UiBot main; public Bots(UiDevice device, Context context, int timeout) { main = new UiBot(device, context, TIMEOUT); breadcrumb = new BreadBot(device, context, TIMEOUT, main); - roots = new RootsListBot(device, context, TIMEOUT); + roots = new SidebarBot(device, context, TIMEOUT); directory = new DirectoryListBot(device, context, TIMEOUT); sortHeader = new SortHeaderBot(device, context, TIMEOUT); keyboard = new KeyboardBot(device, context, TIMEOUT); diff --git a/tests/src/com/android/documentsui/bots/BreadBot.java b/tests/src/com/android/documentsui/bots/BreadBot.java index 2683e6c3f..92653d467 100644 --- a/tests/src/com/android/documentsui/bots/BreadBot.java +++ b/tests/src/com/android/documentsui/bots/BreadBot.java @@ -36,7 +36,7 @@ import android.view.View; import com.android.documentsui.DragOverTextView; import com.android.documentsui.DropdownBreadcrumb; import com.android.documentsui.R; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import org.hamcrest.Description; import org.hamcrest.Matcher; diff --git a/tests/src/com/android/documentsui/bots/RootsListBot.java b/tests/src/com/android/documentsui/bots/SidebarBot.java index 10a8c57d0..ae899d3c9 100644 --- a/tests/src/com/android/documentsui/bots/RootsListBot.java +++ b/tests/src/com/android/documentsui/bots/SidebarBot.java @@ -42,11 +42,11 @@ import junit.framework.Assert; * A test helper class that provides support for controlling and asserting against * the roots list drawer. */ -public class RootsListBot extends Bots.BaseBot { +public class SidebarBot extends Bots.BaseBot { private static final String ROOTS_LIST_ID = "com.android.documentsui:id/roots_list"; private static final String TAG = "RootsListBot"; - public RootsListBot(UiDevice device, Context context, int timeout) { + public SidebarBot(UiDevice device, Context context, int timeout) { super(device, context, timeout); } diff --git a/tests/src/com/android/documentsui/dirlist/ModelTest.java b/tests/src/com/android/documentsui/dirlist/ModelTest.java index f356aa941..914e6c485 100644 --- a/tests/src/com/android/documentsui/dirlist/ModelTest.java +++ b/tests/src/com/android/documentsui/dirlist/ModelTest.java @@ -29,7 +29,7 @@ import android.test.suitebuilder.annotation.SmallTest; import com.android.documentsui.DirectoryResult; import com.android.documentsui.RootCursorWrapper; import com.android.documentsui.Shared; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.sorting.SortDimension; import com.android.documentsui.sorting.SortModel; import com.android.documentsui.testing.SortModels; diff --git a/tests/src/com/android/documentsui/dirlist/TestContentProvider.java b/tests/src/com/android/documentsui/dirlist/TestContentProvider.java index c8d424f10..6d58dcffd 100644 --- a/tests/src/com/android/documentsui/dirlist/TestContentProvider.java +++ b/tests/src/com/android/documentsui/dirlist/TestContentProvider.java @@ -21,7 +21,7 @@ import android.os.Bundle; import android.provider.DocumentsContract; import android.test.mock.MockContentProvider; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import java.util.ArrayList; import java.util.List; diff --git a/tests/src/com/android/documentsui/ActivityTest.java b/tests/src/com/android/documentsui/functional/ActivityTest.java index 1400fe6ac..920b1465d 100644 --- a/tests/src/com/android/documentsui/ActivityTest.java +++ b/tests/src/com/android/documentsui/functional/ActivityTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import static com.android.documentsui.StubProvider.DEFAULT_AUTHORITY; import static com.android.documentsui.StubProvider.ROOT_0_ID; @@ -33,9 +33,10 @@ import android.support.test.uiautomator.UiObjectNotFoundException; import android.test.ActivityInstrumentationTestCase2; import android.view.MotionEvent; +import com.android.documentsui.DocumentsProviderHelper; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.bots.Bots; import com.android.documentsui.bots.UiBot; -import com.android.documentsui.model.RootInfo; import javax.annotation.Nullable; @@ -64,9 +65,9 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen public RootInfo rootDir0; public RootInfo rootDir1; - ContentResolver mResolver; - DocumentsProviderHelper mDocsHelper; - ContentProviderClient mClient; + protected ContentResolver mResolver; + protected DocumentsProviderHelper mDocsHelper; + protected ContentProviderClient mClient; public ActivityTest(Class<T> activityClass) { super(activityClass); @@ -133,7 +134,7 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen super.tearDown(); } - void launchActivity() { + private void launchActivity() { final Intent intent = context.getPackageManager().getLaunchIntentForPackage( UiBot.TARGET_PKG); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); @@ -144,12 +145,12 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen getActivity(); // Launch the activity. } - void resetStorage() throws RemoteException { + protected void resetStorage() throws RemoteException { mClient.call("clear", null, null); device.waitForIdle(); } - void initTestFiles() throws RemoteException { + protected void initTestFiles() throws RemoteException { mDocsHelper.createFolder(rootDir0, dirName1); mDocsHelper.createDocument(rootDir0, "text/plain", fileName1); mDocsHelper.createDocument(rootDir0, "image/png", fileName2); diff --git a/tests/src/com/android/documentsui/FileManagementUiTest.java b/tests/src/com/android/documentsui/functional/FileManagementUiTest.java index 7beeea33e..9ad6d1060 100644 --- a/tests/src/com/android/documentsui/FileManagementUiTest.java +++ b/tests/src/com/android/documentsui/functional/FileManagementUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import static com.android.documentsui.StubProvider.ROOT_0_ID; import static com.android.documentsui.StubProvider.ROOT_1_ID; @@ -25,6 +25,8 @@ import android.support.test.filters.Suppress; import android.test.suitebuilder.annotation.LargeTest; import android.view.KeyEvent; +import com.android.documentsui.R; +import com.android.documentsui.R.id; import com.android.documentsui.manager.ManageActivity; @LargeTest diff --git a/tests/src/com/android/documentsui/FilesActivityDefaultsUiTest.java b/tests/src/com/android/documentsui/functional/FilesActivityDefaultsUiTest.java index 6ad7e11d0..d750b865d 100644 --- a/tests/src/com/android/documentsui/FilesActivityDefaultsUiTest.java +++ b/tests/src/com/android/documentsui/functional/FilesActivityDefaultsUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import static com.android.documentsui.StubProvider.ROOT_0_ID; import static com.android.documentsui.StubProvider.ROOT_1_ID; @@ -23,8 +23,9 @@ import android.content.Intent; import android.provider.DocumentsContract; import android.test.suitebuilder.annotation.LargeTest; +import com.android.documentsui.Shared; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.manager.ManageActivity; -import com.android.documentsui.model.RootInfo; @LargeTest public class FilesActivityDefaultsUiTest extends ActivityTest<ManageActivity> { diff --git a/tests/src/com/android/documentsui/FilesActivityUiTest.java b/tests/src/com/android/documentsui/functional/FilesActivityUiTest.java index 4454e208b..d2a670782 100644 --- a/tests/src/com/android/documentsui/FilesActivityUiTest.java +++ b/tests/src/com/android/documentsui/functional/FilesActivityUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import android.net.Uri; import android.os.RemoteException; diff --git a/tests/src/com/android/documentsui/IntegratedDownloadsUiTest.java b/tests/src/com/android/documentsui/functional/IntegratedDownloadsUiTest.java index 5462461b8..dd92c4163 100644 --- a/tests/src/com/android/documentsui/IntegratedDownloadsUiTest.java +++ b/tests/src/com/android/documentsui/functional/IntegratedDownloadsUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import android.app.DownloadManager; import android.app.DownloadManager.Request; diff --git a/tests/src/com/android/documentsui/KeyboardNavigationUiTest.java b/tests/src/com/android/documentsui/functional/KeyboardNavigationUiTest.java index c45eaed9a..1dbf60223 100644 --- a/tests/src/com/android/documentsui/KeyboardNavigationUiTest.java +++ b/tests/src/com/android/documentsui/functional/KeyboardNavigationUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import android.net.Uri; import android.os.RemoteException; diff --git a/tests/src/com/android/documentsui/RenameDocumentUiTest.java b/tests/src/com/android/documentsui/functional/RenameDocumentUiTest.java index 3251965d5..f1ba6916f 100644 --- a/tests/src/com/android/documentsui/RenameDocumentUiTest.java +++ b/tests/src/com/android/documentsui/functional/RenameDocumentUiTest.java @@ -14,11 +14,13 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import android.support.test.uiautomator.UiObjectNotFoundException; import android.test.suitebuilder.annotation.LargeTest; +import com.android.documentsui.R; +import com.android.documentsui.R.string; import com.android.documentsui.manager.ManageActivity; @LargeTest diff --git a/tests/src/com/android/documentsui/SearchViewUiTest.java b/tests/src/com/android/documentsui/functional/SearchViewUiTest.java index 39c438397..8f79cdbbd 100644 --- a/tests/src/com/android/documentsui/SearchViewUiTest.java +++ b/tests/src/com/android/documentsui/functional/SearchViewUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import static com.android.documentsui.StubProvider.ROOT_0_ID; import static com.android.documentsui.StubProvider.ROOT_1_ID; diff --git a/tests/src/com/android/documentsui/RootsUiTest.java b/tests/src/com/android/documentsui/functional/SidebarUiTest.java index 98691dbd0..28cac95e4 100644 --- a/tests/src/com/android/documentsui/RootsUiTest.java +++ b/tests/src/com/android/documentsui/functional/SidebarUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import static com.android.documentsui.StubProvider.ROOT_0_ID; import static com.android.documentsui.StubProvider.ROOT_1_ID; @@ -25,11 +25,11 @@ import android.test.suitebuilder.annotation.Suppress; import com.android.documentsui.manager.ManageActivity; @LargeTest -public class RootsUiTest extends ActivityTest<ManageActivity> { +public class SidebarUiTest extends ActivityTest<ManageActivity> { private static final String TAG = "RootUiTest"; - public RootsUiTest() { + public SidebarUiTest() { super(ManageActivity.class); } diff --git a/tests/src/com/android/documentsui/SortDocumentUiTest.java b/tests/src/com/android/documentsui/functional/SortDocumentUiTest.java index a20292597..0a1be5863 100644 --- a/tests/src/com/android/documentsui/SortDocumentUiTest.java +++ b/tests/src/com/android/documentsui/functional/SortDocumentUiTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui; +package com.android.documentsui.functional; import android.net.Uri; import android.support.test.filters.LargeTest; diff --git a/tests/src/com/android/documentsui/services/AbstractCopyJobTest.java b/tests/src/com/android/documentsui/services/AbstractCopyJobTest.java index 2560f2c94..6b52fdd16 100644 --- a/tests/src/com/android/documentsui/services/AbstractCopyJobTest.java +++ b/tests/src/com/android/documentsui/services/AbstractCopyJobTest.java @@ -22,7 +22,7 @@ import android.net.Uri; import android.provider.DocumentsContract; import android.test.suitebuilder.annotation.MediumTest; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.services.FileOperationService.OpType; import java.util.List; diff --git a/tests/src/com/android/documentsui/services/AbstractJobTest.java b/tests/src/com/android/documentsui/services/AbstractJobTest.java index 6e4e534e0..c2034d24f 100644 --- a/tests/src/com/android/documentsui/services/AbstractJobTest.java +++ b/tests/src/com/android/documentsui/services/AbstractJobTest.java @@ -30,9 +30,9 @@ import android.test.suitebuilder.annotation.MediumTest; import com.android.documentsui.clipping.UrisSupplier; import com.android.documentsui.DocumentsProviderHelper; import com.android.documentsui.StubProvider; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; -import com.android.documentsui.model.RootInfo; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; +import com.android.documentsui.base.RootInfo; import com.android.documentsui.services.FileOperationService.OpType; import com.android.documentsui.testing.DocsProviders; diff --git a/tests/src/com/android/documentsui/services/FileOperationServiceTest.java b/tests/src/com/android/documentsui/services/FileOperationServiceTest.java index d6bbe5abf..306be3ca1 100644 --- a/tests/src/com/android/documentsui/services/FileOperationServiceTest.java +++ b/tests/src/com/android/documentsui/services/FileOperationServiceTest.java @@ -32,9 +32,9 @@ import android.os.Parcelable; import android.test.ServiceTestCase; import android.test.suitebuilder.annotation.MediumTest; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.clipping.UrisSupplier; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; import com.android.documentsui.testing.DocsProviders; import com.android.documentsui.testing.TestHandler; import com.android.documentsui.testing.TestScheduledExecutorService; diff --git a/tests/src/com/android/documentsui/services/TestJob.java b/tests/src/com/android/documentsui/services/TestJob.java index 1fbcf377f..8198a685c 100644 --- a/tests/src/com/android/documentsui/services/TestJob.java +++ b/tests/src/com/android/documentsui/services/TestJob.java @@ -25,8 +25,8 @@ import android.content.Context; import com.android.documentsui.clipping.UrisSupplier; import com.android.documentsui.R; -import com.android.documentsui.model.DocumentInfo; -import com.android.documentsui.model.DocumentStack; +import com.android.documentsui.base.DocumentInfo; +import com.android.documentsui.base.DocumentStack; import com.android.documentsui.services.FileOperationService.OpType; import java.text.NumberFormat; diff --git a/tests/src/com/android/documentsui/services/TestJobListener.java b/tests/src/com/android/documentsui/services/TestJobListener.java index e9c68c6ab..3488650f4 100644 --- a/tests/src/com/android/documentsui/services/TestJobListener.java +++ b/tests/src/com/android/documentsui/services/TestJobListener.java @@ -21,7 +21,7 @@ import static org.junit.Assert.fail; import android.support.annotation.Nullable; -import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.base.DocumentInfo; import java.util.ArrayList; import java.util.List; |