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