summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/layout/document_inspector_fragment.xml1
-rw-r--r--src/com/android/documentsui/AbstractActionHandler.java2
-rw-r--r--src/com/android/documentsui/ActionHandler.java2
-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.java4
-rw-r--r--src/com/android/documentsui/files/ActionHandler.java11
-rw-r--r--src/com/android/documentsui/files/FilesActivity.java1
-rw-r--r--src/com/android/documentsui/inspector/DocumentInspectorActivity.java17
-rw-r--r--src/com/android/documentsui/inspector/DocumentInspectorFragment.java12
-rw-r--r--src/com/android/documentsui/picker/PickActivity.java4
-rw-r--r--tests/common/com/android/documentsui/bots/UiBot.java8
-rw-r--r--tests/functional/com/android/documentsui/FilesActivityUiTest.java14
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