1 // Copyright 2017 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 5 package org.chromium.chrome.browser.firstrun; 6 7 import android.os.Bundle; 8 9 import org.chromium.base.test.util.CallbackHelper; 10 11 /** Records when the FirstRunActivity has progressed through various states. */ 12 public class FirstRunActivityTestObserver implements FirstRunActivity.FirstRunActivityObserver { 13 public final CallbackHelper flowIsKnownCallback = new CallbackHelper(); 14 public final CallbackHelper acceptTermsOfServiceCallback = new CallbackHelper(); 15 public final CallbackHelper jumpToPageCallback = new CallbackHelper(); 16 public final CallbackHelper updateCachedEngineCallback = new CallbackHelper(); 17 public final CallbackHelper abortFirstRunExperienceCallback = new CallbackHelper(); 18 public final CallbackHelper exitFirstRunCallback = new CallbackHelper(); 19 20 public Bundle freProperties; 21 22 @Override onFlowIsKnown(Bundle freProperties)23 public void onFlowIsKnown(Bundle freProperties) { 24 this.freProperties = freProperties; 25 flowIsKnownCallback.notifyCalled(); 26 } 27 28 @Override onAcceptTermsOfService()29 public void onAcceptTermsOfService() { 30 acceptTermsOfServiceCallback.notifyCalled(); 31 } 32 33 @Override onJumpToPage(int position)34 public void onJumpToPage(int position) { 35 jumpToPageCallback.notifyCalled(); 36 } 37 38 @Override onUpdateCachedEngineName()39 public void onUpdateCachedEngineName() { 40 updateCachedEngineCallback.notifyCalled(); 41 } 42 43 @Override onAbortFirstRunExperience()44 public void onAbortFirstRunExperience() { 45 abortFirstRunExperienceCallback.notifyCalled(); 46 } 47 48 @Override onExitFirstRun()49 public void onExitFirstRun() { 50 exitFirstRunCallback.notifyCalled(); 51 } 52 }