| /* |
| * Copyright (C) 2011 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.monkeyrunner; |
| |
| import com.google.common.base.Preconditions; |
| |
| import com.android.chimpchat.core.IChimpView; |
| |
| import com.android.monkeyrunner.doc.MonkeyRunnerExported; |
| |
| import org.python.core.ArgParser; |
| import org.python.core.ClassDictInit; |
| import org.python.core.PyBoolean; |
| import org.python.core.PyInteger; |
| import org.python.core.PyList; |
| import org.python.core.PyObject; |
| import org.python.core.PyString; |
| |
| import java.util.List; |
| import java.util.logging.Logger; |
| |
| /* |
| * Jython wrapper for the ChimpView class |
| */ |
| @MonkeyRunnerExported(doc = "Represents a view object.") |
| public class MonkeyView extends PyObject implements ClassDictInit { |
| private static final Logger LOG = Logger.getLogger(MonkeyView.class.getName()); |
| |
| private IChimpView impl; |
| |
| public static void classDictInit(PyObject dict) { |
| JythonUtils.convertDocAnnotationsForClass(MonkeyView.class, dict); |
| } |
| |
| public MonkeyView(IChimpView impl) { |
| this.impl = impl; |
| } |
| |
| @MonkeyRunnerExported(doc = "Get the checked status of the view", |
| returns = "A boolean value for whether the item is checked or not") |
| public PyBoolean getChecked(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyBoolean(impl.getChecked()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the class name of the view", |
| returns = "The class name of the view as a string") |
| public PyString getViewClass(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyString(impl.getViewClass()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the text contained by the view", |
| returns = "The text contained in the view") |
| public PyString getText(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyString(impl.getText()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the location of the view in the form of a MonkeyRect", |
| returns = "The location of the view as a MonkeyRect object") |
| public MonkeyRect getLocation(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new MonkeyRect(impl.getLocation()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the enabled status of the view", |
| returns = "The enabled status of the view as a boolean") |
| public PyBoolean getEnabled(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyBoolean(impl.getEnabled()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the selected status of the view", |
| returns = "The selected status of the view as a boolean") |
| public PyBoolean getSelected(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyBoolean(impl.getSelected()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Sets the selected status of the view", |
| args = {"selected"}, |
| argDocs = { "The boolean value to set selected to" }) |
| public void setSelected(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| |
| PyBoolean pySelected = (PyBoolean) ap.getPyObject(0, new PyBoolean(false)); |
| boolean selected = (Boolean) pySelected.__tojava__(Boolean.class); |
| impl.setSelected(selected); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the focused status of the view", |
| returns = "The focused status of the view as a boolean") |
| public PyBoolean getFocused(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| return new PyBoolean(impl.getFocused()); |
| } |
| |
| @MonkeyRunnerExported(doc = "Sets the focused status of the view", |
| args = {"focused"}, |
| argDocs = { "The boolean value to set focused to" }) |
| public void setFocused(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| |
| PyBoolean pyFocused = (PyBoolean) ap.getPyObject(0, new PyBoolean(false)); |
| boolean focused = (Boolean) pyFocused.__tojava__(Boolean.class); |
| impl.setFocused(focused); |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the parent of the current view", |
| returns = "The parent of the view as a MonkeyView object") |
| public MonkeyView getParent(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| MonkeyView parent = new MonkeyView(impl.getParent()); |
| return parent; |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the children of the current view", |
| returns = "The children of the view as a list of MonkeyView objects") |
| public PyList getChildren(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| List<IChimpView> chimpChildren = impl.getChildren(); |
| PyList children = new PyList(); |
| for (IChimpView child : chimpChildren) { |
| children.append(new MonkeyView(child)); |
| } |
| return children; |
| } |
| |
| @MonkeyRunnerExported(doc = "Returns the accessibility ids of the current view", |
| returns = "The accessibility ids of the view as a list of ints") |
| public PyList getAccessibilityIds(PyObject[] args, String[] kws) { |
| ArgParser ap = JythonUtils.createArgParser(args, kws); |
| Preconditions.checkNotNull(ap); |
| int[] ids = impl.getAccessibilityIds(); |
| PyList pyIds = new PyList(); |
| for (int i = 0; i < ids.length; i++) { |
| pyIds.append(new PyInteger(ids[i])); |
| } |
| return pyIds; |
| } |
| |
| } |