OrientationChangeObserverCriteria.java revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5package org.chromium.content.browser.test.util; 6 7/** 8 * Criteria used to know when an orientation change happens. 9 */ 10public class OrientationChangeObserverCriteria implements Criteria { 11 12 private final MockOrientationObserver mObserver; 13 private final int mTarget; 14 private final boolean mCheckTarget; 15 16 // Constructor to be used when the criteria is that there is an 17 // orientation change but the new orientation value does not matter. 18 public OrientationChangeObserverCriteria(MockOrientationObserver observer) { 19 mObserver = observer; 20 mObserver.mHasChanged = false; 21 22 mCheckTarget = false; 23 mTarget = -1; 24 } 25 26 // Constructor to be used when the criteria cares about a change 27 // happening to a specific orientation value. 28 public OrientationChangeObserverCriteria(MockOrientationObserver observer, int target) { 29 mObserver = observer; 30 mObserver.mHasChanged = false; 31 32 mTarget = target; 33 mCheckTarget = true; 34 } 35 36 @Override 37 public boolean isSatisfied() { 38 if (!mObserver.mHasChanged) 39 return false; 40 41 return !mCheckTarget || mObserver.mOrientation == mTarget; 42 } 43} 44