diff options
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rw-r--r-- | res/layout/document_inspector_fragment.xml | 1 | ||||
-rw-r--r-- | src/com/android/documentsui/AbstractActionHandler.java | 2 | ||||
-rw-r--r-- | src/com/android/documentsui/ActionHandler.java | 2 | ||||
-rw-r--r-- | src/com/android/documentsui/ShortcutsUpdater.java (renamed from src/com/android/documentsui/files/ShortcutsUpdater.java) | 3 | ||||
-rw-r--r-- | src/com/android/documentsui/dirlist/DirectoryFragment.java | 4 | ||||
-rw-r--r-- | src/com/android/documentsui/files/ActionHandler.java | 11 | ||||
-rw-r--r-- | src/com/android/documentsui/files/FilesActivity.java | 1 | ||||
-rw-r--r-- | src/com/android/documentsui/inspector/DocumentInspectorActivity.java | 17 | ||||
-rw-r--r-- | src/com/android/documentsui/inspector/DocumentInspectorFragment.java | 12 | ||||
-rw-r--r-- | src/com/android/documentsui/picker/PickActivity.java | 4 | ||||
-rw-r--r-- | tests/common/com/android/documentsui/bots/UiBot.java | 8 | ||||
-rw-r--r-- | tests/functional/com/android/documentsui/FilesActivityUiTest.java | 14 |
13 files changed, 53 insertions, 28 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index ae751db88..36b15900c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -57,7 +57,7 @@ </activity> <activity - android:enabled="false" + android:enabled="@bool/feature_inspector" android:name=".inspector.DocumentInspectorActivity" android:label="Properties" android:icon="@drawable/launcher_icon" diff --git a/res/layout/document_inspector_fragment.xml b/res/layout/document_inspector_fragment.xml index 6a6329549..e968b168f 100644 --- a/res/layout/document_inspector_fragment.xml +++ b/res/layout/document_inspector_fragment.xml @@ -23,6 +23,5 @@ android:id="@+id/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Hello World!" android:textSize="20dp" /> </FrameLayout> diff --git a/src/com/android/documentsui/AbstractActionHandler.java b/src/com/android/documentsui/AbstractActionHandler.java index 9c1a132ef..60f652106 100644 --- a/src/com/android/documentsui/AbstractActionHandler.java +++ b/src/com/android/documentsui/AbstractActionHandler.java @@ -230,7 +230,7 @@ public abstract class AbstractActionHandler<T extends Activity & CommonAddons> throw new UnsupportedOperationException("Can't open document."); } - public void showInspector(Selection selection, Context context) { + public void showInspector(DocumentInfo doc) { throw new UnsupportedOperationException("Can't open properties."); } diff --git a/src/com/android/documentsui/ActionHandler.java b/src/com/android/documentsui/ActionHandler.java index 0a14b04ef..6b0e077e6 100644 --- a/src/com/android/documentsui/ActionHandler.java +++ b/src/com/android/documentsui/ActionHandler.java @@ -103,7 +103,7 @@ public interface ActionHandler { void showCreateDirectoryDialog(); - void showInspector(Selection selection, Context context); + void showInspector(DocumentInfo doc); @Nullable DocumentInfo renameDocument(String name, DocumentInfo document); diff --git a/src/com/android/documentsui/files/ShortcutsUpdater.java b/src/com/android/documentsui/ShortcutsUpdater.java index e53c62785..5fcdf2765 100644 --- a/src/com/android/documentsui/files/ShortcutsUpdater.java +++ b/src/com/android/documentsui/ShortcutsUpdater.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.documentsui.files; +package com.android.documentsui; import android.annotation.DrawableRes; import android.content.Context; @@ -25,6 +25,7 @@ import android.graphics.drawable.Icon; import com.android.documentsui.R; import com.android.documentsui.base.Providers; import com.android.documentsui.base.RootInfo; +import com.android.documentsui.files.FilesActivity; import com.android.documentsui.prefs.ScopedPreferences; import java.util.ArrayList; diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java index d1d215566..9096f63f9 100644 --- a/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -671,7 +671,9 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On case R.id.action_menu_inspector: mActionModeController.finishActionMode(); - mActions.showInspector(selection, getContext()); + assert(selection.size() == 1); + DocumentInfo doc = mModel.getDocuments(selection).get(0); + mActions.showInspector(doc); return true; case R.id.dir_menu_cut_to_clipboard: diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java index 71002ec77..2757d5d3e 100644 --- a/src/com/android/documentsui/files/ActionHandler.java +++ b/src/com/android/documentsui/files/ActionHandler.java @@ -58,6 +58,7 @@ import com.android.documentsui.clipping.UrisSupplier; import com.android.documentsui.dirlist.AnimationView; import com.android.documentsui.dirlist.DocumentDetails; import com.android.documentsui.files.ActionHandler.Addons; +import com.android.documentsui.inspector.DocumentInspectorActivity; import com.android.documentsui.queries.SearchViewManager; import com.android.documentsui.roots.ProvidersAccess; import com.android.documentsui.selection.Selection; @@ -674,12 +675,10 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa } @Override - public void showInspector(Selection selected, Context context) { - assert(selected.size() == 1); - Intent intent = new Intent(mActivity, FilesActivity.class); - DocumentInfo selectedDoc = mModel.getDocuments(selected).get(0); - intent.putExtra(Intent.ACTION_VIEW, selectedDoc.derivedUri); - Metrics.logUserAction(context, Metrics.USER_ACTION_INSPECTOR); + public void showInspector(DocumentInfo doc) { + Metrics.logUserAction(mActivity, Metrics.USER_ACTION_INSPECTOR); + Intent intent = new Intent(mActivity, DocumentInspectorActivity.class); + intent.setData(doc.derivedUri); mActivity.startActivity(intent); } diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java index 9085dfbe3..dd9d9db71 100644 --- a/src/com/android/documentsui/files/FilesActivity.java +++ b/src/com/android/documentsui/files/FilesActivity.java @@ -41,6 +41,7 @@ import com.android.documentsui.OperationDialogFragment.DialogType; import com.android.documentsui.ProviderExecutor; import com.android.documentsui.R; import com.android.documentsui.SharedInputHandler; +import com.android.documentsui.ShortcutsUpdater; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.Features; import com.android.documentsui.base.RootInfo; diff --git a/src/com/android/documentsui/inspector/DocumentInspectorActivity.java b/src/com/android/documentsui/inspector/DocumentInspectorActivity.java index a1b81e742..8708d0147 100644 --- a/src/com/android/documentsui/inspector/DocumentInspectorActivity.java +++ b/src/com/android/documentsui/inspector/DocumentInspectorActivity.java @@ -23,18 +23,19 @@ import com.android.documentsui.R; public class DocumentInspectorActivity extends Activity { - DocumentInspectorFragment mFragment; + private DocumentInspectorFragment mFragment; @Override public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.document_inspector_activity); + super.onCreate(savedInstanceState); - Toolbar toolbar = findViewById(R.id.toolbar); - setActionBar(toolbar); + setContentView(R.layout.document_inspector_activity); - FragmentManager fragmentManager = getFragmentManager(); - mFragment = (DocumentInspectorFragment) fragmentManager.findFragmentById( - R.id.properties_fragment); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setActionBar(toolbar); + + FragmentManager fragmentManager = getFragmentManager(); + mFragment = (DocumentInspectorFragment) fragmentManager.findFragmentById( + R.id.properties_fragment); } }
\ No newline at end of file diff --git a/src/com/android/documentsui/inspector/DocumentInspectorFragment.java b/src/com/android/documentsui/inspector/DocumentInspectorFragment.java index 3f8441e12..bd21a733c 100644 --- a/src/com/android/documentsui/inspector/DocumentInspectorFragment.java +++ b/src/com/android/documentsui/inspector/DocumentInspectorFragment.java @@ -24,9 +24,9 @@ import com.android.documentsui.R; public class DocumentInspectorFragment extends Fragment { - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - return inflater.inflate(R.layout.document_inspector_fragment, container, false); - } -}
\ No newline at end of file + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + return inflater.inflate(R.layout.document_inspector_fragment, container, false); + } +} diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java index e1beef1c3..0acbb60ce 100644 --- a/src/com/android/documentsui/picker/PickActivity.java +++ b/src/com/android/documentsui/picker/PickActivity.java @@ -48,7 +48,6 @@ import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.base.State; import com.android.documentsui.dirlist.DirectoryFragment; -import com.android.documentsui.files.ShortcutsUpdater; import com.android.documentsui.prefs.ScopedPreferences; import com.android.documentsui.selection.SelectionManager; import com.android.documentsui.services.FileOperationService; @@ -56,6 +55,7 @@ import com.android.documentsui.sidebar.RootsFragment; import com.android.documentsui.ui.DialogController; import com.android.documentsui.ui.MessageBuilder; +import java.util.Collection; import java.util.List; public class PickActivity extends BaseActivity implements ActionHandler.Addons { @@ -86,7 +86,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { new MessageBuilder(this), DialogController.create(features, this, null), DocumentsApplication.getFileTypeLookup(this), - new ShortcutsUpdater(this, prefs)::update); + (Collection<RootInfo> roots) -> {}); super.onCreate(icicle); diff --git a/tests/common/com/android/documentsui/bots/UiBot.java b/tests/common/com/android/documentsui/bots/UiBot.java index 93c53e316..1389a142f 100644 --- a/tests/common/com/android/documentsui/bots/UiBot.java +++ b/tests/common/com/android/documentsui/bots/UiBot.java @@ -143,6 +143,14 @@ public class UiBot extends Bots.BaseBot { } } + public void clickActionItem(String label) throws UiObjectNotFoundException { + if (!waitForActionModeBarToAppear()) { + throw new UiObjectNotFoundException("ActionMode bar not found"); + } + clickActionbarOverflowItem(label); + mDevice.waitForIdle(); + } + public void switchToGridMode() { final UiObject2 gridMode = menuGridMode(); if (gridMode != null) { diff --git a/tests/functional/com/android/documentsui/FilesActivityUiTest.java b/tests/functional/com/android/documentsui/FilesActivityUiTest.java index 95bdd8500..1f7afaf8a 100644 --- a/tests/functional/com/android/documentsui/FilesActivityUiTest.java +++ b/tests/functional/com/android/documentsui/FilesActivityUiTest.java @@ -16,11 +16,14 @@ package com.android.documentsui; +import android.app.Instrumentation; import android.net.Uri; import android.os.RemoteException; import android.support.test.filters.LargeTest; +import android.support.test.uiautomator.UiObjectNotFoundException; import com.android.documentsui.files.FilesActivity; +import com.android.documentsui.inspector.DocumentInspectorActivity; @LargeTest public class FilesActivityUiTest extends ActivityTest<FilesActivity> { @@ -109,6 +112,17 @@ public class FilesActivityUiTest extends ActivityTest<FilesActivity> { } } + public void testNavigationToInspector() throws UiObjectNotFoundException { + if(!features.isInspectorEnabled()) { + return; + } + Instrumentation.ActivityMonitor monitor = new Instrumentation.ActivityMonitor( + DocumentInspectorActivity.class.getName(), null, false); + bots.directory.selectDocument("file0.log"); + bots.main.clickActionItem("Properties"); + monitor.waitForActivityWithTimeout(TIMEOUT); + } + public void testRootChange_UpdatesSortHeader() throws Exception { // switch to separate display modes for two separate roots. Each |