1aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu/*
2aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * Copyright (C) 2012 The Android Open Source Project
3aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu *
4aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * Licensed under the Apache License, Version 2.0 (the "License");
5aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * you may not use this file except in compliance with the License.
6aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * You may obtain a copy of the License at
7aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu *
8aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu *      http://www.apache.org/licenses/LICENSE-2.0
9aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu *
10aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * Unless required by applicable law or agreed to in writing, software
11aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * distributed under the License is distributed on an "AS IS" BASIS,
12aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * See the License for the specific language governing permissions and
14aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu * limitations under the License.
15aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu */
16aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
17aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhupackage com.android.uiautomator.actions;
18aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
19aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhuimport com.android.uiautomator.OpenDialog;
204075f17dc5615c8f453452e80633946530d6a91bGuang Zhuimport com.android.uiautomator.UiAutomatorModel;
21aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
22aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhuimport org.eclipse.jface.action.Action;
23aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhuimport org.eclipse.jface.resource.ImageDescriptor;
24aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhuimport org.eclipse.jface.window.ApplicationWindow;
25aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
26aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhupublic class OpenFilesAction extends Action {
27aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
28aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    ApplicationWindow mWindow;
29aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
30aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    public OpenFilesAction(ApplicationWindow window) {
314075f17dc5615c8f453452e80633946530d6a91bGuang Zhu        super("&Open");
32aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu        mWindow = window;
33aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    }
34aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
35aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    @Override
36aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    public ImageDescriptor getImageDescriptor() {
37aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu        return ImageHelper.loadImageDescriptorFromResource("images/open-folder.png");
38aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    }
39aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu
40aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    @Override
41aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    public void run() {
42aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu        OpenDialog d = new OpenDialog(mWindow.getShell());
43aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu        if (d.open() == OpenDialog.OK) {
44aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu            UiAutomatorModel.getModel().loadScreenshotAndXmlDump(
45aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu                    d.getScreenshotFile(), d.getXmlDumpFile());
46aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu        }
47aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu    }
48aecdc4a41f1f2f3e76e05d6549df75359f8397c3Guang Zhu}
49