blob: 88e3551131f89c82b80e5941fe2ab59ba7b4d201 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.base.test.util;
import org.chromium.base.ThreadUtils;
import org.chromium.base.metrics.RecordUserAction;
import java.util.ArrayList;
import java.util.List;
/**
* A util class that records UserActions.
*/
public class UserActionTester implements RecordUserAction.UserActionCallback {
private List<String> mActions;
public UserActionTester() {
mActions = new ArrayList<>();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
RecordUserAction.setActionCallbackForTesting(UserActionTester.this);
}
});
}
public void tearDown() {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
RecordUserAction.removeActionCallbackForTesting();
}
});
}
@Override
public void onActionRecorded(String action) {
mActions.add(action);
}
public List<String> getActions() {
return mActions;
}
@Override
public String toString() {
return "Actions: " + mActions.toString();
}
}