121a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin/* 221a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * Copyright (C) 2013 DroidDriver committers 321a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * 421a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * Licensed under the Apache License, Version 2.0 (the "License"); 521a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * you may not use this file except in compliance with the License. 621a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * You may obtain a copy of the License at 721a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * 821a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * http://www.apache.org/licenses/LICENSE-2.0 921a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * 1021a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * Unless required by applicable law or agreed to in writing, software 1121a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * distributed under the License is distributed on an "AS IS" BASIS, 1221a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1321a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * See the License for the specific language governing permissions and 1421a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin * limitations under the License. 1521a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin */ 1621a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin 1774676fdd3c8a9e599eddd13bea56898674d9916aKevin Jinpackage com.google.android.droiddriver.validators; 1821a0001e2426644dd68e6140b5873ebaeafcc3dcKevin Jin 1974676fdd3c8a9e599eddd13bea56898674d9916aKevin Jinimport com.google.android.droiddriver.UiElement; 20cf1203b8078bed407ed0035c201746fae136439aKevin Jinimport com.google.android.droiddriver.actions.Action; 21a738fe74f57f48dde2dd7a28479bab3f5441dadbKevin Jin 2274676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin/** 2374676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin * Validates visibility. 2474676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin */ 2574676fdd3c8a9e599eddd13bea56898674d9916aKevin Jinpublic class VisibilityValidator implements Validator { 2674676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin @Override 27cf1203b8078bed407ed0035c201746fae136439aKevin Jin public boolean isApplicable(UiElement element, Action action) { 28cf1203b8078bed407ed0035c201746fae136439aKevin Jin return true; 29cf1203b8078bed407ed0035c201746fae136439aKevin Jin } 30cf1203b8078bed407ed0035c201746fae136439aKevin Jin 31cf1203b8078bed407ed0035c201746fae136439aKevin Jin @Override 32cf1203b8078bed407ed0035c201746fae136439aKevin Jin public String validate(UiElement element, Action action) { 33cf1203b8078bed407ed0035c201746fae136439aKevin Jin return element.isVisible() ? null : "invisible"; 3474676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin } 3574676fdd3c8a9e599eddd13bea56898674d9916aKevin Jin} 36