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 }